@mclean-capital/neura 2.1.2 → 2.1.4

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/core/version.txt CHANGED
@@ -1 +1 @@
1
- 2.1.2
1
+ 2.1.4
@@ -1 +1 @@
1
- {"version":3,"file":"playback.d.ts","sourceRoot":"","sources":["../../src/audio/playback.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8FH,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AA2QD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,aAAa,CAAC,CAgDlE"}
1
+ {"version":3,"file":"playback.d.ts","sourceRoot":"","sources":["../../src/audio/playback.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA8FH,MAAM,WAAW,aAAa;IAC5B,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IACb,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAqUD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,aAAa,CAAC,CAgDlE"}
@@ -257,43 +257,97 @@ function createNodeSpeakerPlayback() {
257
257
  * Secondary playback: @picovoice/pvspeaker-node
258
258
  *
259
259
  * Kept as a fallback for platforms where the `speaker` native build is
260
- * unavailable. Uses a manual pending-queue + drain loop because PvSpeaker
261
- * exposes a sync `write(samples[])` rather than a Writable stream.
260
+ * unavailable (it's the primary backend on Windows node-speaker's
261
+ * mpg123 underflow warnings can't be silenced there).
262
+ *
263
+ * PvSpeaker's `write()` contract (from
264
+ * `node_modules/@picovoice/pvspeaker-node/test/pv_speaker.test.ts`):
265
+ *
266
+ * - Accepts an `ArrayBuffer` of raw PCM bytes. NOT a `number[]`,
267
+ * NOT a Node `Buffer` without unwrapping, NOT a `Uint8Array` view.
268
+ * Passing anything else crashes with `RUNTIME_ERROR: Unable to
269
+ * get buffer` because the native N-API binding calls
270
+ * `napi_get_arraybuffer_info` on the argument.
271
+ * - Returns the number of **samples** (frames) successfully written,
272
+ * NOT the number of bytes. With 16-bit mono audio, 1 sample = 2
273
+ * bytes, so the byte-level slice for partial writes must multiply
274
+ * the returned sample count by `BYTES_PER_SAMPLE`.
275
+ *
276
+ * An earlier revision of this function missed both constraints — it
277
+ * built a `number[]` queue of samples and treated the sample-count
278
+ * return as bytes. That worked in theory for `createSoxPlayback`'s
279
+ * stdin pipe but not for PvSpeaker. It was also never caught in
280
+ * practice because an unrelated port bug (fixed in core v2.1.1)
281
+ * prevented `neura listen` from ever reaching audio playback, so the
282
+ * crash only surfaced the moment the port fix shipped.
262
283
  */
263
284
  async function createPvSpeakerPlayback() {
264
285
  const { PvSpeaker } = await import('@picovoice/pvspeaker-node');
265
286
  let speaker = null;
266
- // Pending samples not yet written to the speaker
267
- let pending = [];
287
+ // Pending PCM chunks, each a Node Buffer of raw 16-bit PCM bytes.
288
+ // Stored as a queue of Buffers (rather than one concatenated Buffer)
289
+ // to avoid O(n) reallocations on every incoming audio chunk.
290
+ let pendingQueue = [];
268
291
  let draining = false;
269
- // Hard ceiling on consecutive "nothing drained" iterations so a stuck or
270
- // zombie speaker can't spin the drain loop forever.
292
+ // 16-bit mono 2 bytes per sample/frame.
293
+ const BYTES_PER_SAMPLE = 2;
294
+ // Hard ceiling on consecutive "nothing drained" iterations so a
295
+ // stuck or zombie speaker can't spin the drain loop forever.
271
296
  const MAX_STALL_ITERATIONS = 200; // 200 * 10ms = 2s max stuck time
297
+ /**
298
+ * Copy a Node Buffer slice into a fresh standalone ArrayBuffer.
299
+ *
300
+ * Why not `chunk.buffer.slice(...)`: Node Buffers created by
301
+ * `Buffer.from(..., 'base64')` may use a pooled underlying
302
+ * ArrayBuffer containing unrelated bytes, so we can't hand
303
+ * `chunk.buffer` to pvspeaker's native binding directly — we'd
304
+ * leak garbage into the audio stream. `chunk.buffer.slice()`
305
+ * would give us a fresh ArrayBuffer, but Node's `Buffer.buffer`
306
+ * is typed as `ArrayBuffer | SharedArrayBuffer`, and TypeScript
307
+ * can't narrow to ArrayBuffer without an unsafe cast.
308
+ *
309
+ * Allocating a fresh `new ArrayBuffer(length)` and copying via
310
+ * `Uint8Array.set` is type-safe (always ArrayBuffer), has the
311
+ * same runtime cost (one byte-level copy), and is the idiomatic
312
+ * way to hand Buffer bytes to native bindings that require a
313
+ * strict ArrayBuffer.
314
+ */
315
+ function chunkToArrayBuffer(chunk) {
316
+ const out = new ArrayBuffer(chunk.byteLength);
317
+ new Uint8Array(out).set(chunk);
318
+ return out;
319
+ }
272
320
  async function drain() {
273
321
  if (draining)
274
322
  return;
275
323
  draining = true;
276
324
  let stallCount = 0;
277
325
  try {
278
- while (speaker && pending.length > 0) {
279
- const chunk = pending;
280
- pending = [];
281
- const written = speaker.write(chunk);
282
- if (written < chunk.length) {
283
- // Ring buffer was full requeue the tail and yield so the speaker
284
- // can drain. Chrome/getUserMedia does something similar internally.
285
- pending = chunk.slice(written).concat(pending);
286
- if (written === 0) {
326
+ while (speaker && pendingQueue.length > 0) {
327
+ const chunk = pendingQueue.shift();
328
+ const samplesWritten = speaker.write(chunkToArrayBuffer(chunk));
329
+ const bytesWritten = samplesWritten * BYTES_PER_SAMPLE;
330
+ if (bytesWritten < chunk.byteLength) {
331
+ // Partial writepvspeaker's ring buffer didn't have room
332
+ // for the whole chunk. Requeue the tail at the FRONT of the
333
+ // queue so the next iteration continues in order. Using
334
+ // `subarray` here keeps the same underlying memory rather
335
+ // than copying.
336
+ const tail = chunk.subarray(bytesWritten);
337
+ pendingQueue.unshift(tail);
338
+ if (samplesWritten === 0) {
287
339
  stallCount++;
288
340
  if (stallCount >= MAX_STALL_ITERATIONS) {
289
- console.error(`[playback] pvspeaker stalled after ${MAX_STALL_ITERATIONS} iterations, dropping ${pending.length} samples`);
290
- pending = [];
341
+ const droppedBytes = pendingQueue.reduce((n, b) => n + b.byteLength, 0);
342
+ console.error(`[playback] pvspeaker stalled after ${MAX_STALL_ITERATIONS} iterations, dropping ${droppedBytes} bytes`);
343
+ pendingQueue = [];
291
344
  return;
292
345
  }
293
346
  }
294
347
  else {
295
348
  stallCount = 0; // Made progress
296
349
  }
350
+ // Yield so the speaker can consume what it already has
297
351
  await new Promise((r) => setTimeout(r, 10));
298
352
  }
299
353
  else {
@@ -313,7 +367,7 @@ async function createPvSpeakerPlayback() {
313
367
  speaker.start();
314
368
  },
315
369
  stop() {
316
- pending = [];
370
+ pendingQueue = [];
317
371
  if (speaker) {
318
372
  try {
319
373
  speaker.flush();
@@ -330,10 +384,9 @@ async function createPvSpeakerPlayback() {
330
384
  if (!speaker)
331
385
  return;
332
386
  const buffer = Buffer.from(base64Pcm, 'base64');
333
- const int16 = new Int16Array(buffer.buffer, buffer.byteOffset, buffer.byteLength / 2);
334
- // Append to pending queue. Runs off the hot path of WebSocket parsing.
335
- for (const sample of int16)
336
- pending.push(sample);
387
+ // Queue the raw PCM Buffer — drain() converts to ArrayBuffer
388
+ // only at the point it hands bytes to the native speaker.
389
+ pendingQueue.push(buffer);
337
390
  void drain();
338
391
  },
339
392
  };
@@ -1 +1 @@
1
- {"version":3,"file":"playback.js","sourceRoot":"","sources":["../../src/audio/playback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playback.js","sourceRoot":"","sources":["../../src/audio/playback.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAqB,MAAM,eAAe,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,IAAI,2BAA2B,GAAG,KAAK,CAAC;AACxC,SAAS,yBAAyB;IAChC,IAAI,2BAA2B;QAAE,OAAO;IACxC,2BAA2B,GAAG,IAAI,CAAC;IAEnC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO;IAEzC,IAAI,aAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,oEAAoE;QACpE,yDAAyD;QACzD,EAAE;QACF,uEAAuE;QACvE,mEAAmE;QACnE,uEAAuE;QACvE,mDAAmD;QACnD,aAAa,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;QACvD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,4DAA4D;QAC5D,wEAAwE;QACxE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChB,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,2CAA2C;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,GAAW,EAAQ,EAAE;QACxC,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC,CAAC;IAEF,qEAAqE;IACrE,MAAM,oBAAoB,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,OAAO,CAAC,KAAK,GAAG,CAAC,GAAG,IAAe,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI;iBACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACT,IAAI,CAAC,YAAY,KAAK;oBAAE,OAAO,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC;gBACpD,IAAI,OAAO,CAAC,KAAK,QAAQ;oBAAE,OAAO,CAAC,CAAC;gBACpC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC;iBACD,IAAI,CAAC,GAAG,CAAC,CAAC;YACb,WAAW,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,oBAAoB,CAAC,GAAG,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC;IAEF,qEAAqE;IACrE,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAU,EAAE,EAAE;QAC7C,WAAW,CAAC,sBAAsB,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAe,EAAE,EAAE;QACnD,WAAW,CAAC,uBAAuB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,yDAAyD;AACzD,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;QAC7E,QAAQ,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,SAAS,iBAAiB;IACxB,IAAI,IAAI,GAAwB,IAAI,CAAC;IACrC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,MAAM,YAAY,GAAG,CAAC,CAAC;IACvB,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAExD,SAAS,QAAQ;QACf,IAAI,eAAe,IAAI,YAAY,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CACX,yBAAyB,YAAY,sFAAsF,CAC5H,CAAC;YACF,OAAO;QACT,CAAC;QAED,2DAA2D;QAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1D,IAAI,GAAG,KAAK,CACV,GAAG,EACH;YACE,IAAI,EAAE,6CAA6C;YACnD,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,OAAO;YACP,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,GAAG;YACH,IAAI;YACJ,gBAAgB;YAChB,GAAG,EAAE,kBAAkB;YACvB,IAAI,EAAE,yBAAyB;SAChC,EACD,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CACtC,CAAC;QAEF,SAAS,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACxC,SAAS,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC9B,mDAAmD;YACnD,IAAI,SAAS,CAAC,MAAM,GAAG,IAAI;gBAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YACrC,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAC9B,OAAO,CAAC,KAAK,CAAC,+BAA+B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,IAAI,GAAG,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAmB,EAAE,MAA6B,EAAE,EAAE;YACtE,mEAAmE;YACnE,sEAAsE;YACtE,qDAAqD;YACrD,OAAO,CAAC,KAAK,CACX,8BAA8B,IAAI,IAAI,MAAM,WAAW,MAAM,IAAI,MAAM,GACrE,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC,CAAC,EACjC,EAAE,CACH,CAAC;YACF,IAAI,GAAG,IAAI,CAAC;YAEZ,iEAAiE;YACjE,kEAAkE;YAClE,uCAAuC;YACvC,eAAe,EAAE,CAAC;YAClB,MAAM,KAAK,GACT,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YACnF,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,OAAO;oBAAE,QAAQ,EAAE,CAAC;YAC1B,CAAC,EAAE,KAAK,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,kEAAkE;QAClE,qCAAqC;QACrC,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,eAAe,GAAG,CAAC,CAAC;QAChD,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC;IAED,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,OAAO;QACL,KAAK;YACH,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,QAAQ,EAAE,CAAC;QACb,CAAC;QAED,IAAI;YACF,OAAO,GAAG,KAAK,CAAC;YAChB,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACjC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;gBAClB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAiB;YACpB,IAAI,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,yBAAyB;IAChC,OAAO,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,OAAO,GAAwC,IAAI,CAAC;QAExD,mEAAmE;QACnE,yBAAyB,EAAE,CAAC;QAE5B,OAAO;YACL,KAAK;gBACH,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,OAAO,CAAC;oBACpB,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,KAAK;oBACjB,kEAAkE;oBAClE,uCAAuC;oBACvC,aAAa,EAAE,IAAI,GAAG,EAAE;iBACzB,CAAC,CAAC;gBACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;oBACjC,OAAO,CAAC,KAAK,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;YACL,CAAC;YAED,IAAI;gBACF,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC;wBACH,OAAO,CAAC,GAAG,EAAE,CAAC;oBAChB,CAAC;oBAAC,MAAM,CAAC;wBACP,YAAY;oBACd,CAAC;oBACD,OAAO,GAAG,IAAI,CAAC;gBACjB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAiB;gBACpB,IAAI,CAAC,OAAO;oBAAE,OAAO;gBACrB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAChD,oEAAoE;gBACpE,qCAAqC;gBACrC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,KAAK,UAAU,uBAAuB;IACpC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IAChE,IAAI,OAAO,GAA0C,IAAI,CAAC;IAE1D,kEAAkE;IAClE,qEAAqE;IACrE,6DAA6D;IAC7D,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,0CAA0C;IAC1C,MAAM,gBAAgB,GAAG,CAAC,CAAC;IAE3B,gEAAgE;IAChE,6DAA6D;IAC7D,MAAM,oBAAoB,GAAG,GAAG,CAAC,CAAC,iCAAiC;IAEnE;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,kBAAkB,CAAC,KAAa;QACvC,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,UAAU,KAAK;QAClB,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC;YACH,OAAO,OAAO,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAG,CAAC;gBACpC,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChE,MAAM,YAAY,GAAG,cAAc,GAAG,gBAAgB,CAAC;gBAEvD,IAAI,YAAY,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;oBACpC,2DAA2D;oBAC3D,4DAA4D;oBAC5D,wDAAwD;oBACxD,0DAA0D;oBAC1D,gBAAgB;oBAChB,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBAC1C,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAE3B,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;wBACzB,UAAU,EAAE,CAAC;wBACb,IAAI,UAAU,IAAI,oBAAoB,EAAE,CAAC;4BACvC,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;4BACxE,OAAO,CAAC,KAAK,CACX,sCAAsC,oBAAoB,yBAAyB,YAAY,QAAQ,CACxG,CAAC;4BACF,YAAY,GAAG,EAAE,CAAC;4BAClB,OAAO;wBACT,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG,CAAC,CAAC,CAAC,gBAAgB;oBAClC,CAAC;oBACD,uDAAuD;oBACvD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,QAAQ,GAAG,KAAK,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK;YACH,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACnC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QAED,IAAI;YACF,YAAY,GAAG,EAAE,CAAC;YAClB,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC;gBAAC,MAAM,CAAC;oBACP,YAAY;gBACd,CAAC;gBACD,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAiB;YACpB,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAChD,6DAA6D;YAC7D,0DAA0D;YAC1D,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,KAAK,KAAK,EAAE,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;IAE/C,IAAI,SAAS,EAAE,CAAC;QACd,2DAA2D;QAC3D,IAAI,CAAC;YACH,OAAO,MAAM,uBAAuB,EAAE,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,yBAAyB,EAAE,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC;SAAM,CAAC;QACN,uEAAuE;QACvE,qEAAqE;QACrE,IAAI,CAAC;YACH,OAAO,MAAM,yBAAyB,EAAE,CAAC;QAC3C,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;QACD,IAAI,CAAC;YACH,OAAO,MAAM,uBAAuB,EAAE,CAAC;QACzC,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,OAAO,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,UAAU,GACd,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAC3B,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,SAAS;YACT,CAAC,CAAC,4BAA4B;YAC9B,CAAC,CAAC,sBAAsB,CAAC;IAE/B,MAAM,IAAI,KAAK,CACb,oDAAoD;QAClD,KAAK,gBAAgB,CAAC,SAAS,CAAC,IAAI;QACpC,KAAK,gBAAgB,CAAC,2BAA2B,CAAC,IAAI;QACtD,KAAK,UAAU,EAAE,CACpB,CAAC;AACJ,CAAC"}
@@ -42,6 +42,12 @@ interface ShimContext {
42
42
  errLogFile: string;
43
43
  pidFile: string;
44
44
  cmdPath: string;
45
+ /**
46
+ * VBScript launcher path. Used by `spawnDetachedCore` via `wscript.exe`
47
+ * to kick off the `.cmd` shim without allocating a visible console
48
+ * window. See `renderVbsLauncher` and `spawnDetachedCore` for details.
49
+ */
50
+ vbsPath: string;
45
51
  }
46
52
  declare function getShimContext(): ShimContext;
47
53
  declare function getStartupShimPath(): string;
@@ -82,6 +88,45 @@ declare function escapeCmd(str: string): string;
82
88
  * `stop()` key off of.
83
89
  */
84
90
  declare function renderCmdShim(ctx: ShimContext): string;
91
+ /**
92
+ * Escape a string for safe embedding in a VBScript string literal.
93
+ *
94
+ * VBScript strings use `""` as the escape for a literal double-quote.
95
+ * No other escapes needed for our use case (we only interpolate
96
+ * filesystem paths, which on Windows can't contain newlines and
97
+ * effectively never contain `"`).
98
+ */
99
+ declare function escapeVbs(str: string): string;
100
+ /**
101
+ * Render the VBScript launcher that `spawnDetachedCore` invokes via
102
+ * `wscript.exe` to kick off the `.cmd` shim without a visible window.
103
+ *
104
+ * Why this indirection exists at all:
105
+ *
106
+ * On Windows, spawning the shim directly via
107
+ * `spawn('cmd.exe', [shim], { detached: true, windowsHide: true })`
108
+ * pops up a terminal window in recent Windows Terminal installs
109
+ * where "Default terminal" is set to Windows Terminal. Node's docs
110
+ * explicitly state that on Windows, `detached: true` "will have
111
+ * its own console window" — that console allocation is intercepted
112
+ * by Windows Terminal and shown as a visible tab, `windowsHide`
113
+ * notwithstanding.
114
+ *
115
+ * Removing `detached: true` fixes the popup but also kills the
116
+ * child when the Neura CLI process exits (the core needs to
117
+ * survive long past the 100ms `neura start` invocation).
118
+ *
119
+ * The fix: spawn `wscript.exe` instead of `cmd.exe`. WScript is a
120
+ * GUI app, not a console app — it has no console to attach to, so
121
+ * `detached: true` doesn't create a new console window. WScript
122
+ * runs this `.vbs` file, which calls `WshShell.Run` with window
123
+ * style `0` (hidden), which internally uses `ShellExecuteEx` to
124
+ * launch the `.cmd` shim fully detached with no visible window.
125
+ * WScript exits immediately after dispatching the Run call, and
126
+ * the shim's cmd.exe + node.exe subtree continues running,
127
+ * invisible and independent.
128
+ */
129
+ declare function renderVbsLauncher(ctx: ShimContext): string;
85
130
  export declare function isInstalled(): boolean;
86
131
  /**
87
132
  * Check if the core process is currently alive.
@@ -131,6 +176,8 @@ export declare const __test__: {
131
176
  getShimContext: typeof getShimContext;
132
177
  getStartupShimPath: typeof getStartupShimPath;
133
178
  renderCmdShim: typeof renderCmdShim;
179
+ renderVbsLauncher: typeof renderVbsLauncher;
134
180
  escapeCmd: typeof escapeCmd;
181
+ escapeVbs: typeof escapeVbs;
135
182
  };
136
183
  //# sourceMappingURL=windows.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../../src/service/windows.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,iBAAS,cAAc,IAAI,WAAW,CAarC;AAED,iBAAS,kBAAkB,IAAI,MAAM,CAYpC;AAED;;;;;;;;GAQG;AACH,iBAAS,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,iBAAS,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAc/C;AA2GD,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAgBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,IAAI,OAAO,CA0BnC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAI5D,wEAAwE;AACxE,wBAAgB,kBAAkB,IAAI,WAAW,GAAG,IAAI,CAEvD;AAED,wBAAgB,OAAO,IAAI,IAAI,CAuC9B;AAED,wBAAgB,SAAS,IAAI,IAAI,CAOhC;AAED,wBAAgB,KAAK,IAAI,IAAI,CAG5B;AAED,wBAAgB,IAAI,IAAI,IAAI,CA6B3B;AAED,wBAAgB,OAAO,IAAI,IAAI,CAG9B;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;;;;;;;;;;;AAED,wBASW;AAGX,eAAO,MAAM,QAAQ;;;;;;CAMpB,CAAC"}
1
+ {"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../../src/service/windows.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,UAAU,WAAW;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,iBAAS,cAAc,IAAI,WAAW,CAcrC;AAED,iBAAS,kBAAkB,IAAI,MAAM,CAYpC;AAED;;;;;;;;GAQG;AACH,iBAAS,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,iBAAS,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAc/C;AAYD;;;;;;;GAOG;AACH,iBAAS,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,iBAAS,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAUnD;AAuID,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAgBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,IAAI,OAAO,CA0BnC;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAI5D,wEAAwE;AACxE,wBAAgB,kBAAkB,IAAI,WAAW,GAAG,IAAI,CAEvD;AAED,wBAAgB,OAAO,IAAI,IAAI,CA+C9B;AAED,wBAAgB,SAAS,IAAI,IAAI,CAQhC;AAED,wBAAgB,KAAK,IAAI,IAAI,CAG5B;AAED,wBAAgB,IAAI,IAAI,IAAI,CA6B3B;AAED,wBAAgB,OAAO,IAAI,IAAI,CAG9B;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;;;;;;;;;;;AAED,wBASW;AAGX,eAAO,MAAM,QAAQ;;;;;;;;CAQpB,CAAC"}
@@ -17,6 +17,7 @@ function getShimContext() {
17
17
  errLogFile: join(logDir, 'core.error.log'),
18
18
  pidFile: join(home, 'neura-core.pid'),
19
19
  cmdPath: join(home, 'neura-core.cmd'),
20
+ vbsPath: join(home, 'neura-core-launcher.vbs'),
20
21
  };
21
22
  }
22
23
  function getStartupShimPath() {
@@ -89,6 +90,60 @@ function writeCmdShim(ctx) {
89
90
  mkdirSync(ctx.logDir, { recursive: true });
90
91
  writeFileSync(ctx.cmdPath, renderCmdShim(ctx), 'utf-8');
91
92
  }
93
+ /**
94
+ * Escape a string for safe embedding in a VBScript string literal.
95
+ *
96
+ * VBScript strings use `""` as the escape for a literal double-quote.
97
+ * No other escapes needed for our use case (we only interpolate
98
+ * filesystem paths, which on Windows can't contain newlines and
99
+ * effectively never contain `"`).
100
+ */
101
+ function escapeVbs(str) {
102
+ return str.replace(/"/g, '""');
103
+ }
104
+ /**
105
+ * Render the VBScript launcher that `spawnDetachedCore` invokes via
106
+ * `wscript.exe` to kick off the `.cmd` shim without a visible window.
107
+ *
108
+ * Why this indirection exists at all:
109
+ *
110
+ * On Windows, spawning the shim directly via
111
+ * `spawn('cmd.exe', [shim], { detached: true, windowsHide: true })`
112
+ * pops up a terminal window in recent Windows Terminal installs
113
+ * where "Default terminal" is set to Windows Terminal. Node's docs
114
+ * explicitly state that on Windows, `detached: true` "will have
115
+ * its own console window" — that console allocation is intercepted
116
+ * by Windows Terminal and shown as a visible tab, `windowsHide`
117
+ * notwithstanding.
118
+ *
119
+ * Removing `detached: true` fixes the popup but also kills the
120
+ * child when the Neura CLI process exits (the core needs to
121
+ * survive long past the 100ms `neura start` invocation).
122
+ *
123
+ * The fix: spawn `wscript.exe` instead of `cmd.exe`. WScript is a
124
+ * GUI app, not a console app — it has no console to attach to, so
125
+ * `detached: true` doesn't create a new console window. WScript
126
+ * runs this `.vbs` file, which calls `WshShell.Run` with window
127
+ * style `0` (hidden), which internally uses `ShellExecuteEx` to
128
+ * launch the `.cmd` shim fully detached with no visible window.
129
+ * WScript exits immediately after dispatching the Run call, and
130
+ * the shim's cmd.exe + node.exe subtree continues running,
131
+ * invisible and independent.
132
+ */
133
+ function renderVbsLauncher(ctx) {
134
+ // WshShell.Run(command, windowStyle, bWaitOnReturn):
135
+ // command = fully-quoted path to the .cmd shim
136
+ // windowStyle = 0 → hidden
137
+ // bWaitOnReturn = False → fire-and-forget
138
+ return `' Neura core hidden launcher. Generated by \`neura install\`.\r
139
+ ' Do not edit; re-run \`neura install\` to regenerate.\r
140
+ Set shell = CreateObject("WScript.Shell")\r
141
+ shell.Run Chr(34) & "${escapeVbs(ctx.cmdPath)}" & Chr(34), 0, False\r
142
+ `;
143
+ }
144
+ function writeVbsLauncher(ctx) {
145
+ writeFileSync(ctx.vbsPath, renderVbsLauncher(ctx), 'utf-8');
146
+ }
92
147
  /**
93
148
  * Register the Scheduled Task via `schtasks /Create`.
94
149
  *
@@ -157,15 +212,49 @@ function removeStartupShim() {
157
212
  unlinkSync(shimPath);
158
213
  }
159
214
  /**
160
- * Spawn the launcher `.cmd` as a detached child so the core starts
161
- * immediately on first install (instead of waiting for the next logon).
215
+ * Spawn the launcher `.cmd` so the core starts immediately after
216
+ * `neura install` / `neura start` (instead of waiting for the next
217
+ * logon to trigger the Scheduled Task / Startup shim).
218
+ *
219
+ * The spawn chain:
220
+ *
221
+ * Node CLI
222
+ * → wscript.exe (detached, hidden, no console to show)
223
+ * → neura-core-launcher.vbs
224
+ * → WshShell.Run("neura-core.cmd", windowStyle=0, wait=False)
225
+ * → cmd.exe (hidden, detached via ShellExecuteEx)
226
+ * → node.exe running the core bundle
162
227
  *
163
- * We use `spawn` + `{ detached: true, stdio: 'ignore' }` + `.unref()` so
164
- * the parent `neura install` process can exit cleanly while core keeps
165
- * running. `windowsHide: true` suppresses the flash of a cmd console.
228
+ * Why this convoluted chain? We tried the obvious thing
229
+ * `spawn('cmd.exe', [shim], { detached: true, windowsHide: true })`
230
+ * and it pops up a visible Windows Terminal tab in any install where
231
+ * "Default terminal" is set to Windows Terminal. Node's docs say
232
+ * `detached: true` "will have its own console window" on Windows, and
233
+ * that console allocation is intercepted by Windows Terminal's
234
+ * default-terminal shim regardless of the `windowsHide` flag.
235
+ *
236
+ * Removing `detached: true` fixes the popup but breaks survival: the
237
+ * child gets killed when the parent Node CLI exits (~100ms later).
238
+ *
239
+ * The workaround is to launch via `wscript.exe`, a GUI application
240
+ * that has no console. With `detached: true`, Windows still creates a
241
+ * fresh process-group leader, but there is no console allocation at
242
+ * all — no popup. `wscript.exe` runs a tiny `.vbs` file that invokes
243
+ * `WshShell.Run` with window style `0` and `bWaitOnReturn=False`.
244
+ * That's a thin wrapper over `ShellExecuteEx`, which launches the
245
+ * `.cmd` shim with `SW_HIDE` and returns immediately. The shim runs
246
+ * `cmd.exe` → `node.exe` invisibly, and those processes survive long
247
+ * after both `wscript` and the Neura CLI have exited because
248
+ * ShellExecuteEx properly orphans them.
249
+ *
250
+ * Verified end-to-end on a real Windows machine where the previous
251
+ * `cmd.exe` approach reliably popped up a terminal tab — this chain
252
+ * produces zero visible windows and the core runs on the correct
253
+ * port, surviving the parent `neura start` process exiting ~100ms
254
+ * after spawn.
166
255
  */
167
256
  function spawnDetachedCore(ctx) {
168
- const child = spawn('cmd.exe', ['/d', '/c', ctx.cmdPath], {
257
+ const child = spawn('wscript.exe', [ctx.vbsPath], {
169
258
  detached: true,
170
259
  stdio: 'ignore',
171
260
  windowsHide: true,
@@ -238,10 +327,18 @@ export function getLastInstallMode() {
238
327
  }
239
328
  export function install() {
240
329
  const ctx = getShimContext();
241
- // Always regenerate the launcher shim so it picks up any new paths
242
- // or config changes since the last install. Idempotent: overwriting
243
- // the .cmd file is safe whether or not the task is already registered.
330
+ // Always regenerate both launchers so they pick up any new paths or
331
+ // config changes since the last install. Idempotent: overwriting
332
+ // both files is safe whether or not the task is already registered.
333
+ //
334
+ // - `neura-core.cmd` → invoked by the Scheduled Task or
335
+ // Startup-folder shim at logon
336
+ // - `neura-core-launcher.vbs` → invoked by `spawnDetachedCore`
337
+ // via `wscript.exe` to start the
338
+ // core from `install()`/`start()`
339
+ // without a visible popup window
244
340
  writeCmdShim(ctx);
341
+ writeVbsLauncher(ctx);
245
342
  // Prefer the Scheduled Task path — it survives reboots cleanly and
246
343
  // shows up in Task Scheduler so the user can manage it from the GUI.
247
344
  // If it fails (GPO, corp lockdown, schtasks.exe missing from PATH,
@@ -278,9 +375,10 @@ export function uninstall() {
278
375
  stop();
279
376
  deleteScheduledTask();
280
377
  removeStartupShim();
281
- // Leave NEURA_HOME/neura-core.cmd in place — it's harmless and is
282
- // re-written on next `neura install`. Don't delete NEURA_HOME itself;
283
- // that's the user's config + memory store.
378
+ // Leave NEURA_HOME/neura-core.cmd and neura-core-launcher.vbs in
379
+ // place they're harmless and get re-written on next
380
+ // `neura install`. Don't delete NEURA_HOME itself; that's the user's
381
+ // config + memory store.
284
382
  }
285
383
  export function start() {
286
384
  if (isRunning())
@@ -341,6 +439,8 @@ export const __test__ = {
341
439
  getShimContext,
342
440
  getStartupShimPath,
343
441
  renderCmdShim,
442
+ renderVbsLauncher,
344
443
  escapeCmd,
444
+ escapeVbs,
345
445
  };
346
446
  //# sourceMappingURL=windows.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"windows.js","sourceRoot":"","sources":["../../src/service/windows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"windows.js","sourceRoot":"","sources":["../../src/service/windows.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mclean-capital/neura",
3
- "version": "2.1.2",
3
+ "version": "2.1.4",
4
4
  "description": "Neura — CLI for installing and managing the Neura AI assistant core service. Includes text chat and voice listen clients.",
5
5
  "keywords": [
6
6
  "neura",