@bicon/mcp-composer 0.5.0 → 0.6.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 +232 -5
- 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.6.0" : readPackageVersion();
|
|
16
16
|
|
|
17
17
|
// ../../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.js
|
|
18
18
|
var external_exports = {};
|
|
@@ -4170,7 +4170,7 @@ var ListOrganizationMembersResponseItem = objectType({
|
|
|
4170
4170
|
"email": stringType(),
|
|
4171
4171
|
"displayName": stringType().nullable(),
|
|
4172
4172
|
"role": enumType(["admin", "member", "viewer"]),
|
|
4173
|
-
"permissions": arrayType(stringType()).describe("App-managed permission overrides on top of the fixed role (free-form strings, not a closed enum). Known keys: manage_skills, manage_ai_act, manage_metadata, manage_stage_gate, manage_economics, manage_decision_log, manage_dependencies, manage_required_skills, manage_scoring, manage_status_report, manage_prioritisation, manage_capabilities, manage_capability_impact, manage_milestones.")
|
|
4173
|
+
"permissions": arrayType(stringType()).describe("App-managed permission overrides on top of the fixed role (free-form strings, not a closed enum). Known keys: manage_skills, manage_ai_act, manage_metadata, manage_stage_gate, manage_economics, manage_decision_log, manage_dependencies, manage_required_skills, manage_scoring, manage_status_report, manage_prioritisation, manage_capabilities, manage_capability_impact, manage_milestones, manage_risks.")
|
|
4174
4174
|
});
|
|
4175
4175
|
var ListOrganizationMembersResponse = arrayType(ListOrganizationMembersResponseItem);
|
|
4176
4176
|
var SyncOrganizationMembersResponse = objectType({
|
|
@@ -4180,18 +4180,18 @@ var SyncOrganizationMembersResponse = objectType({
|
|
|
4180
4180
|
var GetMyOrganizationAccessResponse = objectType({
|
|
4181
4181
|
"userId": stringType().describe(`The caller's own local user id (matches AuthorRef.userId on initiatives), so the client can tell its own changes apart from a teammate's \u2014 e.g. to suppress the "updated by X" collaboration banner when an edit echoing back is the caller's own save.`),
|
|
4182
4182
|
"role": enumType(["admin", "member", "viewer"]),
|
|
4183
|
-
"permissions": arrayType(stringType()).describe("App-managed permission overrides on top of the fixed role (free-form strings, not a closed enum). Known keys: manage_skills, manage_ai_act, manage_metadata, manage_stage_gate, manage_economics, manage_decision_log, manage_dependencies, manage_required_skills, manage_scoring, manage_status_report, manage_prioritisation, manage_capabilities, manage_capability_impact, manage_milestones."),
|
|
4183
|
+
"permissions": arrayType(stringType()).describe("App-managed permission overrides on top of the fixed role (free-form strings, not a closed enum). Known keys: manage_skills, manage_ai_act, manage_metadata, manage_stage_gate, manage_economics, manage_decision_log, manage_dependencies, manage_required_skills, manage_scoring, manage_status_report, manage_prioritisation, manage_capabilities, manage_capability_impact, manage_milestones, manage_risks."),
|
|
4184
4184
|
"initiativeLimit": numberType().describe("The most initiatives this organisation may hold, archived ones included. Creating one more answers 507 with code initiative_limit_reached, so the client blocks New, Duplicate and Import up front.")
|
|
4185
4185
|
});
|
|
4186
4186
|
var UpdateOrganizationMemberPermissionsParams = objectType({
|
|
4187
4187
|
"userId": coerce.string().uuid()
|
|
4188
4188
|
});
|
|
4189
4189
|
var UpdateOrganizationMemberPermissionsBody = objectType({
|
|
4190
|
-
"permissions": arrayType(stringType()).describe("App-managed permission overrides on top of the fixed role (free-form strings, not a closed enum). Known keys: manage_skills, manage_ai_act, manage_metadata, manage_stage_gate, manage_economics, manage_decision_log, manage_dependencies, manage_required_skills, manage_scoring, manage_status_report, manage_prioritisation, manage_capabilities, manage_capability_impact, manage_milestones.")
|
|
4190
|
+
"permissions": arrayType(stringType()).describe("App-managed permission overrides on top of the fixed role (free-form strings, not a closed enum). Known keys: manage_skills, manage_ai_act, manage_metadata, manage_stage_gate, manage_economics, manage_decision_log, manage_dependencies, manage_required_skills, manage_scoring, manage_status_report, manage_prioritisation, manage_capabilities, manage_capability_impact, manage_milestones, manage_risks.")
|
|
4191
4191
|
});
|
|
4192
4192
|
var UpdateOrganizationMemberPermissionsResponse = objectType({
|
|
4193
4193
|
"userId": stringType().uuid(),
|
|
4194
|
-
"permissions": arrayType(stringType()).describe("App-managed permission overrides on top of the fixed role (free-form strings, not a closed enum). Known keys: manage_skills, manage_ai_act, manage_metadata, manage_stage_gate, manage_economics, manage_decision_log, manage_dependencies, manage_required_skills, manage_scoring, manage_status_report, manage_prioritisation, manage_capabilities, manage_capability_impact, manage_milestones.")
|
|
4194
|
+
"permissions": arrayType(stringType()).describe("App-managed permission overrides on top of the fixed role (free-form strings, not a closed enum). Known keys: manage_skills, manage_ai_act, manage_metadata, manage_stage_gate, manage_economics, manage_decision_log, manage_dependencies, manage_required_skills, manage_scoring, manage_status_report, manage_prioritisation, manage_capabilities, manage_capability_impact, manage_milestones, manage_risks.")
|
|
4195
4195
|
});
|
|
4196
4196
|
var ListPermissionProfilesResponseItem = objectType({
|
|
4197
4197
|
"id": stringType().uuid(),
|
|
@@ -4286,6 +4286,18 @@ var listSnapshotsResponseInitiativesItemMilestonesItemForecastDateRegExp = new R
|
|
|
4286
4286
|
var listSnapshotsResponseInitiativesItemMilestonesItemDoneDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
4287
4287
|
var listSnapshotsResponseInitiativesItemMilestonesItemNoteMax = 1e4;
|
|
4288
4288
|
var listSnapshotsResponseInitiativesItemMilestonesMax = 30;
|
|
4289
|
+
var listSnapshotsResponseInitiativesItemRisksItemTitleMax = 300;
|
|
4290
|
+
var listSnapshotsResponseInitiativesItemRisksItemProbabilityMax = 5;
|
|
4291
|
+
var listSnapshotsResponseInitiativesItemRisksItemImpactMax = 5;
|
|
4292
|
+
var listSnapshotsResponseInitiativesItemRisksItemResidualProbabilityMax = 5;
|
|
4293
|
+
var listSnapshotsResponseInitiativesItemRisksItemResidualImpactMax = 5;
|
|
4294
|
+
var listSnapshotsResponseInitiativesItemRisksItemOwnerMax = 300;
|
|
4295
|
+
var listSnapshotsResponseInitiativesItemRisksItemMitigationMax = 1e4;
|
|
4296
|
+
var listSnapshotsResponseInitiativesItemRisksItemRaisedDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
4297
|
+
var listSnapshotsResponseInitiativesItemRisksItemReviewDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
4298
|
+
var listSnapshotsResponseInitiativesItemRisksItemOccurredDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
4299
|
+
var listSnapshotsResponseInitiativesItemRisksItemNoteMax = 1e4;
|
|
4300
|
+
var listSnapshotsResponseInitiativesItemRisksMax = 50;
|
|
4289
4301
|
var listSnapshotsResponseInitiativesItemDependsOnMax = 1e3;
|
|
4290
4302
|
var listSnapshotsResponseInitiativesItemRequiredSkillsItemRunFteMin = 0;
|
|
4291
4303
|
var listSnapshotsResponseInitiativesItemRequiredSkillsMax = 1e3;
|
|
@@ -4495,6 +4507,22 @@ var ListSnapshotsResponseItem = objectType({
|
|
|
4495
4507
|
"doneDate": stringType().regex(listSnapshotsResponseInitiativesItemMilestonesItemDoneDateRegExp).optional(),
|
|
4496
4508
|
"note": stringType().max(listSnapshotsResponseInitiativesItemMilestonesItemNoteMax).optional()
|
|
4497
4509
|
}).describe("A dated intermediate result (docs/milestones-concept-2026-10-17.md). baselineDate is the agreed plan, forecastDate today's expectation (absent = the baseline), doneDate marks it reached; all yyyy-mm-dd.")).max(listSnapshotsResponseInitiativesItemMilestonesMax).optional(),
|
|
4510
|
+
"risks": arrayType(objectType({
|
|
4511
|
+
"id": stringType(),
|
|
4512
|
+
"title": stringType().min(1).max(listSnapshotsResponseInitiativesItemRisksItemTitleMax),
|
|
4513
|
+
"category": enumType(["delivery", "vendor", "data", "people", "regulatory", "technical", "financial"]),
|
|
4514
|
+
"probability": numberType().min(1).max(listSnapshotsResponseInitiativesItemRisksItemProbabilityMax),
|
|
4515
|
+
"impact": numberType().min(1).max(listSnapshotsResponseInitiativesItemRisksItemImpactMax),
|
|
4516
|
+
"residualProbability": numberType().min(1).max(listSnapshotsResponseInitiativesItemRisksItemResidualProbabilityMax).optional(),
|
|
4517
|
+
"residualImpact": numberType().min(1).max(listSnapshotsResponseInitiativesItemRisksItemResidualImpactMax).optional(),
|
|
4518
|
+
"status": enumType(["open", "mitigating", "closed", "occurred"]),
|
|
4519
|
+
"owner": stringType().max(listSnapshotsResponseInitiativesItemRisksItemOwnerMax).optional(),
|
|
4520
|
+
"mitigation": stringType().max(listSnapshotsResponseInitiativesItemRisksItemMitigationMax).optional(),
|
|
4521
|
+
"raisedDate": stringType().regex(listSnapshotsResponseInitiativesItemRisksItemRaisedDateRegExp).optional(),
|
|
4522
|
+
"reviewDate": stringType().regex(listSnapshotsResponseInitiativesItemRisksItemReviewDateRegExp).optional(),
|
|
4523
|
+
"occurredDate": stringType().regex(listSnapshotsResponseInitiativesItemRisksItemOccurredDateRegExp).optional(),
|
|
4524
|
+
"note": stringType().max(listSnapshotsResponseInitiativesItemRisksItemNoteMax).optional()
|
|
4525
|
+
}).describe("A concrete project risk, or an issue when status is occurred (docs/risks-issues-follow-ups-concept-2026-10-19.md). Probability and impact are integers 1-5; the residual pair (after mitigation) is sent as a pair or not at all. Dates are yyyy-mm-dd.")).max(listSnapshotsResponseInitiativesItemRisksMax).optional(),
|
|
4498
4526
|
"dependsOn": arrayType(stringType()).max(listSnapshotsResponseInitiativesItemDependsOnMax),
|
|
4499
4527
|
"requiredSkills": arrayType(objectType({
|
|
4500
4528
|
"skillId": stringType(),
|
|
@@ -4638,6 +4666,18 @@ var createSnapshotBodyInitiativesItemMilestonesItemForecastDateRegExp = new RegE
|
|
|
4638
4666
|
var createSnapshotBodyInitiativesItemMilestonesItemDoneDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
4639
4667
|
var createSnapshotBodyInitiativesItemMilestonesItemNoteMax = 1e4;
|
|
4640
4668
|
var createSnapshotBodyInitiativesItemMilestonesMax = 30;
|
|
4669
|
+
var createSnapshotBodyInitiativesItemRisksItemTitleMax = 300;
|
|
4670
|
+
var createSnapshotBodyInitiativesItemRisksItemProbabilityMax = 5;
|
|
4671
|
+
var createSnapshotBodyInitiativesItemRisksItemImpactMax = 5;
|
|
4672
|
+
var createSnapshotBodyInitiativesItemRisksItemResidualProbabilityMax = 5;
|
|
4673
|
+
var createSnapshotBodyInitiativesItemRisksItemResidualImpactMax = 5;
|
|
4674
|
+
var createSnapshotBodyInitiativesItemRisksItemOwnerMax = 300;
|
|
4675
|
+
var createSnapshotBodyInitiativesItemRisksItemMitigationMax = 1e4;
|
|
4676
|
+
var createSnapshotBodyInitiativesItemRisksItemRaisedDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
4677
|
+
var createSnapshotBodyInitiativesItemRisksItemReviewDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
4678
|
+
var createSnapshotBodyInitiativesItemRisksItemOccurredDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
4679
|
+
var createSnapshotBodyInitiativesItemRisksItemNoteMax = 1e4;
|
|
4680
|
+
var createSnapshotBodyInitiativesItemRisksMax = 50;
|
|
4641
4681
|
var createSnapshotBodyInitiativesItemDependsOnMax = 1e3;
|
|
4642
4682
|
var createSnapshotBodyInitiativesItemRequiredSkillsItemRunFteMin = 0;
|
|
4643
4683
|
var createSnapshotBodyInitiativesItemRequiredSkillsMax = 1e3;
|
|
@@ -4847,6 +4887,22 @@ var CreateSnapshotBody = objectType({
|
|
|
4847
4887
|
"doneDate": stringType().regex(createSnapshotBodyInitiativesItemMilestonesItemDoneDateRegExp).optional(),
|
|
4848
4888
|
"note": stringType().max(createSnapshotBodyInitiativesItemMilestonesItemNoteMax).optional()
|
|
4849
4889
|
}).describe("A dated intermediate result (docs/milestones-concept-2026-10-17.md). baselineDate is the agreed plan, forecastDate today's expectation (absent = the baseline), doneDate marks it reached; all yyyy-mm-dd.")).max(createSnapshotBodyInitiativesItemMilestonesMax).optional(),
|
|
4890
|
+
"risks": arrayType(objectType({
|
|
4891
|
+
"id": stringType(),
|
|
4892
|
+
"title": stringType().min(1).max(createSnapshotBodyInitiativesItemRisksItemTitleMax),
|
|
4893
|
+
"category": enumType(["delivery", "vendor", "data", "people", "regulatory", "technical", "financial"]),
|
|
4894
|
+
"probability": numberType().min(1).max(createSnapshotBodyInitiativesItemRisksItemProbabilityMax),
|
|
4895
|
+
"impact": numberType().min(1).max(createSnapshotBodyInitiativesItemRisksItemImpactMax),
|
|
4896
|
+
"residualProbability": numberType().min(1).max(createSnapshotBodyInitiativesItemRisksItemResidualProbabilityMax).optional(),
|
|
4897
|
+
"residualImpact": numberType().min(1).max(createSnapshotBodyInitiativesItemRisksItemResidualImpactMax).optional(),
|
|
4898
|
+
"status": enumType(["open", "mitigating", "closed", "occurred"]),
|
|
4899
|
+
"owner": stringType().max(createSnapshotBodyInitiativesItemRisksItemOwnerMax).optional(),
|
|
4900
|
+
"mitigation": stringType().max(createSnapshotBodyInitiativesItemRisksItemMitigationMax).optional(),
|
|
4901
|
+
"raisedDate": stringType().regex(createSnapshotBodyInitiativesItemRisksItemRaisedDateRegExp).optional(),
|
|
4902
|
+
"reviewDate": stringType().regex(createSnapshotBodyInitiativesItemRisksItemReviewDateRegExp).optional(),
|
|
4903
|
+
"occurredDate": stringType().regex(createSnapshotBodyInitiativesItemRisksItemOccurredDateRegExp).optional(),
|
|
4904
|
+
"note": stringType().max(createSnapshotBodyInitiativesItemRisksItemNoteMax).optional()
|
|
4905
|
+
}).describe("A concrete project risk, or an issue when status is occurred (docs/risks-issues-follow-ups-concept-2026-10-19.md). Probability and impact are integers 1-5; the residual pair (after mitigation) is sent as a pair or not at all. Dates are yyyy-mm-dd.")).max(createSnapshotBodyInitiativesItemRisksMax).optional(),
|
|
4850
4906
|
"dependsOn": arrayType(stringType()).max(createSnapshotBodyInitiativesItemDependsOnMax),
|
|
4851
4907
|
"requiredSkills": arrayType(objectType({
|
|
4852
4908
|
"skillId": stringType(),
|
|
@@ -4996,6 +5052,18 @@ var renameSnapshotResponseInitiativesItemMilestonesItemForecastDateRegExp = new
|
|
|
4996
5052
|
var renameSnapshotResponseInitiativesItemMilestonesItemDoneDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
4997
5053
|
var renameSnapshotResponseInitiativesItemMilestonesItemNoteMax = 1e4;
|
|
4998
5054
|
var renameSnapshotResponseInitiativesItemMilestonesMax = 30;
|
|
5055
|
+
var renameSnapshotResponseInitiativesItemRisksItemTitleMax = 300;
|
|
5056
|
+
var renameSnapshotResponseInitiativesItemRisksItemProbabilityMax = 5;
|
|
5057
|
+
var renameSnapshotResponseInitiativesItemRisksItemImpactMax = 5;
|
|
5058
|
+
var renameSnapshotResponseInitiativesItemRisksItemResidualProbabilityMax = 5;
|
|
5059
|
+
var renameSnapshotResponseInitiativesItemRisksItemResidualImpactMax = 5;
|
|
5060
|
+
var renameSnapshotResponseInitiativesItemRisksItemOwnerMax = 300;
|
|
5061
|
+
var renameSnapshotResponseInitiativesItemRisksItemMitigationMax = 1e4;
|
|
5062
|
+
var renameSnapshotResponseInitiativesItemRisksItemRaisedDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
5063
|
+
var renameSnapshotResponseInitiativesItemRisksItemReviewDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
5064
|
+
var renameSnapshotResponseInitiativesItemRisksItemOccurredDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
5065
|
+
var renameSnapshotResponseInitiativesItemRisksItemNoteMax = 1e4;
|
|
5066
|
+
var renameSnapshotResponseInitiativesItemRisksMax = 50;
|
|
4999
5067
|
var renameSnapshotResponseInitiativesItemDependsOnMax = 1e3;
|
|
5000
5068
|
var renameSnapshotResponseInitiativesItemRequiredSkillsItemRunFteMin = 0;
|
|
5001
5069
|
var renameSnapshotResponseInitiativesItemRequiredSkillsMax = 1e3;
|
|
@@ -5205,6 +5273,22 @@ var RenameSnapshotResponse = objectType({
|
|
|
5205
5273
|
"doneDate": stringType().regex(renameSnapshotResponseInitiativesItemMilestonesItemDoneDateRegExp).optional(),
|
|
5206
5274
|
"note": stringType().max(renameSnapshotResponseInitiativesItemMilestonesItemNoteMax).optional()
|
|
5207
5275
|
}).describe("A dated intermediate result (docs/milestones-concept-2026-10-17.md). baselineDate is the agreed plan, forecastDate today's expectation (absent = the baseline), doneDate marks it reached; all yyyy-mm-dd.")).max(renameSnapshotResponseInitiativesItemMilestonesMax).optional(),
|
|
5276
|
+
"risks": arrayType(objectType({
|
|
5277
|
+
"id": stringType(),
|
|
5278
|
+
"title": stringType().min(1).max(renameSnapshotResponseInitiativesItemRisksItemTitleMax),
|
|
5279
|
+
"category": enumType(["delivery", "vendor", "data", "people", "regulatory", "technical", "financial"]),
|
|
5280
|
+
"probability": numberType().min(1).max(renameSnapshotResponseInitiativesItemRisksItemProbabilityMax),
|
|
5281
|
+
"impact": numberType().min(1).max(renameSnapshotResponseInitiativesItemRisksItemImpactMax),
|
|
5282
|
+
"residualProbability": numberType().min(1).max(renameSnapshotResponseInitiativesItemRisksItemResidualProbabilityMax).optional(),
|
|
5283
|
+
"residualImpact": numberType().min(1).max(renameSnapshotResponseInitiativesItemRisksItemResidualImpactMax).optional(),
|
|
5284
|
+
"status": enumType(["open", "mitigating", "closed", "occurred"]),
|
|
5285
|
+
"owner": stringType().max(renameSnapshotResponseInitiativesItemRisksItemOwnerMax).optional(),
|
|
5286
|
+
"mitigation": stringType().max(renameSnapshotResponseInitiativesItemRisksItemMitigationMax).optional(),
|
|
5287
|
+
"raisedDate": stringType().regex(renameSnapshotResponseInitiativesItemRisksItemRaisedDateRegExp).optional(),
|
|
5288
|
+
"reviewDate": stringType().regex(renameSnapshotResponseInitiativesItemRisksItemReviewDateRegExp).optional(),
|
|
5289
|
+
"occurredDate": stringType().regex(renameSnapshotResponseInitiativesItemRisksItemOccurredDateRegExp).optional(),
|
|
5290
|
+
"note": stringType().max(renameSnapshotResponseInitiativesItemRisksItemNoteMax).optional()
|
|
5291
|
+
}).describe("A concrete project risk, or an issue when status is occurred (docs/risks-issues-follow-ups-concept-2026-10-19.md). Probability and impact are integers 1-5; the residual pair (after mitigation) is sent as a pair or not at all. Dates are yyyy-mm-dd.")).max(renameSnapshotResponseInitiativesItemRisksMax).optional(),
|
|
5208
5292
|
"dependsOn": arrayType(stringType()).max(renameSnapshotResponseInitiativesItemDependsOnMax),
|
|
5209
5293
|
"requiredSkills": arrayType(objectType({
|
|
5210
5294
|
"skillId": stringType(),
|
|
@@ -5349,6 +5433,18 @@ var listInitiativesResponseMilestonesItemForecastDateRegExp = new RegExp("^\\d{4
|
|
|
5349
5433
|
var listInitiativesResponseMilestonesItemDoneDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
5350
5434
|
var listInitiativesResponseMilestonesItemNoteMax = 1e4;
|
|
5351
5435
|
var listInitiativesResponseMilestonesMax = 30;
|
|
5436
|
+
var listInitiativesResponseRisksItemTitleMax = 300;
|
|
5437
|
+
var listInitiativesResponseRisksItemProbabilityMax = 5;
|
|
5438
|
+
var listInitiativesResponseRisksItemImpactMax = 5;
|
|
5439
|
+
var listInitiativesResponseRisksItemResidualProbabilityMax = 5;
|
|
5440
|
+
var listInitiativesResponseRisksItemResidualImpactMax = 5;
|
|
5441
|
+
var listInitiativesResponseRisksItemOwnerMax = 300;
|
|
5442
|
+
var listInitiativesResponseRisksItemMitigationMax = 1e4;
|
|
5443
|
+
var listInitiativesResponseRisksItemRaisedDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
5444
|
+
var listInitiativesResponseRisksItemReviewDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
5445
|
+
var listInitiativesResponseRisksItemOccurredDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
5446
|
+
var listInitiativesResponseRisksItemNoteMax = 1e4;
|
|
5447
|
+
var listInitiativesResponseRisksMax = 50;
|
|
5352
5448
|
var listInitiativesResponseDependsOnMax = 1e3;
|
|
5353
5449
|
var listInitiativesResponseRequiredSkillsItemRunFteMin = 0;
|
|
5354
5450
|
var listInitiativesResponseRequiredSkillsMax = 1e3;
|
|
@@ -5552,6 +5648,22 @@ var ListInitiativesResponseItem = objectType({
|
|
|
5552
5648
|
"doneDate": stringType().regex(listInitiativesResponseMilestonesItemDoneDateRegExp).optional(),
|
|
5553
5649
|
"note": stringType().max(listInitiativesResponseMilestonesItemNoteMax).optional()
|
|
5554
5650
|
}).describe("A dated intermediate result (docs/milestones-concept-2026-10-17.md). baselineDate is the agreed plan, forecastDate today's expectation (absent = the baseline), doneDate marks it reached; all yyyy-mm-dd.")).max(listInitiativesResponseMilestonesMax).optional(),
|
|
5651
|
+
"risks": arrayType(objectType({
|
|
5652
|
+
"id": stringType(),
|
|
5653
|
+
"title": stringType().min(1).max(listInitiativesResponseRisksItemTitleMax),
|
|
5654
|
+
"category": enumType(["delivery", "vendor", "data", "people", "regulatory", "technical", "financial"]),
|
|
5655
|
+
"probability": numberType().min(1).max(listInitiativesResponseRisksItemProbabilityMax),
|
|
5656
|
+
"impact": numberType().min(1).max(listInitiativesResponseRisksItemImpactMax),
|
|
5657
|
+
"residualProbability": numberType().min(1).max(listInitiativesResponseRisksItemResidualProbabilityMax).optional(),
|
|
5658
|
+
"residualImpact": numberType().min(1).max(listInitiativesResponseRisksItemResidualImpactMax).optional(),
|
|
5659
|
+
"status": enumType(["open", "mitigating", "closed", "occurred"]),
|
|
5660
|
+
"owner": stringType().max(listInitiativesResponseRisksItemOwnerMax).optional(),
|
|
5661
|
+
"mitigation": stringType().max(listInitiativesResponseRisksItemMitigationMax).optional(),
|
|
5662
|
+
"raisedDate": stringType().regex(listInitiativesResponseRisksItemRaisedDateRegExp).optional(),
|
|
5663
|
+
"reviewDate": stringType().regex(listInitiativesResponseRisksItemReviewDateRegExp).optional(),
|
|
5664
|
+
"occurredDate": stringType().regex(listInitiativesResponseRisksItemOccurredDateRegExp).optional(),
|
|
5665
|
+
"note": stringType().max(listInitiativesResponseRisksItemNoteMax).optional()
|
|
5666
|
+
}).describe("A concrete project risk, or an issue when status is occurred (docs/risks-issues-follow-ups-concept-2026-10-19.md). Probability and impact are integers 1-5; the residual pair (after mitigation) is sent as a pair or not at all. Dates are yyyy-mm-dd.")).max(listInitiativesResponseRisksMax).optional(),
|
|
5555
5667
|
"dependsOn": arrayType(stringType()).max(listInitiativesResponseDependsOnMax),
|
|
5556
5668
|
"requiredSkills": arrayType(objectType({
|
|
5557
5669
|
"skillId": stringType(),
|
|
@@ -5692,6 +5804,18 @@ var createInitiativeBodyOneMilestonesItemForecastDateRegExp = new RegExp("^\\d{4
|
|
|
5692
5804
|
var createInitiativeBodyOneMilestonesItemDoneDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
5693
5805
|
var createInitiativeBodyOneMilestonesItemNoteMax = 1e4;
|
|
5694
5806
|
var createInitiativeBodyOneMilestonesMax = 30;
|
|
5807
|
+
var createInitiativeBodyOneRisksItemTitleMax = 300;
|
|
5808
|
+
var createInitiativeBodyOneRisksItemProbabilityMax = 5;
|
|
5809
|
+
var createInitiativeBodyOneRisksItemImpactMax = 5;
|
|
5810
|
+
var createInitiativeBodyOneRisksItemResidualProbabilityMax = 5;
|
|
5811
|
+
var createInitiativeBodyOneRisksItemResidualImpactMax = 5;
|
|
5812
|
+
var createInitiativeBodyOneRisksItemOwnerMax = 300;
|
|
5813
|
+
var createInitiativeBodyOneRisksItemMitigationMax = 1e4;
|
|
5814
|
+
var createInitiativeBodyOneRisksItemRaisedDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
5815
|
+
var createInitiativeBodyOneRisksItemReviewDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
5816
|
+
var createInitiativeBodyOneRisksItemOccurredDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
5817
|
+
var createInitiativeBodyOneRisksItemNoteMax = 1e4;
|
|
5818
|
+
var createInitiativeBodyOneRisksMax = 50;
|
|
5695
5819
|
var createInitiativeBodyOneDependsOnMax = 1e3;
|
|
5696
5820
|
var createInitiativeBodyOneRequiredSkillsItemRunFteMin = 0;
|
|
5697
5821
|
var createInitiativeBodyOneRequiredSkillsMax = 1e3;
|
|
@@ -5895,6 +6019,22 @@ var CreateInitiativeBody = objectType({
|
|
|
5895
6019
|
"doneDate": stringType().regex(createInitiativeBodyOneMilestonesItemDoneDateRegExp).optional(),
|
|
5896
6020
|
"note": stringType().max(createInitiativeBodyOneMilestonesItemNoteMax).optional()
|
|
5897
6021
|
}).describe("A dated intermediate result (docs/milestones-concept-2026-10-17.md). baselineDate is the agreed plan, forecastDate today's expectation (absent = the baseline), doneDate marks it reached; all yyyy-mm-dd.")).max(createInitiativeBodyOneMilestonesMax).optional(),
|
|
6022
|
+
"risks": arrayType(objectType({
|
|
6023
|
+
"id": stringType(),
|
|
6024
|
+
"title": stringType().min(1).max(createInitiativeBodyOneRisksItemTitleMax),
|
|
6025
|
+
"category": enumType(["delivery", "vendor", "data", "people", "regulatory", "technical", "financial"]),
|
|
6026
|
+
"probability": numberType().min(1).max(createInitiativeBodyOneRisksItemProbabilityMax),
|
|
6027
|
+
"impact": numberType().min(1).max(createInitiativeBodyOneRisksItemImpactMax),
|
|
6028
|
+
"residualProbability": numberType().min(1).max(createInitiativeBodyOneRisksItemResidualProbabilityMax).optional(),
|
|
6029
|
+
"residualImpact": numberType().min(1).max(createInitiativeBodyOneRisksItemResidualImpactMax).optional(),
|
|
6030
|
+
"status": enumType(["open", "mitigating", "closed", "occurred"]),
|
|
6031
|
+
"owner": stringType().max(createInitiativeBodyOneRisksItemOwnerMax).optional(),
|
|
6032
|
+
"mitigation": stringType().max(createInitiativeBodyOneRisksItemMitigationMax).optional(),
|
|
6033
|
+
"raisedDate": stringType().regex(createInitiativeBodyOneRisksItemRaisedDateRegExp).optional(),
|
|
6034
|
+
"reviewDate": stringType().regex(createInitiativeBodyOneRisksItemReviewDateRegExp).optional(),
|
|
6035
|
+
"occurredDate": stringType().regex(createInitiativeBodyOneRisksItemOccurredDateRegExp).optional(),
|
|
6036
|
+
"note": stringType().max(createInitiativeBodyOneRisksItemNoteMax).optional()
|
|
6037
|
+
}).describe("A concrete project risk, or an issue when status is occurred (docs/risks-issues-follow-ups-concept-2026-10-19.md). Probability and impact are integers 1-5; the residual pair (after mitigation) is sent as a pair or not at all. Dates are yyyy-mm-dd.")).max(createInitiativeBodyOneRisksMax).optional(),
|
|
5898
6038
|
"dependsOn": arrayType(stringType()).max(createInitiativeBodyOneDependsOnMax),
|
|
5899
6039
|
"requiredSkills": arrayType(objectType({
|
|
5900
6040
|
"skillId": stringType(),
|
|
@@ -6045,6 +6185,18 @@ var getInitiativeResponseMilestonesItemForecastDateRegExp = new RegExp("^\\d{4}-
|
|
|
6045
6185
|
var getInitiativeResponseMilestonesItemDoneDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
6046
6186
|
var getInitiativeResponseMilestonesItemNoteMax = 1e4;
|
|
6047
6187
|
var getInitiativeResponseMilestonesMax = 30;
|
|
6188
|
+
var getInitiativeResponseRisksItemTitleMax = 300;
|
|
6189
|
+
var getInitiativeResponseRisksItemProbabilityMax = 5;
|
|
6190
|
+
var getInitiativeResponseRisksItemImpactMax = 5;
|
|
6191
|
+
var getInitiativeResponseRisksItemResidualProbabilityMax = 5;
|
|
6192
|
+
var getInitiativeResponseRisksItemResidualImpactMax = 5;
|
|
6193
|
+
var getInitiativeResponseRisksItemOwnerMax = 300;
|
|
6194
|
+
var getInitiativeResponseRisksItemMitigationMax = 1e4;
|
|
6195
|
+
var getInitiativeResponseRisksItemRaisedDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
6196
|
+
var getInitiativeResponseRisksItemReviewDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
6197
|
+
var getInitiativeResponseRisksItemOccurredDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
6198
|
+
var getInitiativeResponseRisksItemNoteMax = 1e4;
|
|
6199
|
+
var getInitiativeResponseRisksMax = 50;
|
|
6048
6200
|
var getInitiativeResponseDependsOnMax = 1e3;
|
|
6049
6201
|
var getInitiativeResponseRequiredSkillsItemRunFteMin = 0;
|
|
6050
6202
|
var getInitiativeResponseRequiredSkillsMax = 1e3;
|
|
@@ -6248,6 +6400,22 @@ var GetInitiativeResponse = objectType({
|
|
|
6248
6400
|
"doneDate": stringType().regex(getInitiativeResponseMilestonesItemDoneDateRegExp).optional(),
|
|
6249
6401
|
"note": stringType().max(getInitiativeResponseMilestonesItemNoteMax).optional()
|
|
6250
6402
|
}).describe("A dated intermediate result (docs/milestones-concept-2026-10-17.md). baselineDate is the agreed plan, forecastDate today's expectation (absent = the baseline), doneDate marks it reached; all yyyy-mm-dd.")).max(getInitiativeResponseMilestonesMax).optional(),
|
|
6403
|
+
"risks": arrayType(objectType({
|
|
6404
|
+
"id": stringType(),
|
|
6405
|
+
"title": stringType().min(1).max(getInitiativeResponseRisksItemTitleMax),
|
|
6406
|
+
"category": enumType(["delivery", "vendor", "data", "people", "regulatory", "technical", "financial"]),
|
|
6407
|
+
"probability": numberType().min(1).max(getInitiativeResponseRisksItemProbabilityMax),
|
|
6408
|
+
"impact": numberType().min(1).max(getInitiativeResponseRisksItemImpactMax),
|
|
6409
|
+
"residualProbability": numberType().min(1).max(getInitiativeResponseRisksItemResidualProbabilityMax).optional(),
|
|
6410
|
+
"residualImpact": numberType().min(1).max(getInitiativeResponseRisksItemResidualImpactMax).optional(),
|
|
6411
|
+
"status": enumType(["open", "mitigating", "closed", "occurred"]),
|
|
6412
|
+
"owner": stringType().max(getInitiativeResponseRisksItemOwnerMax).optional(),
|
|
6413
|
+
"mitigation": stringType().max(getInitiativeResponseRisksItemMitigationMax).optional(),
|
|
6414
|
+
"raisedDate": stringType().regex(getInitiativeResponseRisksItemRaisedDateRegExp).optional(),
|
|
6415
|
+
"reviewDate": stringType().regex(getInitiativeResponseRisksItemReviewDateRegExp).optional(),
|
|
6416
|
+
"occurredDate": stringType().regex(getInitiativeResponseRisksItemOccurredDateRegExp).optional(),
|
|
6417
|
+
"note": stringType().max(getInitiativeResponseRisksItemNoteMax).optional()
|
|
6418
|
+
}).describe("A concrete project risk, or an issue when status is occurred (docs/risks-issues-follow-ups-concept-2026-10-19.md). Probability and impact are integers 1-5; the residual pair (after mitigation) is sent as a pair or not at all. Dates are yyyy-mm-dd.")).max(getInitiativeResponseRisksMax).optional(),
|
|
6251
6419
|
"dependsOn": arrayType(stringType()).max(getInitiativeResponseDependsOnMax),
|
|
6252
6420
|
"requiredSkills": arrayType(objectType({
|
|
6253
6421
|
"skillId": stringType(),
|
|
@@ -6390,6 +6558,18 @@ var updateInitiativeBodyOneMilestonesItemForecastDateRegExp = new RegExp("^\\d{4
|
|
|
6390
6558
|
var updateInitiativeBodyOneMilestonesItemDoneDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
6391
6559
|
var updateInitiativeBodyOneMilestonesItemNoteMax = 1e4;
|
|
6392
6560
|
var updateInitiativeBodyOneMilestonesMax = 30;
|
|
6561
|
+
var updateInitiativeBodyOneRisksItemTitleMax = 300;
|
|
6562
|
+
var updateInitiativeBodyOneRisksItemProbabilityMax = 5;
|
|
6563
|
+
var updateInitiativeBodyOneRisksItemImpactMax = 5;
|
|
6564
|
+
var updateInitiativeBodyOneRisksItemResidualProbabilityMax = 5;
|
|
6565
|
+
var updateInitiativeBodyOneRisksItemResidualImpactMax = 5;
|
|
6566
|
+
var updateInitiativeBodyOneRisksItemOwnerMax = 300;
|
|
6567
|
+
var updateInitiativeBodyOneRisksItemMitigationMax = 1e4;
|
|
6568
|
+
var updateInitiativeBodyOneRisksItemRaisedDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
6569
|
+
var updateInitiativeBodyOneRisksItemReviewDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
6570
|
+
var updateInitiativeBodyOneRisksItemOccurredDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
6571
|
+
var updateInitiativeBodyOneRisksItemNoteMax = 1e4;
|
|
6572
|
+
var updateInitiativeBodyOneRisksMax = 50;
|
|
6393
6573
|
var updateInitiativeBodyOneDependsOnMax = 1e3;
|
|
6394
6574
|
var updateInitiativeBodyOneRequiredSkillsItemRunFteMin = 0;
|
|
6395
6575
|
var updateInitiativeBodyOneRequiredSkillsMax = 1e3;
|
|
@@ -6593,6 +6773,22 @@ var UpdateInitiativeBody = objectType({
|
|
|
6593
6773
|
"doneDate": stringType().regex(updateInitiativeBodyOneMilestonesItemDoneDateRegExp).optional(),
|
|
6594
6774
|
"note": stringType().max(updateInitiativeBodyOneMilestonesItemNoteMax).optional()
|
|
6595
6775
|
}).describe("A dated intermediate result (docs/milestones-concept-2026-10-17.md). baselineDate is the agreed plan, forecastDate today's expectation (absent = the baseline), doneDate marks it reached; all yyyy-mm-dd.")).max(updateInitiativeBodyOneMilestonesMax).optional(),
|
|
6776
|
+
"risks": arrayType(objectType({
|
|
6777
|
+
"id": stringType(),
|
|
6778
|
+
"title": stringType().min(1).max(updateInitiativeBodyOneRisksItemTitleMax),
|
|
6779
|
+
"category": enumType(["delivery", "vendor", "data", "people", "regulatory", "technical", "financial"]),
|
|
6780
|
+
"probability": numberType().min(1).max(updateInitiativeBodyOneRisksItemProbabilityMax),
|
|
6781
|
+
"impact": numberType().min(1).max(updateInitiativeBodyOneRisksItemImpactMax),
|
|
6782
|
+
"residualProbability": numberType().min(1).max(updateInitiativeBodyOneRisksItemResidualProbabilityMax).optional(),
|
|
6783
|
+
"residualImpact": numberType().min(1).max(updateInitiativeBodyOneRisksItemResidualImpactMax).optional(),
|
|
6784
|
+
"status": enumType(["open", "mitigating", "closed", "occurred"]),
|
|
6785
|
+
"owner": stringType().max(updateInitiativeBodyOneRisksItemOwnerMax).optional(),
|
|
6786
|
+
"mitigation": stringType().max(updateInitiativeBodyOneRisksItemMitigationMax).optional(),
|
|
6787
|
+
"raisedDate": stringType().regex(updateInitiativeBodyOneRisksItemRaisedDateRegExp).optional(),
|
|
6788
|
+
"reviewDate": stringType().regex(updateInitiativeBodyOneRisksItemReviewDateRegExp).optional(),
|
|
6789
|
+
"occurredDate": stringType().regex(updateInitiativeBodyOneRisksItemOccurredDateRegExp).optional(),
|
|
6790
|
+
"note": stringType().max(updateInitiativeBodyOneRisksItemNoteMax).optional()
|
|
6791
|
+
}).describe("A concrete project risk, or an issue when status is occurred (docs/risks-issues-follow-ups-concept-2026-10-19.md). Probability and impact are integers 1-5; the residual pair (after mitigation) is sent as a pair or not at all. Dates are yyyy-mm-dd.")).max(updateInitiativeBodyOneRisksMax).optional(),
|
|
6596
6792
|
"dependsOn": arrayType(stringType()).max(updateInitiativeBodyOneDependsOnMax),
|
|
6597
6793
|
"requiredSkills": arrayType(objectType({
|
|
6598
6794
|
"skillId": stringType(),
|
|
@@ -6740,6 +6936,18 @@ var updateInitiativeResponseMilestonesItemForecastDateRegExp = new RegExp("^\\d{
|
|
|
6740
6936
|
var updateInitiativeResponseMilestonesItemDoneDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
6741
6937
|
var updateInitiativeResponseMilestonesItemNoteMax = 1e4;
|
|
6742
6938
|
var updateInitiativeResponseMilestonesMax = 30;
|
|
6939
|
+
var updateInitiativeResponseRisksItemTitleMax = 300;
|
|
6940
|
+
var updateInitiativeResponseRisksItemProbabilityMax = 5;
|
|
6941
|
+
var updateInitiativeResponseRisksItemImpactMax = 5;
|
|
6942
|
+
var updateInitiativeResponseRisksItemResidualProbabilityMax = 5;
|
|
6943
|
+
var updateInitiativeResponseRisksItemResidualImpactMax = 5;
|
|
6944
|
+
var updateInitiativeResponseRisksItemOwnerMax = 300;
|
|
6945
|
+
var updateInitiativeResponseRisksItemMitigationMax = 1e4;
|
|
6946
|
+
var updateInitiativeResponseRisksItemRaisedDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
6947
|
+
var updateInitiativeResponseRisksItemReviewDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
6948
|
+
var updateInitiativeResponseRisksItemOccurredDateRegExp = new RegExp("^\\d{4}-\\d{2}-\\d{2}$");
|
|
6949
|
+
var updateInitiativeResponseRisksItemNoteMax = 1e4;
|
|
6950
|
+
var updateInitiativeResponseRisksMax = 50;
|
|
6743
6951
|
var updateInitiativeResponseDependsOnMax = 1e3;
|
|
6744
6952
|
var updateInitiativeResponseRequiredSkillsItemRunFteMin = 0;
|
|
6745
6953
|
var updateInitiativeResponseRequiredSkillsMax = 1e3;
|
|
@@ -6943,6 +7151,22 @@ var UpdateInitiativeResponse = objectType({
|
|
|
6943
7151
|
"doneDate": stringType().regex(updateInitiativeResponseMilestonesItemDoneDateRegExp).optional(),
|
|
6944
7152
|
"note": stringType().max(updateInitiativeResponseMilestonesItemNoteMax).optional()
|
|
6945
7153
|
}).describe("A dated intermediate result (docs/milestones-concept-2026-10-17.md). baselineDate is the agreed plan, forecastDate today's expectation (absent = the baseline), doneDate marks it reached; all yyyy-mm-dd.")).max(updateInitiativeResponseMilestonesMax).optional(),
|
|
7154
|
+
"risks": arrayType(objectType({
|
|
7155
|
+
"id": stringType(),
|
|
7156
|
+
"title": stringType().min(1).max(updateInitiativeResponseRisksItemTitleMax),
|
|
7157
|
+
"category": enumType(["delivery", "vendor", "data", "people", "regulatory", "technical", "financial"]),
|
|
7158
|
+
"probability": numberType().min(1).max(updateInitiativeResponseRisksItemProbabilityMax),
|
|
7159
|
+
"impact": numberType().min(1).max(updateInitiativeResponseRisksItemImpactMax),
|
|
7160
|
+
"residualProbability": numberType().min(1).max(updateInitiativeResponseRisksItemResidualProbabilityMax).optional(),
|
|
7161
|
+
"residualImpact": numberType().min(1).max(updateInitiativeResponseRisksItemResidualImpactMax).optional(),
|
|
7162
|
+
"status": enumType(["open", "mitigating", "closed", "occurred"]),
|
|
7163
|
+
"owner": stringType().max(updateInitiativeResponseRisksItemOwnerMax).optional(),
|
|
7164
|
+
"mitigation": stringType().max(updateInitiativeResponseRisksItemMitigationMax).optional(),
|
|
7165
|
+
"raisedDate": stringType().regex(updateInitiativeResponseRisksItemRaisedDateRegExp).optional(),
|
|
7166
|
+
"reviewDate": stringType().regex(updateInitiativeResponseRisksItemReviewDateRegExp).optional(),
|
|
7167
|
+
"occurredDate": stringType().regex(updateInitiativeResponseRisksItemOccurredDateRegExp).optional(),
|
|
7168
|
+
"note": stringType().max(updateInitiativeResponseRisksItemNoteMax).optional()
|
|
7169
|
+
}).describe("A concrete project risk, or an issue when status is occurred (docs/risks-issues-follow-ups-concept-2026-10-19.md). Probability and impact are integers 1-5; the residual pair (after mitigation) is sent as a pair or not at all. Dates are yyyy-mm-dd.")).max(updateInitiativeResponseRisksMax).optional(),
|
|
6946
7170
|
"dependsOn": arrayType(stringType()).max(updateInitiativeResponseDependsOnMax),
|
|
6947
7171
|
"requiredSkills": arrayType(objectType({
|
|
6948
7172
|
"skillId": stringType(),
|
|
@@ -10241,6 +10465,9 @@ function assembleInitiative(input, now = /* @__PURE__ */ new Date()) {
|
|
|
10241
10465
|
if (updates && spec.milestones === void 0) {
|
|
10242
10466
|
warnings.push("milestones: none sent, and the app will offer this file as an update \u2014 it replaces the initiative's milestones, so any the app holds are removed. Send the full list to keep them.");
|
|
10243
10467
|
}
|
|
10468
|
+
if (updates) {
|
|
10469
|
+
warnings.push("risks: this file cannot carry risks, and the app will offer it as an update \u2014 any risks the app holds for this initiative are removed. Re-enter them in the app after the import, or add the initiative's details there instead.");
|
|
10470
|
+
}
|
|
10244
10471
|
let businessUnit = spec.businessUnit;
|
|
10245
10472
|
let aiCategory = spec.aiCategory;
|
|
10246
10473
|
if (context) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bicon/mcp-composer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.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",
|