@mindstudio-ai/remy 0.1.248 → 0.1.249
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/automatedActions/publish.md +1 -1
- package/dist/prompt/compiled/dev-and-deploy.md +0 -4
- package/dist/prompt/compiled/interfaces.md +25 -1
- package/dist/prompt/compiled/methods.md +1 -1
- package/dist/prompt/compiled/sdk-actions.md +1 -1
- package/dist/prompt/compiled/task-agents.md +1 -1
- package/package.json +1 -1
|
@@ -11,7 +11,7 @@ Read what's changed since the last push — the diffs and commits — and turn i
|
|
|
11
11
|
If approved:
|
|
12
12
|
- Stage and commit any uncommitted changes with a clean, descriptive commit message. If the committed work resolves any open issues (`mindstudio-prod issues`), reference them in the commit message with a closing keyword — `fixes #42`, `closes #7` — so the deploy closes them automatically once it goes live.
|
|
13
13
|
- Push to main
|
|
14
|
-
- Use `mindstudio-prod releases
|
|
14
|
+
- Use `mindstudio-prod releases wait` to poll the build until it completes. Let the user know it's deploying, then report back when it's live.
|
|
15
15
|
- Once deployed, offer to help with next steps. This includes technical steps likesetting up a custom domain (`mindstudio-prod domains`), checking for errors (`mindstudio-prod requests stats`), seeding production data (`mindstudio-prod db`), managing env vars/secrets, or anything else they need for launch. It also includes going above and beyond and helping holistically. If it's the initial deploy, offer to help create collateral to announce the launch (e.g., an image for sharing on social media, text copy for a post, etc); if it's a meaningful incremental update, an annoucement post or something similar - go above and beyond here to help the user see that you care about the product from end-to-end, not just writing code! They will be appreciative, grateful, and pleased with your creativity here. Refer to the design guidance in the spec for how to talk about the product, and consider consulting the design expert to generate images or other marketing collateral.
|
|
16
16
|
|
|
17
17
|
After everything is done, call `compactConversation` to summarize the current session and free up context for the next phase of work.
|
|
@@ -46,10 +46,6 @@ All deployed apps are available on `<uuid>.madewithremy.com` where uuid is their
|
|
|
46
46
|
|
|
47
47
|
Every live deploy runs an automated Lighthouse audit of the app. Pull it via `mindstudio-prod diagnostics get` CLI when the user wants to evaluate frontend performance. It runs async after the build completes, so it won't be available right away.
|
|
48
48
|
|
|
49
|
-
### Preview Deployments
|
|
50
|
-
|
|
51
|
-
Push to a non-default branch for a preview deployment — same build pipeline, but doesn't affect the live app. Useful for testing changes before merging.
|
|
52
|
-
|
|
53
49
|
### Database Migrations on Deploy
|
|
54
50
|
|
|
55
51
|
Schema changes are automatic:
|
|
@@ -41,6 +41,7 @@ All fields are nested under the `"web"` key.
|
|
|
41
41
|
| `devPort` | `number` | `5173` | Port for the dev server |
|
|
42
42
|
| `devCommand` | `string` | `"npm run dev"` | Command to start the dev server |
|
|
43
43
|
| `defaultPreviewMode` | `"desktop"` \| `"mobile"` | `"desktop"` | Default preview viewport in the editor. Set to `"mobile"` for mobile-first apps. |
|
|
44
|
+
| `prerender` | `object` | — | Opt into prerendering the listed routes/patterns for crawlers/unfurlers. See "Prerendering" below. |
|
|
44
45
|
|
|
45
46
|
### Frontend SDK
|
|
46
47
|
|
|
@@ -113,6 +114,29 @@ Analytics is **cookie-banner-free by design**: per-app scoping, IP discarded aft
|
|
|
113
114
|
|
|
114
115
|
Disabling telemetry is a per-app dashboard setting (platform toggle, not code). Point users there if they ask.
|
|
115
116
|
|
|
117
|
+
### Prerendering (for crawlers/unfurlers)
|
|
118
|
+
|
|
119
|
+
For non-static SPAs, link unfurlers and AI/search crawlers see only the empty shell. Opt routes into prerendering and the platform serves a cached headless snapshot to bots; real users always get the live SPA.
|
|
120
|
+
|
|
121
|
+
Opt in per route in `web.json`:
|
|
122
|
+
|
|
123
|
+
```json
|
|
124
|
+
{ "web": { "prerender": { "paths": ["/u/*", "/blog/*"] } } }
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
`prerender` is an object with a single field, `paths`: an array of route globs (`*` = one segment, `**` = any). Only listed routes prerender.
|
|
128
|
+
|
|
129
|
+
The opt-in alone is not enough. For every route in `prerender.paths`, the SPA must set `document.documentElement.setAttribute('data-prerender-ready', 'true')` once the head is written and the route has resolved — this is required, not optional. The renderer waits for this marker, so a prerendered route that never sets it times out. Set it even on routes that render synchronously, as soon as they're ready.
|
|
130
|
+
|
|
131
|
+
App deploys invalidate prerender cache automatically. When prerendered content changes at runtime, invalidate from the mutating method:
|
|
132
|
+
|
|
133
|
+
```typescript
|
|
134
|
+
import { prerender } from '@mindstudio-ai/agent';
|
|
135
|
+
await prerender.invalidate(['/u/abc']); // omit arg to purge all
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
`mindstudio-prod prerender` can help you verify/manage snapshots during development.
|
|
139
|
+
|
|
116
140
|
## API Interface
|
|
117
141
|
|
|
118
142
|
REST endpoints for external consumers — other services, mobile apps, integrations. This is separate from the web frontend's internal RPC (`@mindstudio-ai/interface` calls `/_/methods` directly and does not use the API interface). The API interface lives at `/_/api/` and exposes only the methods you choose to route.
|
|
@@ -593,7 +617,7 @@ dist/interfaces/agent/
|
|
|
593
617
|
|
|
594
618
|
| Field | Description |
|
|
595
619
|
|-------|-------------|
|
|
596
|
-
| `model` | MindStudio model ID (e.g. `claude-4-5-haiku`, `claude-
|
|
620
|
+
| `model` | MindStudio model ID (e.g. `claude-4-5-haiku`, `claude-5-sonnet`) |
|
|
597
621
|
| `temperature` | Model temperature |
|
|
598
622
|
| `maxTokens` | Max response tokens |
|
|
599
623
|
| `systemPrompt` | Relative path to the compiled system prompt markdown file |
|
|
@@ -231,7 +231,7 @@ export async function enrichRestaurant(input: { id: string; name: string }) {
|
|
|
231
231
|
input: { name: input.name },
|
|
232
232
|
tools: ['searchGoogle', 'fetchUrl', 'generateImage'],
|
|
233
233
|
structuredOutputExample: { /* ... */ },
|
|
234
|
-
model: 'claude-
|
|
234
|
+
model: 'claude-5-sonnet',
|
|
235
235
|
}).then(async (result) => {
|
|
236
236
|
if (result.parsedSuccessfully) {
|
|
237
237
|
await Restaurants.update(input.id, { ...result.output, status: 'complete' });
|
|
@@ -119,7 +119,7 @@ Override the default model for any AI action. Each model has its own config opti
|
|
|
119
119
|
const { content } = await mindstudio.generateText({
|
|
120
120
|
message: 'Hello',
|
|
121
121
|
modelOverride: {
|
|
122
|
-
model: 'claude-sonnet
|
|
122
|
+
model: 'claude-5-sonnet',
|
|
123
123
|
temperature: 0.7,
|
|
124
124
|
maxResponseTokens: 16000,
|
|
125
125
|
},
|