@mindstudio-ai/agent 0.1.37 → 0.1.38
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/cli.js +14 -6
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/postinstall.js +14 -6
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1516,6 +1516,11 @@ function deserializeRow(row, columns) {
|
|
|
1516
1516
|
} catch {
|
|
1517
1517
|
result[key] = value;
|
|
1518
1518
|
}
|
|
1519
|
+
} else if (col?.type === "boolean" && typeof value === "number") {
|
|
1520
|
+
result[key] = value !== 0;
|
|
1521
|
+
} else if (col?.type === "number" && typeof value === "string") {
|
|
1522
|
+
const num = Number(value);
|
|
1523
|
+
result[key] = Number.isNaN(num) ? value : num;
|
|
1519
1524
|
} else {
|
|
1520
1525
|
result[key] = value;
|
|
1521
1526
|
}
|
|
@@ -4718,6 +4723,8 @@ function buildReferenceDocs(data) {
|
|
|
4718
4723
|
|
|
4719
4724
|
Database queries (Query, Mutation) support both \`await\` and \`.then()/.catch()\` \u2014 use standard try/catch with await or chain \`.catch()\` directly.
|
|
4720
4725
|
|
|
4726
|
+
Auth + DB identity: When an app has auth enabled, the authenticated user IS a row in the app's users table. \`auth.userId\` is the row's \`id\` \u2014 do NOT add a separate \`userId\` column. Access user data with \`Users.get(auth.userId)\`. The platform creates the user row on first login and manages the \`email\`, \`phone\`, and \`roles\` columns automatically.
|
|
4727
|
+
|
|
4721
4728
|
Table options: \`db.defineTable<T>(name, { unique, defaults })\`.
|
|
4722
4729
|
- \`unique: [['email'], ['userId', 'orgId']]\` \u2014 declares unique constraints (SDK communicates to platform, enables upsert).
|
|
4723
4730
|
- \`defaults: { status: 'pending' }\` \u2014 client-side defaults applied in push() and upsert().
|
|
@@ -4793,6 +4800,7 @@ var init_instructions = __esm({
|
|
|
4793
4800
|
- **Missing MindStudioError handling** \u2014 the SDK has structured errors with \`code\`, \`status\`, \`details\`. Catching generic \`Error\` loses actionable information. Always include \`MindStudioError\` handling in code examples.
|
|
4794
4801
|
- **One-at-a-time db writes when batch exists** \u2014 N sequential \`update()\` or \`push()\` calls should be a single \`db.batch()\` call. One round trip instead of N.
|
|
4795
4802
|
- **Hardcoded model IDs without context** \u2014 model IDs can change. When writing code with a specific model, include a comment noting which model it is and why it was chosen, so the caller can swap it later.
|
|
4803
|
+
- **Adding a userId column to the auth users table** \u2014 \`auth.userId\` IS the row's \`id\` in the users table. The platform creates the row on login. Don't add a separate \`userId\` column \u2014 just use \`Users.get(auth.userId)\` to access the user's row.
|
|
4796
4804
|
- Do not recommend using thread persistence. This is an advanced feature - if someone needs this they will discover it on their own.
|
|
4797
4805
|
- Generate text is great for one-off text generation requests to models. For sustained conversations, conversations that require history, persistence, or multiple threads or tool use, recommend that the developer add an Agent interface to their MindStudio app and use that directly. They will understand what you mean by this.
|
|
4798
4806
|
</anti_patterns>
|
|
@@ -5114,7 +5122,7 @@ async function startMcpServer(options) {
|
|
|
5114
5122
|
capabilities: { tools: {} },
|
|
5115
5123
|
serverInfo: {
|
|
5116
5124
|
name: "mindstudio-agent",
|
|
5117
|
-
version: "0.1.
|
|
5125
|
+
version: "0.1.38"
|
|
5118
5126
|
},
|
|
5119
5127
|
instructions: 'Welcome to MindStudio \u2014 a platform with 200+ AI models, 850+ third-party integrations, and pre-built agents.\n\nGetting started:\n1. Call `ask` with any question about the SDK \u2014 it knows every action, model, and connector and returns working code with real model IDs and config options. Examples: ask("generate an image with FLUX"), ask("what models support vision?"), ask("how do I send a Slack message?").\n2. Call `changeName` to set your display name \u2014 use your name or whatever your user calls you. This is how you\'ll appear in MindStudio request logs.\n3. If you have a profile picture or icon, call `uploadFile` to upload it, then `changeProfilePicture` with the returned URL.\n4. For manual browsing, call `listActions` to discover all available actions.\n\nThen use the tools to generate text, images, video, audio, search the web, work with data sources, run agents, and more.\n\nImportant:\n- AI-powered actions (text generation, image generation, video, audio, etc.) cost money. Before running these, call `estimateActionCost` and confirm with the user before proceeding \u2014 unless they\'ve explicitly told you to go ahead.\n- Not all agents from `listAgents` are configured for API use. Do not try to run an agent just because it appears in the list \u2014 it will likely fail. Only run agents the user specifically asks you to run.'
|
|
5120
5128
|
});
|
|
@@ -6071,7 +6079,7 @@ function isNewerVersion(current, latest) {
|
|
|
6071
6079
|
return false;
|
|
6072
6080
|
}
|
|
6073
6081
|
async function checkForUpdate() {
|
|
6074
|
-
const currentVersion = "0.1.
|
|
6082
|
+
const currentVersion = "0.1.38";
|
|
6075
6083
|
if (!currentVersion) return null;
|
|
6076
6084
|
try {
|
|
6077
6085
|
const { loadConfig: loadConfig2, saveConfig: saveConfig2 } = await Promise.resolve().then(() => (init_config(), config_exports));
|
|
@@ -6100,7 +6108,7 @@ async function checkForUpdate() {
|
|
|
6100
6108
|
}
|
|
6101
6109
|
}
|
|
6102
6110
|
function printUpdateNotice(latestVersion) {
|
|
6103
|
-
const currentVersion = "0.1.
|
|
6111
|
+
const currentVersion = "0.1.38";
|
|
6104
6112
|
process.stderr.write(
|
|
6105
6113
|
`
|
|
6106
6114
|
${ansi2.cyanBright("Update available")} ${ansi2.gray(currentVersion + " \u2192")} ${ansi2.cyanBold(latestVersion)}
|
|
@@ -6113,7 +6121,7 @@ function isStandaloneBinary() {
|
|
|
6113
6121
|
return !argv1.includes("node_modules");
|
|
6114
6122
|
}
|
|
6115
6123
|
async function cmdUpdate() {
|
|
6116
|
-
const currentVersion = "0.1.
|
|
6124
|
+
const currentVersion = "0.1.38";
|
|
6117
6125
|
process.stderr.write(
|
|
6118
6126
|
` ${ansi2.gray("Current version:")} ${currentVersion}
|
|
6119
6127
|
`
|
|
@@ -6248,7 +6256,7 @@ async function cmdLogin(options) {
|
|
|
6248
6256
|
process.stderr.write("\n");
|
|
6249
6257
|
printLogo();
|
|
6250
6258
|
process.stderr.write("\n");
|
|
6251
|
-
const ver = "0.1.
|
|
6259
|
+
const ver = "0.1.38";
|
|
6252
6260
|
process.stderr.write(
|
|
6253
6261
|
` ${ansi2.bold("MindStudio Agent")} ${ver ? " " + ansi2.gray("v" + ver) : ""}
|
|
6254
6262
|
`
|
|
@@ -6575,7 +6583,7 @@ async function main() {
|
|
|
6575
6583
|
try {
|
|
6576
6584
|
if (command === "version" || command === "-v") {
|
|
6577
6585
|
process.stdout.write(
|
|
6578
|
-
"0.1.
|
|
6586
|
+
"0.1.38\n"
|
|
6579
6587
|
);
|
|
6580
6588
|
return;
|
|
6581
6589
|
}
|
package/dist/index.js
CHANGED
|
@@ -281,6 +281,11 @@ function deserializeRow(row, columns) {
|
|
|
281
281
|
} catch {
|
|
282
282
|
result[key] = value;
|
|
283
283
|
}
|
|
284
|
+
} else if (col?.type === "boolean" && typeof value === "number") {
|
|
285
|
+
result[key] = value !== 0;
|
|
286
|
+
} else if (col?.type === "number" && typeof value === "string") {
|
|
287
|
+
const num = Number(value);
|
|
288
|
+
result[key] = Number.isNaN(num) ? value : num;
|
|
284
289
|
} else {
|
|
285
290
|
result[key] = value;
|
|
286
291
|
}
|