mrvn-cli 0.4.0 → 0.4.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 +25 -4
- package/dist/index.js.map +1 -1
- package/dist/marvin-serve.js +24 -3
- package/dist/marvin-serve.js.map +1 -1
- package/dist/marvin.js +25 -4
- package/dist/marvin.js.map +1 -1
- package/package.json +1 -1
package/dist/marvin-serve.js
CHANGED
|
@@ -15092,7 +15092,14 @@ import { tool as tool8 } from "@anthropic-ai/claude-agent-sdk";
|
|
|
15092
15092
|
// src/plugins/builtin/tools/epic-utils.ts
|
|
15093
15093
|
function normalizeLinkedFeatures(value) {
|
|
15094
15094
|
if (value === void 0 || value === null) return [];
|
|
15095
|
-
if (typeof value === "string")
|
|
15095
|
+
if (typeof value === "string") {
|
|
15096
|
+
try {
|
|
15097
|
+
const parsed = JSON.parse(value);
|
|
15098
|
+
if (Array.isArray(parsed)) return parsed.filter((v) => typeof v === "string");
|
|
15099
|
+
} catch {
|
|
15100
|
+
}
|
|
15101
|
+
return [value];
|
|
15102
|
+
}
|
|
15096
15103
|
if (Array.isArray(value)) return value.filter((v) => typeof v === "string");
|
|
15097
15104
|
return [];
|
|
15098
15105
|
}
|
|
@@ -15915,6 +15922,20 @@ function createFeatureTools(store) {
|
|
|
15915
15922
|
|
|
15916
15923
|
// src/plugins/builtin/tools/epics.ts
|
|
15917
15924
|
import { tool as tool10 } from "@anthropic-ai/claude-agent-sdk";
|
|
15925
|
+
var linkedFeatureArray = external_exports.preprocess(
|
|
15926
|
+
(val) => {
|
|
15927
|
+
if (typeof val === "string") {
|
|
15928
|
+
try {
|
|
15929
|
+
const parsed = JSON.parse(val);
|
|
15930
|
+
if (Array.isArray(parsed)) return parsed;
|
|
15931
|
+
} catch {
|
|
15932
|
+
}
|
|
15933
|
+
return [val];
|
|
15934
|
+
}
|
|
15935
|
+
return val;
|
|
15936
|
+
},
|
|
15937
|
+
external_exports.array(external_exports.string())
|
|
15938
|
+
);
|
|
15918
15939
|
function createEpicTools(store) {
|
|
15919
15940
|
return [
|
|
15920
15941
|
tool10(
|
|
@@ -15980,7 +16001,7 @@ function createEpicTools(store) {
|
|
|
15980
16001
|
{
|
|
15981
16002
|
title: external_exports.string().describe("Epic title"),
|
|
15982
16003
|
content: external_exports.string().describe("Epic description and scope"),
|
|
15983
|
-
linkedFeature:
|
|
16004
|
+
linkedFeature: linkedFeatureArray.describe("Feature ID(s) to link this epic to (e.g. ['F-001'] or ['F-001', 'F-002'])"),
|
|
15984
16005
|
status: external_exports.enum(["planned", "in-progress", "done"]).optional().describe("Epic status (default: 'planned')"),
|
|
15985
16006
|
owner: external_exports.string().optional().describe("Epic owner"),
|
|
15986
16007
|
targetDate: external_exports.string().optional().describe("Target completion date (ISO format)"),
|
|
@@ -16056,7 +16077,7 @@ function createEpicTools(store) {
|
|
|
16056
16077
|
owner: external_exports.string().optional().describe("New owner"),
|
|
16057
16078
|
targetDate: external_exports.string().optional().describe("New target date"),
|
|
16058
16079
|
estimatedEffort: external_exports.string().optional().describe("New estimated effort"),
|
|
16059
|
-
linkedFeature:
|
|
16080
|
+
linkedFeature: linkedFeatureArray.optional().describe("New linked feature ID(s)"),
|
|
16060
16081
|
tags: external_exports.array(external_exports.string()).optional().describe("Replace tags (e.g. remove 'risk', add 'risk-mitigated')")
|
|
16061
16082
|
},
|
|
16062
16083
|
async (args) => {
|