@agentprojectcontext/apx 1.65.1 → 1.65.3

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentprojectcontext/apx",
3
- "version": "1.65.1",
3
+ "version": "1.65.3",
4
4
  "description": "APX — unified CLI + daemon for the Agent Project Context (APC) standard.",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -1,13 +1,12 @@
1
1
  // Gemini TTS adapter.
2
- // At the time of writing the Gemini TTS surface is gated and not stable across
3
- // SDK versions: some models (gemini-2.5-flash-preview-tts) expose synthesize
4
- // via the v1beta REST surface, others require Vertex. To keep APX engine-
5
- // agnostic, this adapter performs a best-effort call against the documented
6
- // REST shape, but flags itself as not-implemented when the response does not
7
- // include inline audio data.
2
+ // The Gemini TTS surface can vary across SDK versions: some models
3
+ // (gemini-2.5-flash-tts) expose synthesize via the v1beta REST surface, others
4
+ // require Vertex. To keep APX engine-agnostic, this adapter performs a
5
+ // best-effort call against the documented REST shape, but flags itself as
6
+ // not-implemented when the response does not include inline audio data.
8
7
  //
9
8
  // Config (~/.apx/config.json → voice.tts.gemini):
10
- // { "api_key": "...", "model": "gemini-2.5-flash-preview-tts", "voice": "Kore",
9
+ // { "api_key": "...", "model": "gemini-2.5-flash-tts", "voice": "Kore",
11
10
  // "style": "habla en tono alegre y enérgico" }
12
11
  //
13
12
  // `style` is an optional natural-language instruction describing HOW the voice
@@ -22,7 +21,7 @@ import fs from "node:fs";
22
21
  import path from "node:path";
23
22
  import { randomUUID } from "node:crypto";
24
23
 
25
- const DEFAULT_MODEL = "gemini-2.5-flash-preview-tts";
24
+ const DEFAULT_MODEL = "gemini-2.5-flash-tts";
26
25
 
27
26
  function getKey(config, parentEnginesCfg) {
28
27
  return (
@@ -88,7 +88,7 @@ const PROVIDERS = [
88
88
  needsKey: true,
89
89
  keyLabel: "Gemini API key",
90
90
  keyHint: "AIza...",
91
- models: ["gemini-2.0-flash", "gemini-1.5-pro"],
91
+ models: ["gemini-3.5-flash", "gemini-3.1-pro-preview", "gemini-2.5-flash"],
92
92
  },
93
93
  ];
94
94
 
@@ -254,7 +254,7 @@ export async function cmdSetup() {
254
254
  console.log(` ${cy("2")}. piper ${di("(local, offline; needs piper CLI + voice model)")}`);
255
255
  console.log(` ${cy("3")}. elevenlabs ${di("(cloud; eleven_multilingual_v2)")}`);
256
256
  console.log(` ${cy("4")}. openai ${di("(cloud; tts-1, reuses your openai key)")}`);
257
- console.log(` ${cy("5")}. gemini ${di("(experimental, best-effort)")}`);
257
+ console.log(` ${cy("5")}. gemini ${di("(cloud; gemini-2.5-flash-tts, 30 voices)")}`);
258
258
  console.log(` ${cy("6")}. mock ${di("(silent WAV; useful for tests)")}`);
259
259
  console.log();
260
260
  const choice = (await ask(` Choose [1-6, default 1]: `)).trim() || "1";