@bicon/mcp-composer 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +88 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -12,7 +12,7 @@ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"
|
|
|
12
12
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
13
13
|
|
|
14
14
|
// src/version.ts
|
|
15
|
-
var COMPOSER_VERSION = true ? "0.
|
|
15
|
+
var COMPOSER_VERSION = true ? "0.9.0" : readPackageVersion();
|
|
16
16
|
|
|
17
17
|
// ../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.js
|
|
18
18
|
var external_exports = {};
|
|
@@ -4271,6 +4271,7 @@ var listSnapshotsResponseInitiativesItemBusinessUnitMax = 200;
|
|
|
4271
4271
|
var listSnapshotsResponseInitiativesItemOwnerMax = 200;
|
|
4272
4272
|
var listSnapshotsResponseInitiativesItemDescriptionMax = 1e4;
|
|
4273
4273
|
var listSnapshotsResponseInitiativesItemAiCategoryMax = 200;
|
|
4274
|
+
var listSnapshotsResponseInitiativesItemDriverBasisMax = 200;
|
|
4274
4275
|
var listSnapshotsResponseInitiativesItemTagsItemMax = 200;
|
|
4275
4276
|
var listSnapshotsResponseInitiativesItemTagsMax = 1e3;
|
|
4276
4277
|
var listSnapshotsResponseInitiativesItemDocsUrlMax = 2e3;
|
|
@@ -4356,6 +4357,8 @@ var ListSnapshotsResponseItem = objectType({
|
|
|
4356
4357
|
"vendorDependency": enumType(["None", "Single Vendor", "Multi-Vendor", "Internal Build", "Hybrid"]),
|
|
4357
4358
|
"solutionType": enumType(["Internal", "External", "Hybrid"]),
|
|
4358
4359
|
"aiCategory": stringType().max(listSnapshotsResponseInitiativesItemAiCategoryMax),
|
|
4360
|
+
"driver": enumType(["regulatory", "market", "internal"]).optional().describe('Why the initiative exists. "regulatory" is must-do work required by law, a regulator or a binding contract.'),
|
|
4361
|
+
"driverBasis": stringType().max(listSnapshotsResponseInitiativesItemDriverBasisMax).optional().describe('Optional reference for the driver, e.g. the law or article ("DORA Art. 28").'),
|
|
4359
4362
|
"tags": arrayType(stringType().max(listSnapshotsResponseInitiativesItemTagsItemMax)).max(listSnapshotsResponseInitiativesItemTagsMax),
|
|
4360
4363
|
"docsUrl": stringType().max(listSnapshotsResponseInitiativesItemDocsUrlMax).optional().describe("Link to the project documentation (Confluence, SharePoint, \u2026)"),
|
|
4361
4364
|
"pmUrl": stringType().max(listSnapshotsResponseInitiativesItemPmUrlMax).optional().describe("Link to the project-management tool (Jira, MS Project, \u2026)"),
|
|
@@ -4668,6 +4671,7 @@ var createSnapshotBodyInitiativesItemBusinessUnitMax = 200;
|
|
|
4668
4671
|
var createSnapshotBodyInitiativesItemOwnerMax = 200;
|
|
4669
4672
|
var createSnapshotBodyInitiativesItemDescriptionMax = 1e4;
|
|
4670
4673
|
var createSnapshotBodyInitiativesItemAiCategoryMax = 200;
|
|
4674
|
+
var createSnapshotBodyInitiativesItemDriverBasisMax = 200;
|
|
4671
4675
|
var createSnapshotBodyInitiativesItemTagsItemMax = 200;
|
|
4672
4676
|
var createSnapshotBodyInitiativesItemTagsMax = 1e3;
|
|
4673
4677
|
var createSnapshotBodyInitiativesItemDocsUrlMax = 2e3;
|
|
@@ -4753,6 +4757,8 @@ var CreateSnapshotBody = objectType({
|
|
|
4753
4757
|
"vendorDependency": enumType(["None", "Single Vendor", "Multi-Vendor", "Internal Build", "Hybrid"]),
|
|
4754
4758
|
"solutionType": enumType(["Internal", "External", "Hybrid"]),
|
|
4755
4759
|
"aiCategory": stringType().max(createSnapshotBodyInitiativesItemAiCategoryMax),
|
|
4760
|
+
"driver": enumType(["regulatory", "market", "internal"]).optional().describe('Why the initiative exists. "regulatory" is must-do work required by law, a regulator or a binding contract.'),
|
|
4761
|
+
"driverBasis": stringType().max(createSnapshotBodyInitiativesItemDriverBasisMax).optional().describe('Optional reference for the driver, e.g. the law or article ("DORA Art. 28").'),
|
|
4756
4762
|
"tags": arrayType(stringType().max(createSnapshotBodyInitiativesItemTagsItemMax)).max(createSnapshotBodyInitiativesItemTagsMax),
|
|
4757
4763
|
"docsUrl": stringType().max(createSnapshotBodyInitiativesItemDocsUrlMax).optional().describe("Link to the project documentation (Confluence, SharePoint, \u2026)"),
|
|
4758
4764
|
"pmUrl": stringType().max(createSnapshotBodyInitiativesItemPmUrlMax).optional().describe("Link to the project-management tool (Jira, MS Project, \u2026)"),
|
|
@@ -5071,6 +5077,7 @@ var renameSnapshotResponseInitiativesItemBusinessUnitMax = 200;
|
|
|
5071
5077
|
var renameSnapshotResponseInitiativesItemOwnerMax = 200;
|
|
5072
5078
|
var renameSnapshotResponseInitiativesItemDescriptionMax = 1e4;
|
|
5073
5079
|
var renameSnapshotResponseInitiativesItemAiCategoryMax = 200;
|
|
5080
|
+
var renameSnapshotResponseInitiativesItemDriverBasisMax = 200;
|
|
5074
5081
|
var renameSnapshotResponseInitiativesItemTagsItemMax = 200;
|
|
5075
5082
|
var renameSnapshotResponseInitiativesItemTagsMax = 1e3;
|
|
5076
5083
|
var renameSnapshotResponseInitiativesItemDocsUrlMax = 2e3;
|
|
@@ -5156,6 +5163,8 @@ var RenameSnapshotResponse = objectType({
|
|
|
5156
5163
|
"vendorDependency": enumType(["None", "Single Vendor", "Multi-Vendor", "Internal Build", "Hybrid"]),
|
|
5157
5164
|
"solutionType": enumType(["Internal", "External", "Hybrid"]),
|
|
5158
5165
|
"aiCategory": stringType().max(renameSnapshotResponseInitiativesItemAiCategoryMax),
|
|
5166
|
+
"driver": enumType(["regulatory", "market", "internal"]).optional().describe('Why the initiative exists. "regulatory" is must-do work required by law, a regulator or a binding contract.'),
|
|
5167
|
+
"driverBasis": stringType().max(renameSnapshotResponseInitiativesItemDriverBasisMax).optional().describe('Optional reference for the driver, e.g. the law or article ("DORA Art. 28").'),
|
|
5159
5168
|
"tags": arrayType(stringType().max(renameSnapshotResponseInitiativesItemTagsItemMax)).max(renameSnapshotResponseInitiativesItemTagsMax),
|
|
5160
5169
|
"docsUrl": stringType().max(renameSnapshotResponseInitiativesItemDocsUrlMax).optional().describe("Link to the project documentation (Confluence, SharePoint, \u2026)"),
|
|
5161
5170
|
"pmUrl": stringType().max(renameSnapshotResponseInitiativesItemPmUrlMax).optional().describe("Link to the project-management tool (Jira, MS Project, \u2026)"),
|
|
@@ -5469,6 +5478,7 @@ var listInitiativesResponseBusinessUnitMax = 200;
|
|
|
5469
5478
|
var listInitiativesResponseOwnerMax = 200;
|
|
5470
5479
|
var listInitiativesResponseDescriptionMax = 1e4;
|
|
5471
5480
|
var listInitiativesResponseAiCategoryMax = 200;
|
|
5481
|
+
var listInitiativesResponseDriverBasisMax = 200;
|
|
5472
5482
|
var listInitiativesResponseTagsItemMax = 200;
|
|
5473
5483
|
var listInitiativesResponseTagsMax = 1e3;
|
|
5474
5484
|
var listInitiativesResponseDocsUrlMax = 2e3;
|
|
@@ -5548,6 +5558,8 @@ var ListInitiativesResponseItem = objectType({
|
|
|
5548
5558
|
"vendorDependency": enumType(["None", "Single Vendor", "Multi-Vendor", "Internal Build", "Hybrid"]),
|
|
5549
5559
|
"solutionType": enumType(["Internal", "External", "Hybrid"]),
|
|
5550
5560
|
"aiCategory": stringType().max(listInitiativesResponseAiCategoryMax),
|
|
5561
|
+
"driver": enumType(["regulatory", "market", "internal"]).optional().describe('Why the initiative exists. "regulatory" is must-do work required by law, a regulator or a binding contract.'),
|
|
5562
|
+
"driverBasis": stringType().max(listInitiativesResponseDriverBasisMax).optional().describe('Optional reference for the driver, e.g. the law or article ("DORA Art. 28").'),
|
|
5551
5563
|
"tags": arrayType(stringType().max(listInitiativesResponseTagsItemMax)).max(listInitiativesResponseTagsMax),
|
|
5552
5564
|
"docsUrl": stringType().max(listInitiativesResponseDocsUrlMax).optional().describe("Link to the project documentation (Confluence, SharePoint, \u2026)"),
|
|
5553
5565
|
"pmUrl": stringType().max(listInitiativesResponsePmUrlMax).optional().describe("Link to the project-management tool (Jira, MS Project, \u2026)"),
|
|
@@ -5857,6 +5869,7 @@ var createInitiativeBodyOneBusinessUnitMax = 200;
|
|
|
5857
5869
|
var createInitiativeBodyOneOwnerMax = 200;
|
|
5858
5870
|
var createInitiativeBodyOneDescriptionMax = 1e4;
|
|
5859
5871
|
var createInitiativeBodyOneAiCategoryMax = 200;
|
|
5872
|
+
var createInitiativeBodyOneDriverBasisMax = 200;
|
|
5860
5873
|
var createInitiativeBodyOneTagsItemMax = 200;
|
|
5861
5874
|
var createInitiativeBodyOneTagsMax = 1e3;
|
|
5862
5875
|
var createInitiativeBodyOneDocsUrlMax = 2e3;
|
|
@@ -5936,6 +5949,8 @@ var CreateInitiativeBody = objectType({
|
|
|
5936
5949
|
"vendorDependency": enumType(["None", "Single Vendor", "Multi-Vendor", "Internal Build", "Hybrid"]),
|
|
5937
5950
|
"solutionType": enumType(["Internal", "External", "Hybrid"]),
|
|
5938
5951
|
"aiCategory": stringType().max(createInitiativeBodyOneAiCategoryMax),
|
|
5952
|
+
"driver": enumType(["regulatory", "market", "internal"]).optional().describe('Why the initiative exists. "regulatory" is must-do work required by law, a regulator or a binding contract.'),
|
|
5953
|
+
"driverBasis": stringType().max(createInitiativeBodyOneDriverBasisMax).optional().describe('Optional reference for the driver, e.g. the law or article ("DORA Art. 28").'),
|
|
5939
5954
|
"tags": arrayType(stringType().max(createInitiativeBodyOneTagsItemMax)).max(createInitiativeBodyOneTagsMax),
|
|
5940
5955
|
"docsUrl": stringType().max(createInitiativeBodyOneDocsUrlMax).optional().describe("Link to the project documentation (Confluence, SharePoint, \u2026)"),
|
|
5941
5956
|
"pmUrl": stringType().max(createInitiativeBodyOnePmUrlMax).optional().describe("Link to the project-management tool (Jira, MS Project, \u2026)"),
|
|
@@ -6255,6 +6270,7 @@ var getInitiativeResponseBusinessUnitMax = 200;
|
|
|
6255
6270
|
var getInitiativeResponseOwnerMax = 200;
|
|
6256
6271
|
var getInitiativeResponseDescriptionMax = 1e4;
|
|
6257
6272
|
var getInitiativeResponseAiCategoryMax = 200;
|
|
6273
|
+
var getInitiativeResponseDriverBasisMax = 200;
|
|
6258
6274
|
var getInitiativeResponseTagsItemMax = 200;
|
|
6259
6275
|
var getInitiativeResponseTagsMax = 1e3;
|
|
6260
6276
|
var getInitiativeResponseDocsUrlMax = 2e3;
|
|
@@ -6334,6 +6350,8 @@ var GetInitiativeResponse = objectType({
|
|
|
6334
6350
|
"vendorDependency": enumType(["None", "Single Vendor", "Multi-Vendor", "Internal Build", "Hybrid"]),
|
|
6335
6351
|
"solutionType": enumType(["Internal", "External", "Hybrid"]),
|
|
6336
6352
|
"aiCategory": stringType().max(getInitiativeResponseAiCategoryMax),
|
|
6353
|
+
"driver": enumType(["regulatory", "market", "internal"]).optional().describe('Why the initiative exists. "regulatory" is must-do work required by law, a regulator or a binding contract.'),
|
|
6354
|
+
"driverBasis": stringType().max(getInitiativeResponseDriverBasisMax).optional().describe('Optional reference for the driver, e.g. the law or article ("DORA Art. 28").'),
|
|
6337
6355
|
"tags": arrayType(stringType().max(getInitiativeResponseTagsItemMax)).max(getInitiativeResponseTagsMax),
|
|
6338
6356
|
"docsUrl": stringType().max(getInitiativeResponseDocsUrlMax).optional().describe("Link to the project documentation (Confluence, SharePoint, \u2026)"),
|
|
6339
6357
|
"pmUrl": stringType().max(getInitiativeResponsePmUrlMax).optional().describe("Link to the project-management tool (Jira, MS Project, \u2026)"),
|
|
@@ -6645,6 +6663,7 @@ var updateInitiativeBodyOneBusinessUnitMax = 200;
|
|
|
6645
6663
|
var updateInitiativeBodyOneOwnerMax = 200;
|
|
6646
6664
|
var updateInitiativeBodyOneDescriptionMax = 1e4;
|
|
6647
6665
|
var updateInitiativeBodyOneAiCategoryMax = 200;
|
|
6666
|
+
var updateInitiativeBodyOneDriverBasisMax = 200;
|
|
6648
6667
|
var updateInitiativeBodyOneTagsItemMax = 200;
|
|
6649
6668
|
var updateInitiativeBodyOneTagsMax = 1e3;
|
|
6650
6669
|
var updateInitiativeBodyOneDocsUrlMax = 2e3;
|
|
@@ -6724,6 +6743,8 @@ var UpdateInitiativeBody = objectType({
|
|
|
6724
6743
|
"vendorDependency": enumType(["None", "Single Vendor", "Multi-Vendor", "Internal Build", "Hybrid"]),
|
|
6725
6744
|
"solutionType": enumType(["Internal", "External", "Hybrid"]),
|
|
6726
6745
|
"aiCategory": stringType().max(updateInitiativeBodyOneAiCategoryMax),
|
|
6746
|
+
"driver": enumType(["regulatory", "market", "internal"]).optional().describe('Why the initiative exists. "regulatory" is must-do work required by law, a regulator or a binding contract.'),
|
|
6747
|
+
"driverBasis": stringType().max(updateInitiativeBodyOneDriverBasisMax).optional().describe('Optional reference for the driver, e.g. the law or article ("DORA Art. 28").'),
|
|
6727
6748
|
"tags": arrayType(stringType().max(updateInitiativeBodyOneTagsItemMax)).max(updateInitiativeBodyOneTagsMax),
|
|
6728
6749
|
"docsUrl": stringType().max(updateInitiativeBodyOneDocsUrlMax).optional().describe("Link to the project documentation (Confluence, SharePoint, \u2026)"),
|
|
6729
6750
|
"pmUrl": stringType().max(updateInitiativeBodyOnePmUrlMax).optional().describe("Link to the project-management tool (Jira, MS Project, \u2026)"),
|
|
@@ -7040,6 +7061,7 @@ var updateInitiativeResponseBusinessUnitMax = 200;
|
|
|
7040
7061
|
var updateInitiativeResponseOwnerMax = 200;
|
|
7041
7062
|
var updateInitiativeResponseDescriptionMax = 1e4;
|
|
7042
7063
|
var updateInitiativeResponseAiCategoryMax = 200;
|
|
7064
|
+
var updateInitiativeResponseDriverBasisMax = 200;
|
|
7043
7065
|
var updateInitiativeResponseTagsItemMax = 200;
|
|
7044
7066
|
var updateInitiativeResponseTagsMax = 1e3;
|
|
7045
7067
|
var updateInitiativeResponseDocsUrlMax = 2e3;
|
|
@@ -7119,6 +7141,8 @@ var UpdateInitiativeResponse = objectType({
|
|
|
7119
7141
|
"vendorDependency": enumType(["None", "Single Vendor", "Multi-Vendor", "Internal Build", "Hybrid"]),
|
|
7120
7142
|
"solutionType": enumType(["Internal", "External", "Hybrid"]),
|
|
7121
7143
|
"aiCategory": stringType().max(updateInitiativeResponseAiCategoryMax),
|
|
7144
|
+
"driver": enumType(["regulatory", "market", "internal"]).optional().describe('Why the initiative exists. "regulatory" is must-do work required by law, a regulator or a binding contract.'),
|
|
7145
|
+
"driverBasis": stringType().max(updateInitiativeResponseDriverBasisMax).optional().describe('Optional reference for the driver, e.g. the law or article ("DORA Art. 28").'),
|
|
7122
7146
|
"tags": arrayType(stringType().max(updateInitiativeResponseTagsItemMax)).max(updateInitiativeResponseTagsMax),
|
|
7123
7147
|
"docsUrl": stringType().max(updateInitiativeResponseDocsUrlMax).optional().describe("Link to the project documentation (Confluence, SharePoint, \u2026)"),
|
|
7124
7148
|
"pmUrl": stringType().max(updateInitiativeResponsePmUrlMax).optional().describe("Link to the project-management tool (Jira, MS Project, \u2026)"),
|
|
@@ -7505,6 +7529,13 @@ var InitiativeDpiaStatus = {
|
|
|
7505
7529
|
Completed: "Completed"
|
|
7506
7530
|
};
|
|
7507
7531
|
|
|
7532
|
+
// ../../api-zod/src/generated/types/initiativeDriver.ts
|
|
7533
|
+
var InitiativeDriver = {
|
|
7534
|
+
regulatory: "regulatory",
|
|
7535
|
+
market: "market",
|
|
7536
|
+
internal: "internal"
|
|
7537
|
+
};
|
|
7538
|
+
|
|
7508
7539
|
// ../../api-zod/src/generated/types/initiativeHitlPosture.ts
|
|
7509
7540
|
var InitiativeHitlPosture = {
|
|
7510
7541
|
Unattended: "Unattended",
|
|
@@ -7554,6 +7585,7 @@ var StatusReportDimensionEntryRag = {
|
|
|
7554
7585
|
|
|
7555
7586
|
// ../../initiative-model/src/types.ts
|
|
7556
7587
|
var LANGUAGES = ["en", "de"];
|
|
7588
|
+
var DRIVER_BASIS_MAX = 200;
|
|
7557
7589
|
var GATE_TRANSITIONS = [
|
|
7558
7590
|
{ key: "idea-pilot", from: "Idea", to: "Pilot" },
|
|
7559
7591
|
{ key: "pilot-scaling", from: "Pilot", to: "Scaling" },
|
|
@@ -8607,6 +8639,7 @@ var DE_INNOVATION = {
|
|
|
8607
8639
|
var DEMO_DIGITAL = {
|
|
8608
8640
|
"Advisor Copilot": {
|
|
8609
8641
|
name: "Advisor Workbench",
|
|
8642
|
+
driver: "market",
|
|
8610
8643
|
description: "Unified advisor desktop consolidating CRM, client documents, and meeting prep into one digital workspace.",
|
|
8611
8644
|
aiCategory: "AI Copilot",
|
|
8612
8645
|
owner: "M. Lindqvist",
|
|
@@ -8645,6 +8678,8 @@ var DEMO_DIGITAL = {
|
|
|
8645
8678
|
},
|
|
8646
8679
|
"Client Meeting Summariser": {
|
|
8647
8680
|
name: "Meeting Recording Platform",
|
|
8681
|
+
driver: "regulatory",
|
|
8682
|
+
driverBasis: "MiFID II Art. 16(7): recording of client communications",
|
|
8648
8683
|
description: "Centralised recording and transcription service for client meetings with searchable archive.",
|
|
8649
8684
|
aiCategory: "Customer Interaction AI",
|
|
8650
8685
|
owner: "D. Okafor",
|
|
@@ -8666,6 +8701,7 @@ var DEMO_DIGITAL = {
|
|
|
8666
8701
|
},
|
|
8667
8702
|
"AI Investment Memo Assistant": {
|
|
8668
8703
|
name: "Investment Memo Workflow",
|
|
8704
|
+
driver: "market",
|
|
8669
8705
|
description: "Digital workflow for drafting, reviewing and publishing investment memos with version control.",
|
|
8670
8706
|
aiCategory: "Knowledge Retrieval",
|
|
8671
8707
|
owner: "J. Park",
|
|
@@ -8686,6 +8722,8 @@ var DEMO_DIGITAL = {
|
|
|
8686
8722
|
},
|
|
8687
8723
|
"Compliance Documentation Assistant": {
|
|
8688
8724
|
name: "Compliance Document Portal",
|
|
8725
|
+
driver: "regulatory",
|
|
8726
|
+
driverBasis: "FinSA/FIDLEG and MiFID II documentation and record-keeping duties",
|
|
8689
8727
|
description: "Self-service portal for compliance documentation with templates, approvals and audit trail.",
|
|
8690
8728
|
aiCategory: "Compliance / Risk AI",
|
|
8691
8729
|
owner: "K. S\xF8rensen",
|
|
@@ -8705,6 +8743,8 @@ var DEMO_DIGITAL = {
|
|
|
8705
8743
|
},
|
|
8706
8744
|
"KYC Document Intelligence": {
|
|
8707
8745
|
name: "KYC Onboarding Platform",
|
|
8746
|
+
driver: "regulatory",
|
|
8747
|
+
driverBasis: "Anti-Money Laundering Act (AMLA): customer due diligence",
|
|
8708
8748
|
description: "Digital KYC onboarding with document upload, e-signature and case management.",
|
|
8709
8749
|
aiCategory: "Process Automation",
|
|
8710
8750
|
owner: "A. Ferreira",
|
|
@@ -8740,6 +8780,7 @@ var DEMO_DIGITAL = {
|
|
|
8740
8780
|
},
|
|
8741
8781
|
"Client Service Chat Assistant": {
|
|
8742
8782
|
name: "Client Service Portal",
|
|
8783
|
+
driver: "market",
|
|
8743
8784
|
description: "Self-service portal with ticketing, knowledge base and live-agent escalation.",
|
|
8744
8785
|
aiCategory: "Customer Interaction AI",
|
|
8745
8786
|
owner: "V. Patel",
|
|
@@ -8776,6 +8817,7 @@ var DEMO_DIGITAL = {
|
|
|
8776
8817
|
},
|
|
8777
8818
|
"Portfolio Exception Monitor": {
|
|
8778
8819
|
name: "Portfolio Monitoring Dashboard",
|
|
8820
|
+
driver: "market",
|
|
8779
8821
|
description: "Real-time monitoring dashboard for portfolio breaches with alerting and case workflow.",
|
|
8780
8822
|
aiCategory: "Predictive AI",
|
|
8781
8823
|
owner: "T. Brennan",
|
|
@@ -8794,6 +8836,8 @@ var DEMO_DIGITAL = {
|
|
|
8794
8836
|
},
|
|
8795
8837
|
"Regulatory Change Monitor": {
|
|
8796
8838
|
name: "Regulatory Intelligence Feed",
|
|
8839
|
+
driver: "regulatory",
|
|
8840
|
+
driverBasis: "FINMA expectations on tracking regulatory change",
|
|
8797
8841
|
description: "Aggregated regulatory feed with tagging, distribution and impact-assessment workflow.",
|
|
8798
8842
|
aiCategory: "Compliance / Risk AI",
|
|
8799
8843
|
owner: "L. Yamamoto",
|
|
@@ -8811,6 +8855,7 @@ var DEMO_DIGITAL = {
|
|
|
8811
8855
|
},
|
|
8812
8856
|
"AI Code Assistant": {
|
|
8813
8857
|
name: "Developer Platform",
|
|
8858
|
+
driver: "internal",
|
|
8814
8859
|
description: "Internal developer platform with CI/CD, code review and shared component libraries.",
|
|
8815
8860
|
aiCategory: "AI Copilot",
|
|
8816
8861
|
owner: "R. Schmidt",
|
|
@@ -8832,6 +8877,7 @@ var DEMO_DIGITAL = {
|
|
|
8832
8877
|
},
|
|
8833
8878
|
"Operations Automation Agent": {
|
|
8834
8879
|
name: "Operations Workflow Engine",
|
|
8880
|
+
driver: "internal",
|
|
8835
8881
|
description: "Workflow engine orchestrating back-office operations across systems.",
|
|
8836
8882
|
aiCategory: "Agentic AI",
|
|
8837
8883
|
owner: "H. Tanaka",
|
|
@@ -8851,6 +8897,7 @@ var DEMO_DIGITAL = {
|
|
|
8851
8897
|
},
|
|
8852
8898
|
"Risk Report Narrator": {
|
|
8853
8899
|
name: "Risk Reporting Portal",
|
|
8900
|
+
driver: "internal",
|
|
8854
8901
|
description: "Centralised risk reporting portal with templated commentary and version control.",
|
|
8855
8902
|
aiCategory: "Decision Support",
|
|
8856
8903
|
owner: "E. Novak",
|
|
@@ -8872,6 +8919,7 @@ var DEMO_DIGITAL = {
|
|
|
8872
8919
|
},
|
|
8873
8920
|
"Marketing Content Assistant": {
|
|
8874
8921
|
name: "Marketing Content Hub",
|
|
8922
|
+
driver: "market",
|
|
8875
8923
|
description: "Digital asset management and publishing workflow for marketing content.",
|
|
8876
8924
|
aiCategory: "Generative AI",
|
|
8877
8925
|
owner: "C. Delgado",
|
|
@@ -8893,6 +8941,7 @@ var DEMO_DIGITAL = {
|
|
|
8893
8941
|
},
|
|
8894
8942
|
"HR Knowledge Assistant": {
|
|
8895
8943
|
name: "HR Self-Service Portal",
|
|
8944
|
+
driver: "internal",
|
|
8896
8945
|
description: "Employee self-service portal with policies, FAQ and ticketing.",
|
|
8897
8946
|
aiCategory: "Knowledge Retrieval",
|
|
8898
8947
|
owner: "S. Murphy",
|
|
@@ -8914,6 +8963,7 @@ var DEMO_DIGITAL = {
|
|
|
8914
8963
|
},
|
|
8915
8964
|
"Finance Forecast Commentary Assistant": {
|
|
8916
8965
|
name: "Finance Planning Platform",
|
|
8966
|
+
driver: "internal",
|
|
8917
8967
|
description: "Integrated planning platform consolidating actuals, forecasts and commentary.",
|
|
8918
8968
|
aiCategory: "Decision Support",
|
|
8919
8969
|
owner: "O. Werner",
|
|
@@ -8931,6 +8981,7 @@ var DEMO_DIGITAL = {
|
|
|
8931
8981
|
},
|
|
8932
8982
|
"AI Governance Register": {
|
|
8933
8983
|
name: "Digital Asset Register",
|
|
8984
|
+
driver: "internal",
|
|
8934
8985
|
description: "Centralised register of digital assets with ownership, lifecycle stage and risk attributes.",
|
|
8935
8986
|
aiCategory: "Compliance / Risk AI",
|
|
8936
8987
|
owner: "I. Kowalski",
|
|
@@ -8950,6 +9001,7 @@ var DEMO_DIGITAL = {
|
|
|
8950
9001
|
var DEMO_INNOVATION = {
|
|
8951
9002
|
"Advisor Copilot": {
|
|
8952
9003
|
name: "Clinician Decision Companion Pilot",
|
|
9004
|
+
driver: "market",
|
|
8953
9005
|
description: "In-consultation decision-support companion surfacing patient context, guideline checks and next-best-actions for clinicians.",
|
|
8954
9006
|
aiCategory: "Decision Support",
|
|
8955
9007
|
businessUnit: "Clinical Affairs",
|
|
@@ -8994,6 +9046,7 @@ var DEMO_INNOVATION = {
|
|
|
8994
9046
|
},
|
|
8995
9047
|
"Client Meeting Summariser": {
|
|
8996
9048
|
name: "Ambient Visit Note Capture",
|
|
9049
|
+
driver: "market",
|
|
8997
9050
|
description: "Ambient documentation prototype turning patient-visit conversations into structured, consent-aware clinical notes.",
|
|
8998
9051
|
aiCategory: "Generative AI",
|
|
8999
9052
|
businessUnit: "Patient Experience",
|
|
@@ -9020,6 +9073,7 @@ var DEMO_INNOVATION = {
|
|
|
9020
9073
|
},
|
|
9021
9074
|
"AI Investment Memo Assistant": {
|
|
9022
9075
|
name: "Translational Research Brief Generator",
|
|
9076
|
+
driver: "market",
|
|
9023
9077
|
description: "Research lab drafting first-pass translational briefs from internal studies, public literature and prior trial precedents.",
|
|
9024
9078
|
aiCategory: "Knowledge Retrieval",
|
|
9025
9079
|
businessUnit: "R&D",
|
|
@@ -9046,6 +9100,8 @@ var DEMO_INNOVATION = {
|
|
|
9046
9100
|
},
|
|
9047
9101
|
"Compliance Documentation Assistant": {
|
|
9048
9102
|
name: "Regulatory Submission Draft Lab",
|
|
9103
|
+
driver: "regulatory",
|
|
9104
|
+
driverBasis: "ICH M4 / eCTD format for regulatory submissions",
|
|
9049
9105
|
description: "Lab drafting first-pass regulatory submissions from study reports, guidance documents and prior dossiers.",
|
|
9050
9106
|
aiCategory: "Compliance / Risk AI",
|
|
9051
9107
|
businessUnit: "Regulatory Affairs",
|
|
@@ -9070,6 +9126,8 @@ var DEMO_INNOVATION = {
|
|
|
9070
9126
|
},
|
|
9071
9127
|
"KYC Document Intelligence": {
|
|
9072
9128
|
name: "Patient Intake & Consent Intelligence",
|
|
9129
|
+
driver: "regulatory",
|
|
9130
|
+
driverBasis: "GDPR Art. 9 and ICH GCP E6 informed consent",
|
|
9073
9131
|
description: "Extracts and reconciles patient-intake fields, insurance documents and consent forms across care entry points.",
|
|
9074
9132
|
aiCategory: "Compliance / Risk AI",
|
|
9075
9133
|
businessUnit: "Patient Onboarding",
|
|
@@ -9111,6 +9169,7 @@ var DEMO_INNOVATION = {
|
|
|
9111
9169
|
},
|
|
9112
9170
|
"Client Service Chat Assistant": {
|
|
9113
9171
|
name: "Patient Support Chat Companion",
|
|
9172
|
+
driver: "market",
|
|
9114
9173
|
description: "Front-line patient support chat with clinical guardrails and an escalation pathway to care-team specialists.",
|
|
9115
9174
|
aiCategory: "Customer Interaction AI",
|
|
9116
9175
|
businessUnit: "Patient Experience",
|
|
@@ -9152,6 +9211,8 @@ var DEMO_INNOVATION = {
|
|
|
9152
9211
|
},
|
|
9153
9212
|
"Portfolio Exception Monitor": {
|
|
9154
9213
|
name: "Adverse Event Signal Detection",
|
|
9214
|
+
driver: "regulatory",
|
|
9215
|
+
driverBasis: "EU GVP Module IX: signal management",
|
|
9155
9216
|
description: "Continuously screens post-market data for adverse-event clusters, safety drifts and concentration signals.",
|
|
9156
9217
|
aiCategory: "Predictive AI",
|
|
9157
9218
|
businessUnit: "Pharmacovigilance",
|
|
@@ -9175,6 +9236,7 @@ var DEMO_INNOVATION = {
|
|
|
9175
9236
|
},
|
|
9176
9237
|
"Regulatory Change Monitor": {
|
|
9177
9238
|
name: "Global Regulatory Horizon Scan",
|
|
9239
|
+
driver: "internal",
|
|
9178
9240
|
description: "Scans regulatory feeds across jurisdictions (FDA, EMA, MHRA, PMDA\u2026) and proposes downstream label and protocol updates.",
|
|
9179
9241
|
aiCategory: "Knowledge Retrieval",
|
|
9180
9242
|
businessUnit: "Regulatory Affairs",
|
|
@@ -9197,6 +9259,7 @@ var DEMO_INNOVATION = {
|
|
|
9197
9259
|
},
|
|
9198
9260
|
"AI Code Assistant": {
|
|
9199
9261
|
name: "Bioinformatics Pipeline Copilot",
|
|
9262
|
+
driver: "internal",
|
|
9200
9263
|
description: "Research-engineer copilot for bioinformatics pipelines, covering internal frameworks, validation and reproducibility standards.",
|
|
9201
9264
|
aiCategory: "AI Copilot",
|
|
9202
9265
|
businessUnit: "Bioinformatics",
|
|
@@ -9223,6 +9286,7 @@ var DEMO_INNOVATION = {
|
|
|
9223
9286
|
},
|
|
9224
9287
|
"Operations Automation Agent": {
|
|
9225
9288
|
name: "Lab Automation Agent Research",
|
|
9289
|
+
driver: "internal",
|
|
9226
9290
|
description: "Agentic workflow research for wet-lab and assay operations spanning instruments and LIMS with human approval gates.",
|
|
9227
9291
|
aiCategory: "Agentic AI",
|
|
9228
9292
|
businessUnit: "Lab Operations",
|
|
@@ -9247,6 +9311,8 @@ var DEMO_INNOVATION = {
|
|
|
9247
9311
|
},
|
|
9248
9312
|
"Risk Report Narrator": {
|
|
9249
9313
|
name: "Clinical Safety Report Narrator",
|
|
9314
|
+
driver: "regulatory",
|
|
9315
|
+
driverBasis: "ICH E2C(R2): periodic benefit-risk evaluation reports",
|
|
9250
9316
|
description: "Drafts narrative sections of periodic safety reports (PSURs, DSURs) from underlying signals and study metrics.",
|
|
9251
9317
|
aiCategory: "Decision Support",
|
|
9252
9318
|
businessUnit: "Quality & Safety",
|
|
@@ -9273,6 +9339,7 @@ var DEMO_INNOVATION = {
|
|
|
9273
9339
|
},
|
|
9274
9340
|
"Marketing Content Assistant": {
|
|
9275
9341
|
name: "HCP Content Studio",
|
|
9342
|
+
driver: "market",
|
|
9276
9343
|
description: "Generates first-draft HCP-facing materials aligned to medical voice and regulated-claim guardrails.",
|
|
9277
9344
|
aiCategory: "Generative AI",
|
|
9278
9345
|
businessUnit: "Medical Affairs",
|
|
@@ -9299,6 +9366,7 @@ var DEMO_INNOVATION = {
|
|
|
9299
9366
|
},
|
|
9300
9367
|
"HR Knowledge Assistant": {
|
|
9301
9368
|
name: "Care-Team Knowledge Companion",
|
|
9369
|
+
driver: "internal",
|
|
9302
9370
|
description: "Internal Q&A surface for care-team protocols, on-call pathways, learning materials and onboarding for new clinicians.",
|
|
9303
9371
|
aiCategory: "Knowledge Retrieval",
|
|
9304
9372
|
businessUnit: "People & Culture",
|
|
@@ -9325,6 +9393,7 @@ var DEMO_INNOVATION = {
|
|
|
9325
9393
|
},
|
|
9326
9394
|
"Finance Forecast Commentary Assistant": {
|
|
9327
9395
|
name: "R&D Investment Planning Lab",
|
|
9396
|
+
driver: "internal",
|
|
9328
9397
|
description: "Research lab drafting commentary on R&D programme variances, drawing on portfolio data and management overlays.",
|
|
9329
9398
|
aiCategory: "Decision Support",
|
|
9330
9399
|
businessUnit: "R&D Strategy",
|
|
@@ -9347,6 +9416,7 @@ var DEMO_INNOVATION = {
|
|
|
9347
9416
|
},
|
|
9348
9417
|
"AI Governance Register": {
|
|
9349
9418
|
name: "R&D Portfolio & IP Register",
|
|
9419
|
+
driver: "internal",
|
|
9350
9420
|
description: "Central register of R&D programmes, IP positions, owners and stage-gate cadence with workflow for attestations.",
|
|
9351
9421
|
aiCategory: "Compliance / Risk AI",
|
|
9352
9422
|
businessUnit: "R&D Strategy",
|
|
@@ -9570,6 +9640,7 @@ var AI_RISK_TIERS = enumValues(InitiativeAiRiskTier);
|
|
|
9570
9640
|
var HITL_POSTURES = enumValues(InitiativeHitlPosture);
|
|
9571
9641
|
var DPIA_STATUSES = enumValues(InitiativeDpiaStatus);
|
|
9572
9642
|
var MODEL_CARD_STATUSES = enumValues(InitiativeModelCardStatus);
|
|
9643
|
+
var DRIVERS = enumValues(InitiativeDriver);
|
|
9573
9644
|
var AI_ACT_ROLES = enumValues(AIActDataRole);
|
|
9574
9645
|
var DECISION_KINDS = enumValues(DecisionEntryKind);
|
|
9575
9646
|
var RAG_VALUES = enumValues(StatusReportDimensionEntryRag);
|
|
@@ -9894,6 +9965,13 @@ var OPTIONAL_SECTIONS = [
|
|
|
9894
9965
|
de: "IDs vorgelagerter Initiativen. Mit der Portfolio-Kontext-Datei aus read_portfolio_context \u2192 lists.initiatives (ID + Name) w\xE4hlen; ohne sie leer lassen und in der App verkn\xFCpfen."
|
|
9895
9966
|
}
|
|
9896
9967
|
},
|
|
9968
|
+
{
|
|
9969
|
+
key: "driver / driverBasis",
|
|
9970
|
+
hint: {
|
|
9971
|
+
en: `Why the initiative exists: regulatory (the app's "Regulatory / Law (must)": required by law, a regulator or a binding contract; prioritisation funds it first unless the user's what-if switch turns that off), market ("Market / Competition": responds to customers or competitors) or internal ("Internal / Operational": efficiency, risk reduction or the organisation's own goals). Ask for it on every initiative. driverBasis is an optional reference of up to 200 characters, e.g. "DORA Art. 28"; ask for it when the driver is regulatory. A basis needs a driver. On an update, send the driver again: the file replaces the record, so an omitted driver is cleared.`,
|
|
9972
|
+
de: "Warum es die Initiative gibt: regulatory (\u201ERegulatorisch / Gesetz (Pflicht)\u201C: verlangt durch Gesetz, Aufsicht oder einen verbindlichen Vertrag; die Priorisierung f\xF6rdert sie zuerst, ausser der Was-w\xE4re-wenn-Schalter schaltet das ab), market (\u201EMarkt / Wettbewerb\u201C: antwortet auf Kunden oder Wettbewerber) oder internal (\u201EIntern / Betrieblich\u201C: Effizienz, Risikominderung oder eigene Ziele der Organisation). Bei jeder Initiative danach fragen. driverBasis ist eine optionale Referenz mit bis zu 200 Zeichen, z. B. \u201EDORA Art. 28\u201C; bei regulatory danach fragen. Eine Grundlage braucht einen Ausl\xF6ser. Bei einem Update den Ausl\xF6ser wieder senden: Die Datei ersetzt den Datensatz, ein fehlender Ausl\xF6ser wird gel\xF6scht."
|
|
9973
|
+
}
|
|
9974
|
+
},
|
|
9897
9975
|
{ key: "aiRiskTier / hitlPosture / dpiaStatus / modelCardStatus", hint: { en: "EU AI Act governance flags", de: "EU-AI-Act-Governance-Flags" } },
|
|
9898
9976
|
{
|
|
9899
9977
|
key: "aiAct",
|
|
@@ -9996,6 +10074,7 @@ function buildSchemaDescriptor(sectionShapes) {
|
|
|
9996
10074
|
hitlPosture: HITL_POSTURES,
|
|
9997
10075
|
dpiaStatus: DPIA_STATUSES,
|
|
9998
10076
|
modelCardStatus: MODEL_CARD_STATUSES,
|
|
10077
|
+
driver: DRIVERS,
|
|
9999
10078
|
aiActRole: AI_ACT_ROLES,
|
|
10000
10079
|
decisionKind: DECISION_KINDS,
|
|
10001
10080
|
rag: RAG_VALUES
|
|
@@ -10155,6 +10234,8 @@ var compactSpecSchema = external_exports.object({
|
|
|
10155
10234
|
vendorDependency: external_exports.enum(VENDOR_DEPS),
|
|
10156
10235
|
solutionType: external_exports.enum(SOLUTION_TYPES),
|
|
10157
10236
|
aiCategory: requiredText().describe("With a portfolio context: one of the organisation's categories (read_portfolio_context \u2192 lists.categories)"),
|
|
10237
|
+
driver: external_exports.enum(DRIVERS).optional().describe("Why the initiative exists: regulatory (law, regulator or binding contract; funded first by default), market (customers, competitors) or internal (efficiency, risk reduction, own goals). On an update, send it again: an omitted driver is cleared."),
|
|
10238
|
+
driverBasis: external_exports.preprocess((v) => typeof v === "string" && v.trim() === "" ? void 0 : v, external_exports.string().trim().min(1).max(DRIVER_BASIS_MAX).optional()).describe('Optional reference for the driver, e.g. "DORA Art. 28"; needs a driver'),
|
|
10158
10239
|
tags: external_exports.array(external_exports.string().trim().min(1)).optional(),
|
|
10159
10240
|
docsUrl: external_exports.string().optional().describe("Link to the project documentation (Confluence, SharePoint, \u2026)"),
|
|
10160
10241
|
pmUrl: external_exports.string().optional().describe("Link to the project-management tool (Jira, MS Project, \u2026)"),
|
|
@@ -10670,7 +10751,13 @@ function assembleInitiative(input, now = /* @__PURE__ */ new Date()) {
|
|
|
10670
10751
|
const others = context?.initiatives ?? [];
|
|
10671
10752
|
const ext = norm2(spec.externalId);
|
|
10672
10753
|
const updates = spec.id !== void 0 || !!ext && others.filter((x) => norm2(x.externalId) === ext).length === 1 || others.some((x) => norm2(x.name) === norm2(spec.name));
|
|
10754
|
+
if (spec.driverBasis !== void 0 && spec.driver === void 0) {
|
|
10755
|
+
errors.push(`driverBasis: "${spec.driverBasis}" is given without a driver \u2014 the app drops a basis without a driver. Send driver (${DRIVERS.join(" / ")}) too, or leave driverBasis out.`);
|
|
10756
|
+
}
|
|
10673
10757
|
if (updates) {
|
|
10758
|
+
if (spec.driver === void 0) {
|
|
10759
|
+
warnings.push("driver: none sent, and the app will offer this file as an update \u2014 it replaces the record, so the initiative's driver and basis are cleared. Send driver (and driverBasis) to keep them.");
|
|
10760
|
+
}
|
|
10674
10761
|
for (const [key, what] of [
|
|
10675
10762
|
["milestones", "milestones"],
|
|
10676
10763
|
["risks", "risks"],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bicon/mcp-composer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "MCP server that helps an AI client compose a valid BICon portfolio initiative and hand it back as an import file (draft-first, no auth, no API calls).",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"author": "BICon Establishment",
|