@mindstudio-ai/remy 0.1.128 → 0.1.130
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/headless.js +11 -5
- package/dist/index.js +11 -5
- package/dist/subagents/productVision/prompt.md +1 -1
- package/package.json +1 -1
package/dist/headless.js
CHANGED
|
@@ -2822,10 +2822,12 @@ Current date: ${dateStr}`;
|
|
|
2822
2822
|
const excludeToolsFromClearing = tools2.filter((t) => t.clearable === false).map((t) => t.name);
|
|
2823
2823
|
let turns = 0;
|
|
2824
2824
|
const run = async () => {
|
|
2825
|
+
const historyLen = (history ?? []).length;
|
|
2825
2826
|
const messages = [
|
|
2826
2827
|
...history ?? [],
|
|
2827
2828
|
{ role: "user", content: task }
|
|
2828
2829
|
];
|
|
2830
|
+
const thisInvocation = () => messages.slice(historyLen);
|
|
2829
2831
|
function getPartialText(blocks) {
|
|
2830
2832
|
return blocks.filter((b) => b.type === "text").map((b) => b.text).join("");
|
|
2831
2833
|
}
|
|
@@ -2836,10 +2838,10 @@ Current date: ${dateStr}`;
|
|
|
2836
2838
|
text: partial ? `[INTERRUPTED - PARTIAL OUTPUT RETRIEVED] Note that partial output may include thinking text or other unfinalized decisions. It is NOT an authoritative response from this agent.
|
|
2837
2839
|
|
|
2838
2840
|
${partial}` : "[INTERRUPTED] Agent was interrupted before producing output.",
|
|
2839
|
-
messages
|
|
2841
|
+
messages: thisInvocation()
|
|
2840
2842
|
};
|
|
2841
2843
|
}
|
|
2842
|
-
return { text: "Error: cancelled", messages };
|
|
2844
|
+
return { text: "Error: cancelled", messages: thisInvocation() };
|
|
2843
2845
|
}
|
|
2844
2846
|
let lastToolResult = "";
|
|
2845
2847
|
while (true) {
|
|
@@ -2946,7 +2948,10 @@ ${partial}` : "[INTERRUPTED] Agent was interrupted before producing output.",
|
|
|
2946
2948
|
stopReason = event.stopReason;
|
|
2947
2949
|
break;
|
|
2948
2950
|
case "error":
|
|
2949
|
-
return {
|
|
2951
|
+
return {
|
|
2952
|
+
text: `Error: ${event.error}`,
|
|
2953
|
+
messages: thisInvocation()
|
|
2954
|
+
};
|
|
2950
2955
|
}
|
|
2951
2956
|
}
|
|
2952
2957
|
} catch (err) {
|
|
@@ -2968,7 +2973,7 @@ ${partial}` : "[INTERRUPTED] Agent was interrupted before producing output.",
|
|
|
2968
2973
|
if (stopReason !== "tool_use" || toolCalls.length === 0) {
|
|
2969
2974
|
statusWatcher.stop();
|
|
2970
2975
|
const text = getPartialText(contentBlocks);
|
|
2971
|
-
return { text, messages };
|
|
2976
|
+
return { text, messages: thisInvocation() };
|
|
2972
2977
|
}
|
|
2973
2978
|
log5.info("Tools executing", {
|
|
2974
2979
|
requestId,
|
|
@@ -4685,10 +4690,11 @@ Use <current_deck> as your starting point and replace or update the content as n
|
|
|
4685
4690
|
### Rules
|
|
4686
4691
|
- The deck must be a single HTML file \u2014 it will be rendered in an iframe.
|
|
4687
4692
|
- Must look beautiful on desktop and mobile.
|
|
4688
|
-
- Animation between slides must be seamless, no flicker or flashing.
|
|
4693
|
+
- Animation between slides must be seamless, no flicker or flashing. For reveal animations: hide elements with CSS \`opacity: 0\` only (no transform in CSS). Let GSAP handle transforms via inline styles and never use \`clearProps\`.
|
|
4689
4694
|
- Be bold and impactful.
|
|
4690
4695
|
- 6-8 slides max. No fluff, just impact.
|
|
4691
4696
|
- Code must be clean, bug free, and easy to parse. Use GSAP for animations.
|
|
4697
|
+
- Keep the progress bar and edge chevrons from the shell \u2014 they are part of the navigation UX.
|
|
4692
4698
|
|
|
4693
4699
|
Respond only with the complete HTML file and absolutely no other text. Your response will be written directly to an html file.`;
|
|
4694
4700
|
const result = await designExpertTool.execute({ task }, context);
|
package/dist/index.js
CHANGED
|
@@ -2535,10 +2535,12 @@ Current date: ${dateStr}`;
|
|
|
2535
2535
|
const excludeToolsFromClearing = tools2.filter((t) => t.clearable === false).map((t) => t.name);
|
|
2536
2536
|
let turns = 0;
|
|
2537
2537
|
const run = async () => {
|
|
2538
|
+
const historyLen = (history ?? []).length;
|
|
2538
2539
|
const messages = [
|
|
2539
2540
|
...history ?? [],
|
|
2540
2541
|
{ role: "user", content: task }
|
|
2541
2542
|
];
|
|
2543
|
+
const thisInvocation = () => messages.slice(historyLen);
|
|
2542
2544
|
function getPartialText(blocks) {
|
|
2543
2545
|
return blocks.filter((b) => b.type === "text").map((b) => b.text).join("");
|
|
2544
2546
|
}
|
|
@@ -2549,10 +2551,10 @@ Current date: ${dateStr}`;
|
|
|
2549
2551
|
text: partial ? `[INTERRUPTED - PARTIAL OUTPUT RETRIEVED] Note that partial output may include thinking text or other unfinalized decisions. It is NOT an authoritative response from this agent.
|
|
2550
2552
|
|
|
2551
2553
|
${partial}` : "[INTERRUPTED] Agent was interrupted before producing output.",
|
|
2552
|
-
messages
|
|
2554
|
+
messages: thisInvocation()
|
|
2553
2555
|
};
|
|
2554
2556
|
}
|
|
2555
|
-
return { text: "Error: cancelled", messages };
|
|
2557
|
+
return { text: "Error: cancelled", messages: thisInvocation() };
|
|
2556
2558
|
}
|
|
2557
2559
|
let lastToolResult = "";
|
|
2558
2560
|
while (true) {
|
|
@@ -2659,7 +2661,10 @@ ${partial}` : "[INTERRUPTED] Agent was interrupted before producing output.",
|
|
|
2659
2661
|
stopReason = event.stopReason;
|
|
2660
2662
|
break;
|
|
2661
2663
|
case "error":
|
|
2662
|
-
return {
|
|
2664
|
+
return {
|
|
2665
|
+
text: `Error: ${event.error}`,
|
|
2666
|
+
messages: thisInvocation()
|
|
2667
|
+
};
|
|
2663
2668
|
}
|
|
2664
2669
|
}
|
|
2665
2670
|
} catch (err) {
|
|
@@ -2681,7 +2686,7 @@ ${partial}` : "[INTERRUPTED] Agent was interrupted before producing output.",
|
|
|
2681
2686
|
if (stopReason !== "tool_use" || toolCalls.length === 0) {
|
|
2682
2687
|
statusWatcher.stop();
|
|
2683
2688
|
const text = getPartialText(contentBlocks);
|
|
2684
|
-
return { text, messages };
|
|
2689
|
+
return { text, messages: thisInvocation() };
|
|
2685
2690
|
}
|
|
2686
2691
|
log3.info("Tools executing", {
|
|
2687
2692
|
requestId,
|
|
@@ -4642,10 +4647,11 @@ Use <current_deck> as your starting point and replace or update the content as n
|
|
|
4642
4647
|
### Rules
|
|
4643
4648
|
- The deck must be a single HTML file \u2014 it will be rendered in an iframe.
|
|
4644
4649
|
- Must look beautiful on desktop and mobile.
|
|
4645
|
-
- Animation between slides must be seamless, no flicker or flashing.
|
|
4650
|
+
- Animation between slides must be seamless, no flicker or flashing. For reveal animations: hide elements with CSS \`opacity: 0\` only (no transform in CSS). Let GSAP handle transforms via inline styles and never use \`clearProps\`.
|
|
4646
4651
|
- Be bold and impactful.
|
|
4647
4652
|
- 6-8 slides max. No fluff, just impact.
|
|
4648
4653
|
- Code must be clean, bug free, and easy to parse. Use GSAP for animations.
|
|
4654
|
+
- Keep the progress bar and edge chevrons from the shell \u2014 they are part of the navigation UX.
|
|
4649
4655
|
|
|
4650
4656
|
Respond only with the complete HTML file and absolutely no other text. Your response will be written directly to an html file.`;
|
|
4651
4657
|
const result = await designExpertTool.execute({ task }, context);
|
|
@@ -88,7 +88,7 @@ Common operations:
|
|
|
88
88
|
|
|
89
89
|
For each new roadmap item:
|
|
90
90
|
- **name** — short, exciting, user-facing. No technical jargon.
|
|
91
|
-
- **description** — 1-
|
|
91
|
+
- **description** — 1 sentence, high-level elevator pitch/teaser for the feature. Used as a subtitle when displaying roadmap items in cards.
|
|
92
92
|
- **effort** — `quick`, `small`, `medium`, or `large`
|
|
93
93
|
- **body** — a structured MSFM document - keep it brief and focused on the big picture, it will be filled in later:
|
|
94
94
|
|