@mindstudio-ai/remy 0.1.287 → 0.1.289
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
CHANGED
|
@@ -1963,10 +1963,11 @@ function stripDollarKeys(envelope) {
|
|
|
1963
1963
|
}
|
|
1964
1964
|
|
|
1965
1965
|
// src/tools/common/searchGoogle.ts
|
|
1966
|
+
var FETCH_TOP_N = 5;
|
|
1966
1967
|
var searchGoogleTool = {
|
|
1967
1968
|
definition: {
|
|
1968
1969
|
name: "searchGoogle",
|
|
1969
|
-
description: "Search Google and return results. Use for research, finding documentation, looking up APIs, or any task where web search would help.",
|
|
1970
|
+
description: "Search Google and return results. Use for research, finding documentation, looking up APIs, or any task where web search would help. The top results come back with their page content already included, so read those before reaching for scrapeWebUrl \u2014 you only need that for URLs this did not return, or for a result further down the list.",
|
|
1970
1971
|
inputSchema: {
|
|
1971
1972
|
type: "object",
|
|
1972
1973
|
properties: {
|
|
@@ -1981,7 +1982,15 @@ var searchGoogleTool = {
|
|
|
1981
1982
|
async execute(input, context) {
|
|
1982
1983
|
const query = input.query;
|
|
1983
1984
|
return runMindstudioCli(
|
|
1984
|
-
[
|
|
1985
|
+
[
|
|
1986
|
+
"search-google",
|
|
1987
|
+
"--query",
|
|
1988
|
+
query,
|
|
1989
|
+
"--export-type",
|
|
1990
|
+
"json",
|
|
1991
|
+
"--fetch-top-n",
|
|
1992
|
+
String(FETCH_TOP_N)
|
|
1993
|
+
],
|
|
1985
1994
|
{
|
|
1986
1995
|
outputKey: "results",
|
|
1987
1996
|
maxBuffer: SEARCH_MAX_BUFFER,
|
|
@@ -4750,9 +4759,10 @@ __export(searchGoogle_exports, {
|
|
|
4750
4759
|
definition: () => definition,
|
|
4751
4760
|
execute: () => execute
|
|
4752
4761
|
});
|
|
4762
|
+
var FETCH_TOP_N2 = 5;
|
|
4753
4763
|
var definition = {
|
|
4754
4764
|
name: "searchGoogle",
|
|
4755
|
-
description: 'Search Google for web results. Reserch modern design trends in industries or verticals, "best [domain] apps 2026", ui patterns, or find something specific if the the user has an explicit reference. Searching for and reading case studies is a great way to get information and context about a project\'s domain. Prioritize authoritative sources like Figma and other design leaders, avoid random blog spam.
|
|
4765
|
+
description: 'Search Google for web results. Reserch modern design trends in industries or verticals, "best [domain] apps 2026", ui patterns, or find something specific if the the user has an explicit reference. Searching for and reading case studies is a great way to get information and context about a project\'s domain. Prioritize authoritative sources like Figma and other design leaders, avoid random blog spam. The top results come back with their page content already included, so read those directly \u2014 only use `scrapeWebUrl` for a result further down the list, or for a URL this did not return.',
|
|
4756
4766
|
inputSchema: {
|
|
4757
4767
|
type: "object",
|
|
4758
4768
|
properties: {
|
|
@@ -4766,7 +4776,15 @@ var definition = {
|
|
|
4766
4776
|
};
|
|
4767
4777
|
async function execute(input, onLog) {
|
|
4768
4778
|
return runMindstudioCli(
|
|
4769
|
-
[
|
|
4779
|
+
[
|
|
4780
|
+
"search-google",
|
|
4781
|
+
"--query",
|
|
4782
|
+
input.query,
|
|
4783
|
+
"--export-type",
|
|
4784
|
+
"json",
|
|
4785
|
+
"--fetch-top-n",
|
|
4786
|
+
String(FETCH_TOP_N2)
|
|
4787
|
+
],
|
|
4770
4788
|
{
|
|
4771
4789
|
outputKey: "results",
|
|
4772
4790
|
onLog,
|
|
@@ -5577,7 +5595,7 @@ var WIREFRAMES_DIR = "src/.wireframes";
|
|
|
5577
5595
|
var UPLOAD_TIMEOUT_MS2 = 3e4;
|
|
5578
5596
|
var definition10 = {
|
|
5579
5597
|
name: "createWireframe",
|
|
5580
|
-
description: "Create (or revise) a wireframe from self-contained HTML+CSS.
|
|
5598
|
+
description: "Create (or revise) a wireframe from self-contained HTML+CSS. Call this while working to generate a sharable wireframe asset: the result returns the exact markdown reference line to paste into your response and into specs (like generateImages returns the image URL). Calling again with the same slug overwrites the wireframe in place, so a revision keeps its path and existing references stay current.",
|
|
5581
5599
|
inputSchema: {
|
|
5582
5600
|
type: "object",
|
|
5583
5601
|
properties: {
|
package/dist/index.js
CHANGED
|
@@ -1509,16 +1509,17 @@ var init_runMindstudioCli = __esm({
|
|
|
1509
1509
|
});
|
|
1510
1510
|
|
|
1511
1511
|
// src/tools/common/searchGoogle.ts
|
|
1512
|
-
var searchGoogleTool;
|
|
1512
|
+
var FETCH_TOP_N, searchGoogleTool;
|
|
1513
1513
|
var init_searchGoogle = __esm({
|
|
1514
1514
|
"src/tools/common/searchGoogle.ts"() {
|
|
1515
1515
|
"use strict";
|
|
1516
1516
|
init_runMindstudioCli();
|
|
1517
1517
|
init_runCli();
|
|
1518
|
+
FETCH_TOP_N = 5;
|
|
1518
1519
|
searchGoogleTool = {
|
|
1519
1520
|
definition: {
|
|
1520
1521
|
name: "searchGoogle",
|
|
1521
|
-
description: "Search Google and return results. Use for research, finding documentation, looking up APIs, or any task where web search would help.",
|
|
1522
|
+
description: "Search Google and return results. Use for research, finding documentation, looking up APIs, or any task where web search would help. The top results come back with their page content already included, so read those before reaching for scrapeWebUrl \u2014 you only need that for URLs this did not return, or for a result further down the list.",
|
|
1522
1523
|
inputSchema: {
|
|
1523
1524
|
type: "object",
|
|
1524
1525
|
properties: {
|
|
@@ -1533,7 +1534,15 @@ var init_searchGoogle = __esm({
|
|
|
1533
1534
|
async execute(input, context) {
|
|
1534
1535
|
const query = input.query;
|
|
1535
1536
|
return runMindstudioCli(
|
|
1536
|
-
[
|
|
1537
|
+
[
|
|
1538
|
+
"search-google",
|
|
1539
|
+
"--query",
|
|
1540
|
+
query,
|
|
1541
|
+
"--export-type",
|
|
1542
|
+
"json",
|
|
1543
|
+
"--fetch-top-n",
|
|
1544
|
+
String(FETCH_TOP_N)
|
|
1545
|
+
],
|
|
1537
1546
|
{
|
|
1538
1547
|
outputKey: "results",
|
|
1539
1548
|
maxBuffer: SEARCH_MAX_BUFFER,
|
|
@@ -5819,7 +5828,15 @@ __export(searchGoogle_exports, {
|
|
|
5819
5828
|
});
|
|
5820
5829
|
async function execute(input, onLog) {
|
|
5821
5830
|
return runMindstudioCli(
|
|
5822
|
-
[
|
|
5831
|
+
[
|
|
5832
|
+
"search-google",
|
|
5833
|
+
"--query",
|
|
5834
|
+
input.query,
|
|
5835
|
+
"--export-type",
|
|
5836
|
+
"json",
|
|
5837
|
+
"--fetch-top-n",
|
|
5838
|
+
String(FETCH_TOP_N2)
|
|
5839
|
+
],
|
|
5823
5840
|
{
|
|
5824
5841
|
outputKey: "results",
|
|
5825
5842
|
onLog,
|
|
@@ -5828,15 +5845,16 @@ async function execute(input, onLog) {
|
|
|
5828
5845
|
}
|
|
5829
5846
|
);
|
|
5830
5847
|
}
|
|
5831
|
-
var definition;
|
|
5848
|
+
var FETCH_TOP_N2, definition;
|
|
5832
5849
|
var init_searchGoogle2 = __esm({
|
|
5833
5850
|
"src/subagents/designExpert/tools/searchGoogle.ts"() {
|
|
5834
5851
|
"use strict";
|
|
5835
5852
|
init_runMindstudioCli();
|
|
5836
5853
|
init_runCli();
|
|
5854
|
+
FETCH_TOP_N2 = 5;
|
|
5837
5855
|
definition = {
|
|
5838
5856
|
name: "searchGoogle",
|
|
5839
|
-
description: 'Search Google for web results. Reserch modern design trends in industries or verticals, "best [domain] apps 2026", ui patterns, or find something specific if the the user has an explicit reference. Searching for and reading case studies is a great way to get information and context about a project\'s domain. Prioritize authoritative sources like Figma and other design leaders, avoid random blog spam.
|
|
5857
|
+
description: 'Search Google for web results. Reserch modern design trends in industries or verticals, "best [domain] apps 2026", ui patterns, or find something specific if the the user has an explicit reference. Searching for and reading case studies is a great way to get information and context about a project\'s domain. Prioritize authoritative sources like Figma and other design leaders, avoid random blog spam. The top results come back with their page content already included, so read those directly \u2014 only use `scrapeWebUrl` for a result further down the list, or for a URL this did not return.',
|
|
5840
5858
|
inputSchema: {
|
|
5841
5859
|
type: "object",
|
|
5842
5860
|
properties: {
|
|
@@ -6878,7 +6896,7 @@ var init_createWireframe = __esm({
|
|
|
6878
6896
|
UPLOAD_TIMEOUT_MS2 = 3e4;
|
|
6879
6897
|
definition10 = {
|
|
6880
6898
|
name: "createWireframe",
|
|
6881
|
-
description: "Create (or revise) a wireframe from self-contained HTML+CSS.
|
|
6899
|
+
description: "Create (or revise) a wireframe from self-contained HTML+CSS. Call this while working to generate a sharable wireframe asset: the result returns the exact markdown reference line to paste into your response and into specs (like generateImages returns the image URL). Calling again with the same slug overwrites the wireframe in place, so a revision keeps its path and existing references stay current.",
|
|
6882
6900
|
inputSchema: {
|
|
6883
6901
|
type: "object",
|
|
6884
6902
|
properties: {
|
|
@@ -243,13 +243,19 @@ full report. The dataset report says whether the ledger is trainable (pairs with
|
|
|
243
243
|
attached `trace` don't count), and a run produces a downloadable LoRA adapter plus a
|
|
244
244
|
held-out agreement report: how often the trained model matched your team's decisions
|
|
245
245
|
on pairs it never saw. The adapter and report land in the app's own file store
|
|
246
|
-
(`models/` in the Files dashboard), so the user can download them there.
|
|
247
|
-
`report.grading.agreement` —
|
|
248
|
-
grader as the pairs dashboard
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
246
|
+
(`models/` in the Files dashboard), so the user can download them there. The
|
|
247
|
+
agreement number is `report.grading.agreement` — scored by the jewel's own grade
|
|
248
|
+
function, the same grader as the pairs dashboard; there is no other agreement field.
|
|
249
|
+
A completed run without a `grading` block just hasn't been graded yet
|
|
250
|
+
(`mindstudio-prod jewels grade <runId>` fills it). A completed run registers the
|
|
251
|
+
app's tuned model as a real model id — `tuned/{appId}/{methodId}`, one stable id per
|
|
252
|
+
method that retraining advances in place — and the latest complete run per method is
|
|
253
|
+
automatically served on the platform's GPU pool, so that id works like any other
|
|
254
|
+
model the moment training finishes. There is no special invoke tool: to sanity-check
|
|
255
|
+
or demo a tuned model, make an ordinary generate-text call with that model id (the
|
|
256
|
+
pool serves it with the exact template posture it was trained under). Promotion (the
|
|
257
|
+
app actually switching a jewel onto its tuned model) is still a deliberate later
|
|
258
|
+
step; do not wire a tuned model into app code unprompted.
|
|
253
259
|
|
|
254
260
|
## Arrival Triggers (`mindstudio.jewels.propose`)
|
|
255
261
|
|
|
@@ -16,7 +16,7 @@ Think about the ways you can truly elevate the design. Use image generation to c
|
|
|
16
16
|
- After you've taken a screenshot, use analyze image to ask different questions about it - don't re-screenshot the page unnecessarily.
|
|
17
17
|
- Match the image engine to the job: `renderImage` (a browser rendering HTML you author) for token-exact graphics — share cards, wordmarks, flat icon tiles; `generateImages` (an image model) for organic, photographic, and illustrated work. Don't ask the image model to hit exact hex codes or typography, and don't hand-write SVG path data — compose HTML/CSS and render it.
|
|
18
18
|
- When you write user-facing copy (headlines, captions, labels, body text), hand it to `polishCopy` before finalizing. It tightens prose so it reads like a person wrote it rather than a machine, without changing what it says. Cheap and fast — use it on any copy that will ship.
|
|
19
|
-
-
|
|
19
|
+
- Build wireframes with `createWireframe` during your working phase as you work out a layout, component, or interaction. Creating wireframes is how you create interactive assets to share back to the user, like how you generate images. The result returns the exact `` reference line; paste it into your response where the wireframe belongs. It renders as a live preview, and the developer reads the file for the exact markup. Same slug = revise in place; new slug = new wireframe.
|
|
20
20
|
|
|
21
21
|
## Voice
|
|
22
22
|
- No emoji, no filler.
|
|
@@ -25,11 +25,11 @@ Some surfaces are deep enough to carry their own craft reference in <available_s
|
|
|
25
25
|
|
|
26
26
|
### Wireframes
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
Wireframes are design artifacts you build while you work, in the same phase as screenshots and image generation. As you work out a layout, a card anatomy, an interaction, or a motion pattern, build it with `createWireframe`: a `name`, a kebab-case `slug`, a one-line `description`, and self-contained HTML+CSS. Sketching in HTML is how you think through spatial decisions, so by the time you write your direction, the wireframes that anchor it already exist. The tool result returns the exact markdown reference line (``) — when you write your response, paste that line wherever the wireframe belongs, with your notes in the surrounding prose. The reference renders as a live visual preview, and the developer reads the file itself for the exact markup and CSS.
|
|
29
29
|
|
|
30
30
|
Never use ASCII art, box-drawing characters, or code-block diagrams to describe layouts. Always use a wireframe instead, even if it's just grey rectangles with labels. A 20-line wireframe with placeholder boxes communicates proportions, spacing, and hierarchy better than any text diagram. For abstract layouts, use skeleton-style placeholders (grey boxes, rounded rects) rather than mocking up real content.
|
|
31
31
|
|
|
32
|
-
Wireframes isolate one small piece: a single card, a button animation, a transition, a grid layout. Keep them to 60-80 lines of HTML+CSS. Past 100 lines, you're building too much. Never build full screens or pages. Most of your communication should be in words
|
|
32
|
+
Wireframes isolate one small piece: a single card, a button animation, a transition, a grid layout. Keep them to 60-80 lines of HTML+CSS. Past 100 lines, you're building too much. Never build full screens or pages. Most of your communication should be in words; build a wireframe whenever you're working out spatial relationships or motion — it's how you sketch.
|
|
33
33
|
|
|
34
34
|
Wireframes render in a small transparent iframe. Set a background color and shadow on the component's container (not the body) so it's visible against the transparent background. Center it in the viewport. No annotations or labels inside the wireframe. Put notes in the surrounding markdown. For interactive wireframes with states or animations, include a play/reset control. No images.
|
|
35
35
|
|