@mongoosejs/studio 0.0.135 → 0.0.136

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.
@@ -55,7 +55,7 @@ module.exports = ({ db, studioConnection, options }) => async function createCha
55
55
  });
56
56
  }
57
57
 
58
- if (options.context) {
58
+ if (options?.context) {
59
59
  llmMessages.unshift({
60
60
  role: 'system',
61
61
  content: options.context
@@ -4185,6 +4185,7 @@ module.exports = app => app.component('models', {
4185
4185
  const before = this.searchText.slice(0, cursorPos);
4186
4186
  const after = this.searchText.slice(cursorPos);
4187
4187
  const match = before.match(/(?:\{|,)\s*([^:\s]*)$/);
4188
+ const colonNeeded = !/^\s*:/.test(after);
4188
4189
  if (!match) {
4189
4190
  return;
4190
4191
  }
@@ -4199,6 +4200,10 @@ module.exports = app => app.component('models', {
4199
4200
  if (trailingQuote && !replacement.endsWith(trailingQuote)) {
4200
4201
  replacement = `${replacement}${trailingQuote}`;
4201
4202
  }
4203
+ // Only insert : if we know the user isn't entering in a nested path
4204
+ if (colonNeeded && (!leadingQuote || trailingQuote)) {
4205
+ replacement = `${replacement}:`;
4206
+ }
4202
4207
  this.searchText = this.searchText.slice(0, start) + replacement + after;
4203
4208
  this.$nextTick(() => {
4204
4209
  const pos = start + replacement.length;
@@ -15927,7 +15932,7 @@ module.exports = function stringToParts(str) {
15927
15932
  /***/ ((module) => {
15928
15933
 
15929
15934
  "use strict";
15930
- module.exports = /*#__PURE__*/JSON.parse('{"name":"@mongoosejs/studio","version":"0.0.135","description":"A sleek, powerful MongoDB UI with built-in dashboarding and auth, seamlessly integrated with your Express, Vercel, or Netlify app.","homepage":"https://studio.mongoosejs.io/","repository":{"type":"git","url":"https://github.com/mongoosejs/studio"},"dependencies":{"archetype":"0.13.1","csv-stringify":"6.3.0","ejson":"^2.2.3","extrovert":"^0.1.0","marked":"15.0.12","node-inspect-extracted":"3.x","tailwindcss":"3.4.0","vanillatoasts":"^1.6.0","vue":"3.x","webpack":"5.x"},"peerDependencies":{"bson":"^5.5.1 || 6.x","express":"4.x","mongoose":"7.x || 8.x"},"devDependencies":{"@masteringjs/eslint-config":"0.1.1","axios":"1.2.2","dedent":"^1.6.0","eslint":"9.30.0","express":"4.x","mocha":"10.2.0","mongoose":"8.x"},"scripts":{"lint":"eslint .","tailwind":"tailwindcss -o ./frontend/public/tw.css","tailwind:watch":"tailwindcss -o ./frontend/public/tw.css --watch","test":"mocha test/*.test.js"}}');
15935
+ module.exports = /*#__PURE__*/JSON.parse('{"name":"@mongoosejs/studio","version":"0.0.136","description":"A sleek, powerful MongoDB UI with built-in dashboarding and auth, seamlessly integrated with your Express, Vercel, or Netlify app.","homepage":"https://studio.mongoosejs.io/","repository":{"type":"git","url":"https://github.com/mongoosejs/studio"},"license":"Apache-2.0","dependencies":{"archetype":"0.13.1","csv-stringify":"6.3.0","ejson":"^2.2.3","extrovert":"^0.1.0","marked":"15.0.12","node-inspect-extracted":"3.x","tailwindcss":"3.4.0","vanillatoasts":"^1.6.0","vue":"3.x","webpack":"5.x"},"peerDependencies":{"bson":"^5.5.1 || 6.x","express":"4.x","mongoose":"7.x || 8.x"},"devDependencies":{"@masteringjs/eslint-config":"0.1.1","axios":"1.2.2","dedent":"^1.6.0","eslint":"9.30.0","express":"4.x","mocha":"10.2.0","mongoose":"8.x"},"scripts":{"lint":"eslint .","tailwind":"tailwindcss -o ./frontend/public/tw.css","tailwind:watch":"tailwindcss -o ./frontend/public/tw.css --watch","test":"mocha test/*.test.js"}}');
15931
15936
 
15932
15937
  /***/ })
15933
15938
 
@@ -252,6 +252,7 @@ module.exports = app => app.component('models', {
252
252
  const before = this.searchText.slice(0, cursorPos);
253
253
  const after = this.searchText.slice(cursorPos);
254
254
  const match = before.match(/(?:\{|,)\s*([^:\s]*)$/);
255
+ const colonNeeded = !/^\s*:/.test(after);
255
256
  if (!match) {
256
257
  return;
257
258
  }
@@ -266,6 +267,10 @@ module.exports = app => app.component('models', {
266
267
  if (trailingQuote && !replacement.endsWith(trailingQuote)) {
267
268
  replacement = `${replacement}${trailingQuote}`;
268
269
  }
270
+ // Only insert : if we know the user isn't entering in a nested path
271
+ if (colonNeeded && (!leadingQuote || trailingQuote)) {
272
+ replacement = `${replacement}:`;
273
+ }
269
274
  this.searchText = this.searchText.slice(0, start) + replacement + after;
270
275
  this.$nextTick(() => {
271
276
  const pos = start + replacement.length;
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@mongoosejs/studio",
3
- "version": "0.0.135",
3
+ "version": "0.0.136",
4
4
  "description": "A sleek, powerful MongoDB UI with built-in dashboarding and auth, seamlessly integrated with your Express, Vercel, or Netlify app.",
5
5
  "homepage": "https://studio.mongoosejs.io/",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/mongoosejs/studio"
9
9
  },
10
+ "license": "Apache-2.0",
10
11
  "dependencies": {
11
12
  "archetype": "0.13.1",
12
13
  "csv-stringify": "6.3.0",