mrvn-cli 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +339 -7
- package/dist/index.js.map +1 -1
- package/dist/marvin-serve.js +73 -2
- package/dist/marvin-serve.js.map +1 -1
- package/dist/marvin.js +339 -7
- package/dist/marvin.js.map +1 -1
- package/package.json +1 -1
package/dist/marvin-serve.js
CHANGED
|
@@ -14899,6 +14899,72 @@ function createMeetingTools(store) {
|
|
|
14899
14899
|
]
|
|
14900
14900
|
};
|
|
14901
14901
|
}
|
|
14902
|
+
),
|
|
14903
|
+
tool7(
|
|
14904
|
+
"analyze_meeting",
|
|
14905
|
+
"Analyze a meeting to identify decisions, actions, and questions. Returns the meeting content with existing project context so you can extract and create artifacts using the create_decision, create_action, and create_question tools.",
|
|
14906
|
+
{
|
|
14907
|
+
id: external_exports.string().describe("Meeting ID to analyze (e.g. 'M-001')"),
|
|
14908
|
+
include_context: external_exports.boolean().optional().describe("Include existing artifacts for dedup awareness (default: true)")
|
|
14909
|
+
},
|
|
14910
|
+
async (args) => {
|
|
14911
|
+
const doc = store.get(args.id);
|
|
14912
|
+
if (!doc) {
|
|
14913
|
+
return {
|
|
14914
|
+
content: [{ type: "text", text: `Meeting ${args.id} not found` }],
|
|
14915
|
+
isError: true
|
|
14916
|
+
};
|
|
14917
|
+
}
|
|
14918
|
+
if (doc.frontmatter.type !== "meeting") {
|
|
14919
|
+
return {
|
|
14920
|
+
content: [{ type: "text", text: `Document ${args.id} is not a meeting (type: ${doc.frontmatter.type})` }],
|
|
14921
|
+
isError: true
|
|
14922
|
+
};
|
|
14923
|
+
}
|
|
14924
|
+
const includeContext = args.include_context !== false;
|
|
14925
|
+
const sections = [];
|
|
14926
|
+
sections.push(`# Meeting: ${doc.frontmatter.title} (${args.id})`);
|
|
14927
|
+
sections.push(`**Status:** ${doc.frontmatter.status}`);
|
|
14928
|
+
sections.push(`**Date:** ${doc.frontmatter.date ?? doc.frontmatter.created}`);
|
|
14929
|
+
if (doc.frontmatter.attendees) {
|
|
14930
|
+
sections.push(`**Attendees:** ${doc.frontmatter.attendees.join(", ")}`);
|
|
14931
|
+
}
|
|
14932
|
+
sections.push("");
|
|
14933
|
+
sections.push(doc.content);
|
|
14934
|
+
if (includeContext) {
|
|
14935
|
+
const decisions = store.list({ type: "decision" });
|
|
14936
|
+
const actions = store.list({ type: "action" });
|
|
14937
|
+
const questions = store.list({ type: "question" });
|
|
14938
|
+
sections.push("\n---\n# Existing Artifacts (for dedup awareness)");
|
|
14939
|
+
if (decisions.length > 0) {
|
|
14940
|
+
sections.push("\n## Existing Decisions");
|
|
14941
|
+
for (const d of decisions) {
|
|
14942
|
+
sections.push(`- ${d.frontmatter.id}: ${d.frontmatter.title} [${d.frontmatter.status}]`);
|
|
14943
|
+
}
|
|
14944
|
+
}
|
|
14945
|
+
if (actions.length > 0) {
|
|
14946
|
+
sections.push("\n## Existing Actions");
|
|
14947
|
+
for (const a of actions) {
|
|
14948
|
+
sections.push(`- ${a.frontmatter.id}: ${a.frontmatter.title} [${a.frontmatter.status}]`);
|
|
14949
|
+
}
|
|
14950
|
+
}
|
|
14951
|
+
if (questions.length > 0) {
|
|
14952
|
+
sections.push("\n## Existing Questions");
|
|
14953
|
+
for (const q of questions) {
|
|
14954
|
+
sections.push(`- ${q.frontmatter.id}: ${q.frontmatter.title} [${q.frontmatter.status}]`);
|
|
14955
|
+
}
|
|
14956
|
+
}
|
|
14957
|
+
}
|
|
14958
|
+
sections.push("\n---\n# Instructions");
|
|
14959
|
+
sections.push(`Analyze this meeting and create artifacts using create_decision, create_action, and create_question tools.`);
|
|
14960
|
+
sections.push(`For each artifact, include the tag "source:${args.id}" for traceability.`);
|
|
14961
|
+
sections.push(`After creating artifacts, update the meeting using update_meeting to append an Outcomes section listing the created artifact IDs.`);
|
|
14962
|
+
sections.push(`Avoid creating duplicates of existing artifacts listed above.`);
|
|
14963
|
+
return {
|
|
14964
|
+
content: [{ type: "text", text: sections.join("\n") }]
|
|
14965
|
+
};
|
|
14966
|
+
},
|
|
14967
|
+
{ annotations: { readOnly: true } }
|
|
14902
14968
|
)
|
|
14903
14969
|
];
|
|
14904
14970
|
}
|
|
@@ -15497,6 +15563,7 @@ var genericAgilePlugin = {
|
|
|
15497
15563
|
- **list_meetings** / **get_meeting**: Browse and read meeting records.
|
|
15498
15564
|
- **create_meeting**: Record new meetings with attendees, date, and agenda.
|
|
15499
15565
|
- **update_meeting**: Update meeting status or notes after completion.
|
|
15566
|
+
- **analyze_meeting**: Analyze a meeting to review its outcomes and extract artifacts.
|
|
15500
15567
|
|
|
15501
15568
|
**Key Workflow Rules:**
|
|
15502
15569
|
- Create features as "draft" and approve them when requirements are clear and prioritized.
|
|
@@ -15517,6 +15584,7 @@ var genericAgilePlugin = {
|
|
|
15517
15584
|
- **list_meetings** / **get_meeting**: Browse and read meeting records.
|
|
15518
15585
|
- **create_meeting**: Record new meetings with attendees, date, and agenda.
|
|
15519
15586
|
- **update_meeting**: Update meeting status or notes after completion.
|
|
15587
|
+
- **analyze_meeting**: Analyze a meeting to review its outcomes and extract artifacts.
|
|
15520
15588
|
|
|
15521
15589
|
**Key Workflow Rules:**
|
|
15522
15590
|
- Only create epics against approved features \u2014 create_epic enforces this.
|
|
@@ -15544,11 +15612,13 @@ var genericAgilePlugin = {
|
|
|
15544
15612
|
- **list_meetings** / **get_meeting**: Browse and read meeting records.
|
|
15545
15613
|
- **create_meeting**: Record new meetings with attendees, date, and agenda.
|
|
15546
15614
|
- **update_meeting**: Update meeting status or notes after completion.
|
|
15615
|
+
- **analyze_meeting**: Analyze a completed meeting to extract decisions, actions, and questions. Use this to ensure meeting outcomes are properly tracked as governance artifacts.
|
|
15547
15616
|
|
|
15548
15617
|
**Key Workflow Rules:**
|
|
15549
15618
|
- After generating any report, offer to save it with save_report for audit trail.
|
|
15550
15619
|
- Proactively flag risks: unowned actions, overdue items, epics linked to deferred features.
|
|
15551
|
-
- Use feature progress reports for stakeholder updates and epic progress for sprint-level tracking
|
|
15620
|
+
- Use feature progress reports for stakeholder updates and epic progress for sprint-level tracking.
|
|
15621
|
+
- Use analyze_meeting after meetings to extract outcomes into governance artifacts.`,
|
|
15552
15622
|
"*": `You have access to feature, epic, and meeting tools for project coordination:
|
|
15553
15623
|
|
|
15554
15624
|
**Features** (F-xxx): Product capabilities defined by the Product Owner. Features progress through draft \u2192 approved \u2192 done.
|
|
@@ -15559,7 +15629,8 @@ var genericAgilePlugin = {
|
|
|
15559
15629
|
|
|
15560
15630
|
- **list_meetings** / **get_meeting**: Browse and read meeting records.
|
|
15561
15631
|
- **create_meeting**: Record meetings with attendees, date, and agenda.
|
|
15562
|
-
- **update_meeting**: Update meeting status or notes
|
|
15632
|
+
- **update_meeting**: Update meeting status or notes.
|
|
15633
|
+
- **analyze_meeting**: Analyze a meeting to extract decisions, actions, and questions as governance artifacts.`
|
|
15563
15634
|
}
|
|
15564
15635
|
};
|
|
15565
15636
|
|