@mindstudio-ai/remy 0.1.254 → 0.1.255
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 +21 -9
- package/dist/index.js +22 -10
- package/package.json +1 -1
package/dist/headless.js
CHANGED
|
@@ -5249,6 +5249,11 @@ var PROMPT_TEMPLATE = readAsset(SUBAGENT, "prompt.md").replace(/\{\{([^}]+)\}\}/
|
|
|
5249
5249
|
const k = key.trim();
|
|
5250
5250
|
return RUNTIME_PLACEHOLDERS.has(k) ? match : readAsset(SUBAGENT, k);
|
|
5251
5251
|
}).replace(/\n{3,}/g, "\n\n");
|
|
5252
|
+
var RENDER_TASK_BLOCK = `<render_task>
|
|
5253
|
+
This task is a render: you are the author of the artifact, not an advisor on it. Everything above describes your usual work \u2014 proposing a design to a developer who then builds it. Here there is no developer downstream. You write the file the brief names, using writeFile (or editFile when it already exists), and that file is the entire deliverable.
|
|
5254
|
+
|
|
5255
|
+
The guidance about specifying layouts in prose, writing implementation notes, and keeping wireframes small doesn't apply here: it exists to hand a design to someone else to build, and you are the one building it. Your reply is a receipt \u2014 one line naming what you wrote.
|
|
5256
|
+
</render_task>`;
|
|
5252
5257
|
function renderDesignSystemBlock(designSystem) {
|
|
5253
5258
|
if (!designSystem) {
|
|
5254
5259
|
return "";
|
|
@@ -5259,7 +5264,7 @@ function renderDesignSystemBlock(designSystem) {
|
|
|
5259
5264
|
"</design_system>"
|
|
5260
5265
|
].join("\n");
|
|
5261
5266
|
}
|
|
5262
|
-
function getDesignExpertPrompt(onboardingState) {
|
|
5267
|
+
function getDesignExpertPrompt(onboardingState, opts) {
|
|
5263
5268
|
const specContext = loadSpecIndex();
|
|
5264
5269
|
const indices = getSampleIndices(
|
|
5265
5270
|
{
|
|
@@ -5304,6 +5309,11 @@ ${designSystemBlock}`;
|
|
|
5304
5309
|
<project_phase>
|
|
5305
5310
|
This project is in the "${state}" phase. The codebase is a placeholder scaffold or is being generated for the first time.
|
|
5306
5311
|
</project_phase>`;
|
|
5312
|
+
}
|
|
5313
|
+
if (opts?.render) {
|
|
5314
|
+
prompt += `
|
|
5315
|
+
|
|
5316
|
+
${RENDER_TASK_BLOCK}`;
|
|
5307
5317
|
}
|
|
5308
5318
|
return prompt;
|
|
5309
5319
|
}
|
|
@@ -5365,17 +5375,19 @@ var DESIGN_EXPERT_RENDER_TOOLS = [
|
|
|
5365
5375
|
async function runDesignExpert(opts, context) {
|
|
5366
5376
|
const history = context.conversationMessages ? getSubAgentHistory(context.conversationMessages, "visualDesignExpert") : [];
|
|
5367
5377
|
return runSubAgent({
|
|
5368
|
-
system: getDesignExpertPrompt(context.onboardingState
|
|
5378
|
+
system: getDesignExpertPrompt(context.onboardingState, {
|
|
5379
|
+
render: opts.render
|
|
5380
|
+
}),
|
|
5369
5381
|
task: opts.task,
|
|
5370
5382
|
history: history.length > 0 ? history : void 0,
|
|
5371
|
-
tools: opts.
|
|
5383
|
+
tools: opts.render ? DESIGN_EXPERT_RENDER_TOOLS : DESIGN_EXPERT_TOOLS,
|
|
5372
5384
|
externalTools: /* @__PURE__ */ new Set(),
|
|
5373
5385
|
executeTool: (name, input, toolCallId, onLog, sams) => {
|
|
5374
5386
|
const childCtx = toolCallId ? { ...deriveContext(context, toolCallId), subAgentMessages: sams } : { ...context, subAgentMessages: sams };
|
|
5375
5387
|
if (COMMON_READ_TOOL_NAMES.has(name)) {
|
|
5376
5388
|
return executeTool(name, input, childCtx);
|
|
5377
5389
|
}
|
|
5378
|
-
if (opts.
|
|
5390
|
+
if (opts.render && RENDER_WRITE_TOOL_NAMES.has(name)) {
|
|
5379
5391
|
return executeTool(name, input, childCtx);
|
|
5380
5392
|
}
|
|
5381
5393
|
return executeDesignExpertTool(name, input, childCtx, toolCallId, onLog);
|
|
@@ -5436,7 +5448,7 @@ var designExpertTool = {
|
|
|
5436
5448
|
}
|
|
5437
5449
|
};
|
|
5438
5450
|
async function runDesignExpertRender(opts, context) {
|
|
5439
|
-
return runDesignExpert({ ...opts,
|
|
5451
|
+
return runDesignExpert({ ...opts, render: true }, context);
|
|
5440
5452
|
}
|
|
5441
5453
|
|
|
5442
5454
|
// src/subagents/productVision/tools.ts
|
|
@@ -5547,14 +5559,14 @@ ${unifiedDiff(filePath, oldContent, "")}`;
|
|
|
5547
5559
|
const delivery = exists ? `### Your deliverable
|
|
5548
5560
|
The pitch deck already exists at \`${filePath}\`. Read it, then update it for the new <pitch_content>, keeping the presentation scaffolding intact \u2014 change only what needs to change.
|
|
5549
5561
|
|
|
5550
|
-
|
|
5562
|
+
Then reply with a one-line summary of what you changed.` : `### Your deliverable
|
|
5551
5563
|
Write the complete pitch deck to \`${filePath}\`. It does not exist yet \u2014 start from this scaffold, keeping its progress bar, chevron navigation, keyboard navigation, and transition mechanics intact:
|
|
5552
5564
|
|
|
5553
5565
|
<pitch_deck_shell>
|
|
5554
5566
|
${PITCH_DECK_SHELL}
|
|
5555
5567
|
</pitch_deck_shell>
|
|
5556
5568
|
|
|
5557
|
-
|
|
5569
|
+
Then reply with a one-line summary of what you wrote.`;
|
|
5558
5570
|
const task = `
|
|
5559
5571
|
<pitch_content>${input.task}</pitch_content>
|
|
5560
5572
|
|
|
@@ -5959,13 +5971,13 @@ Write the complete Build Overview to \`${OVERVIEW_FILE}\`. The file does not exi
|
|
|
5959
5971
|
${OVERVIEW_SHELL}
|
|
5960
5972
|
</overview_shell>
|
|
5961
5973
|
|
|
5962
|
-
|
|
5974
|
+
Then reply with a one-line summary of what you wrote.`;
|
|
5963
5975
|
}
|
|
5964
5976
|
function refreshDelivery() {
|
|
5965
5977
|
return `### Your deliverable
|
|
5966
5978
|
The Build Overview already exists at \`${OVERVIEW_FILE}\`. Read it, then update it to reflect <overview_copy>, preserving its established skin \u2014 change only what the copy changed.
|
|
5967
5979
|
|
|
5968
|
-
|
|
5980
|
+
Then reply with a one-line summary of what you changed.`;
|
|
5969
5981
|
}
|
|
5970
5982
|
var buildOverviewTool = {
|
|
5971
5983
|
clearable: false,
|
package/dist/index.js
CHANGED
|
@@ -6299,7 +6299,7 @@ function renderDesignSystemBlock(designSystem) {
|
|
|
6299
6299
|
"</design_system>"
|
|
6300
6300
|
].join("\n");
|
|
6301
6301
|
}
|
|
6302
|
-
function getDesignExpertPrompt(onboardingState) {
|
|
6302
|
+
function getDesignExpertPrompt(onboardingState, opts) {
|
|
6303
6303
|
const specContext = loadSpecIndex();
|
|
6304
6304
|
const indices = getSampleIndices(
|
|
6305
6305
|
{
|
|
@@ -6344,10 +6344,15 @@ ${designSystemBlock}`;
|
|
|
6344
6344
|
<project_phase>
|
|
6345
6345
|
This project is in the "${state}" phase. The codebase is a placeholder scaffold or is being generated for the first time.
|
|
6346
6346
|
</project_phase>`;
|
|
6347
|
+
}
|
|
6348
|
+
if (opts?.render) {
|
|
6349
|
+
prompt += `
|
|
6350
|
+
|
|
6351
|
+
${RENDER_TASK_BLOCK}`;
|
|
6347
6352
|
}
|
|
6348
6353
|
return prompt;
|
|
6349
6354
|
}
|
|
6350
|
-
var SUBAGENT, RUNTIME_PLACEHOLDERS, PROMPT_TEMPLATE;
|
|
6355
|
+
var SUBAGENT, RUNTIME_PLACEHOLDERS, PROMPT_TEMPLATE, RENDER_TASK_BLOCK;
|
|
6351
6356
|
var init_prompt2 = __esm({
|
|
6352
6357
|
"src/subagents/designExpert/prompt.ts"() {
|
|
6353
6358
|
"use strict";
|
|
@@ -6368,6 +6373,11 @@ var init_prompt2 = __esm({
|
|
|
6368
6373
|
const k = key.trim();
|
|
6369
6374
|
return RUNTIME_PLACEHOLDERS.has(k) ? match : readAsset(SUBAGENT, k);
|
|
6370
6375
|
}).replace(/\n{3,}/g, "\n\n");
|
|
6376
|
+
RENDER_TASK_BLOCK = `<render_task>
|
|
6377
|
+
This task is a render: you are the author of the artifact, not an advisor on it. Everything above describes your usual work \u2014 proposing a design to a developer who then builds it. Here there is no developer downstream. You write the file the brief names, using writeFile (or editFile when it already exists), and that file is the entire deliverable.
|
|
6378
|
+
|
|
6379
|
+
The guidance about specifying layouts in prose, writing implementation notes, and keeping wireframes small doesn't apply here: it exists to hand a design to someone else to build, and you are the one building it. Your reply is a receipt \u2014 one line naming what you wrote.
|
|
6380
|
+
</render_task>`;
|
|
6371
6381
|
}
|
|
6372
6382
|
});
|
|
6373
6383
|
|
|
@@ -6424,17 +6434,19 @@ var init_history = __esm({
|
|
|
6424
6434
|
async function runDesignExpert(opts, context) {
|
|
6425
6435
|
const history = context.conversationMessages ? getSubAgentHistory(context.conversationMessages, "visualDesignExpert") : [];
|
|
6426
6436
|
return runSubAgent({
|
|
6427
|
-
system: getDesignExpertPrompt(context.onboardingState
|
|
6437
|
+
system: getDesignExpertPrompt(context.onboardingState, {
|
|
6438
|
+
render: opts.render
|
|
6439
|
+
}),
|
|
6428
6440
|
task: opts.task,
|
|
6429
6441
|
history: history.length > 0 ? history : void 0,
|
|
6430
|
-
tools: opts.
|
|
6442
|
+
tools: opts.render ? DESIGN_EXPERT_RENDER_TOOLS : DESIGN_EXPERT_TOOLS,
|
|
6431
6443
|
externalTools: /* @__PURE__ */ new Set(),
|
|
6432
6444
|
executeTool: (name, input, toolCallId, onLog, sams) => {
|
|
6433
6445
|
const childCtx = toolCallId ? { ...deriveContext(context, toolCallId), subAgentMessages: sams } : { ...context, subAgentMessages: sams };
|
|
6434
6446
|
if (COMMON_READ_TOOL_NAMES.has(name)) {
|
|
6435
6447
|
return executeTool(name, input, childCtx);
|
|
6436
6448
|
}
|
|
6437
|
-
if (opts.
|
|
6449
|
+
if (opts.render && RENDER_WRITE_TOOL_NAMES.has(name)) {
|
|
6438
6450
|
return executeTool(name, input, childCtx);
|
|
6439
6451
|
}
|
|
6440
6452
|
return executeDesignExpertTool(name, input, childCtx, toolCallId, onLog);
|
|
@@ -6460,7 +6472,7 @@ async function runDesignExpert(opts, context) {
|
|
|
6460
6472
|
});
|
|
6461
6473
|
}
|
|
6462
6474
|
async function runDesignExpertRender(opts, context) {
|
|
6463
|
-
return runDesignExpert({ ...opts,
|
|
6475
|
+
return runDesignExpert({ ...opts, render: true }, context);
|
|
6464
6476
|
}
|
|
6465
6477
|
var DESCRIPTION, RENDER_WRITE_TOOL_NAMES, DESIGN_EXPERT_RENDER_TOOLS, designExpertTool;
|
|
6466
6478
|
var init_designExpert = __esm({
|
|
@@ -6632,14 +6644,14 @@ ${unifiedDiff(filePath, oldContent, "")}`;
|
|
|
6632
6644
|
const delivery = exists ? `### Your deliverable
|
|
6633
6645
|
The pitch deck already exists at \`${filePath}\`. Read it, then update it for the new <pitch_content>, keeping the presentation scaffolding intact \u2014 change only what needs to change.
|
|
6634
6646
|
|
|
6635
|
-
|
|
6647
|
+
Then reply with a one-line summary of what you changed.` : `### Your deliverable
|
|
6636
6648
|
Write the complete pitch deck to \`${filePath}\`. It does not exist yet \u2014 start from this scaffold, keeping its progress bar, chevron navigation, keyboard navigation, and transition mechanics intact:
|
|
6637
6649
|
|
|
6638
6650
|
<pitch_deck_shell>
|
|
6639
6651
|
${PITCH_DECK_SHELL}
|
|
6640
6652
|
</pitch_deck_shell>
|
|
6641
6653
|
|
|
6642
|
-
|
|
6654
|
+
Then reply with a one-line summary of what you wrote.`;
|
|
6643
6655
|
const task = `
|
|
6644
6656
|
<pitch_content>${input.task}</pitch_content>
|
|
6645
6657
|
|
|
@@ -7097,13 +7109,13 @@ Write the complete Build Overview to \`${OVERVIEW_FILE}\`. The file does not exi
|
|
|
7097
7109
|
${OVERVIEW_SHELL}
|
|
7098
7110
|
</overview_shell>
|
|
7099
7111
|
|
|
7100
|
-
|
|
7112
|
+
Then reply with a one-line summary of what you wrote.`;
|
|
7101
7113
|
}
|
|
7102
7114
|
function refreshDelivery() {
|
|
7103
7115
|
return `### Your deliverable
|
|
7104
7116
|
The Build Overview already exists at \`${OVERVIEW_FILE}\`. Read it, then update it to reflect <overview_copy>, preserving its established skin \u2014 change only what the copy changed.
|
|
7105
7117
|
|
|
7106
|
-
|
|
7118
|
+
Then reply with a one-line summary of what you changed.`;
|
|
7107
7119
|
}
|
|
7108
7120
|
var OVERVIEW_FILE, DESIGN_BRIEF, OVERVIEW_SHELL, buildOverviewTool;
|
|
7109
7121
|
var init_writeBuildOverview = __esm({
|