@xrkseek/harness 0.7.8 → 0.7.10

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.
Files changed (155) hide show
  1. package/node_modules/@xrkseek/core-tools/dist/output-bound.d.ts +4 -1
  2. package/node_modules/@xrkseek/core-tools/dist/output-bound.d.ts.map +1 -1
  3. package/node_modules/@xrkseek/core-tools/dist/output-bound.js +19 -5
  4. package/node_modules/@xrkseek/core-tools/dist/output-bound.js.map +1 -1
  5. package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.js +2 -2
  6. package/node_modules/@xrkseek/core-tools/dist/subagent-prompt.js.map +1 -1
  7. package/node_modules/@xrkseek/exec-memory/dist/index.d.ts +2 -2
  8. package/node_modules/@xrkseek/exec-memory/dist/index.d.ts.map +1 -1
  9. package/node_modules/@xrkseek/exec-memory/dist/index.js +2 -2
  10. package/node_modules/@xrkseek/exec-memory/dist/index.js.map +1 -1
  11. package/node_modules/@xrkseek/exec-memory/dist/layered.d.ts +20 -3
  12. package/node_modules/@xrkseek/exec-memory/dist/layered.d.ts.map +1 -1
  13. package/node_modules/@xrkseek/exec-memory/dist/layered.js +46 -17
  14. package/node_modules/@xrkseek/exec-memory/dist/layered.js.map +1 -1
  15. package/node_modules/@xrkseek/exec-memory/dist/store.d.ts +17 -0
  16. package/node_modules/@xrkseek/exec-memory/dist/store.d.ts.map +1 -1
  17. package/node_modules/@xrkseek/exec-memory/dist/store.js +35 -14
  18. package/node_modules/@xrkseek/exec-memory/dist/store.js.map +1 -1
  19. package/node_modules/@xrkseek/exec-memory/dist/tools.d.ts.map +1 -1
  20. package/node_modules/@xrkseek/exec-memory/dist/tools.js +20 -8
  21. package/node_modules/@xrkseek/exec-memory/dist/tools.js.map +1 -1
  22. package/node_modules/@xrkseek/exec-voice/dist/edge-tts.d.ts +60 -0
  23. package/node_modules/@xrkseek/exec-voice/dist/edge-tts.d.ts.map +1 -0
  24. package/node_modules/@xrkseek/exec-voice/dist/edge-tts.js +393 -0
  25. package/node_modules/@xrkseek/exec-voice/dist/edge-tts.js.map +1 -0
  26. package/node_modules/@xrkseek/exec-voice/dist/engine-ids.d.ts.map +1 -1
  27. package/node_modules/@xrkseek/exec-voice/dist/engine-ids.js +1 -0
  28. package/node_modules/@xrkseek/exec-voice/dist/engine-ids.js.map +1 -1
  29. package/node_modules/@xrkseek/exec-voice/dist/engines.d.ts +1 -1
  30. package/node_modules/@xrkseek/exec-voice/dist/engines.d.ts.map +1 -1
  31. package/node_modules/@xrkseek/exec-voice/dist/engines.js +19 -1
  32. package/node_modules/@xrkseek/exec-voice/dist/engines.js.map +1 -1
  33. package/node_modules/@xrkseek/exec-voice/dist/format.js +1 -1
  34. package/node_modules/@xrkseek/exec-voice/dist/format.js.map +1 -1
  35. package/node_modules/@xrkseek/exec-voice/dist/index.d.ts +1 -0
  36. package/node_modules/@xrkseek/exec-voice/dist/index.d.ts.map +1 -1
  37. package/node_modules/@xrkseek/exec-voice/dist/index.js +1 -0
  38. package/node_modules/@xrkseek/exec-voice/dist/index.js.map +1 -1
  39. package/node_modules/@xrkseek/exec-voice/dist/openai-http.d.ts.map +1 -1
  40. package/node_modules/@xrkseek/exec-voice/dist/openai-http.js +1 -0
  41. package/node_modules/@xrkseek/exec-voice/dist/openai-http.js.map +1 -1
  42. package/node_modules/@xrkseek/exec-voice/dist/readiness.d.ts +1 -1
  43. package/node_modules/@xrkseek/exec-voice/dist/readiness.d.ts.map +1 -1
  44. package/node_modules/@xrkseek/exec-voice/dist/readiness.js +13 -1
  45. package/node_modules/@xrkseek/exec-voice/dist/readiness.js.map +1 -1
  46. package/node_modules/@xrkseek/exec-voice/dist/sensevoice-local.d.ts.map +1 -1
  47. package/node_modules/@xrkseek/exec-voice/dist/sensevoice-local.js +6 -5
  48. package/node_modules/@xrkseek/exec-voice/dist/sensevoice-local.js.map +1 -1
  49. package/node_modules/@xrkseek/exec-voice/dist/system-tts.d.ts +2 -0
  50. package/node_modules/@xrkseek/exec-voice/dist/system-tts.d.ts.map +1 -1
  51. package/node_modules/@xrkseek/exec-voice/dist/system-tts.js +10 -7
  52. package/node_modules/@xrkseek/exec-voice/dist/system-tts.js.map +1 -1
  53. package/node_modules/@xrkseek/exec-voice/dist/tools.d.ts +19 -0
  54. package/node_modules/@xrkseek/exec-voice/dist/tools.d.ts.map +1 -1
  55. package/node_modules/@xrkseek/exec-voice/dist/tools.js +160 -25
  56. package/node_modules/@xrkseek/exec-voice/dist/tools.js.map +1 -1
  57. package/node_modules/@xrkseek/exec-voice/dist/types.d.ts +12 -1
  58. package/node_modules/@xrkseek/exec-voice/dist/types.d.ts.map +1 -1
  59. package/node_modules/@xrkseek/exec-voice/dist/types.js +6 -0
  60. package/node_modules/@xrkseek/exec-voice/dist/types.js.map +1 -1
  61. package/node_modules/@xrkseek/exec-voice/package.json +7 -2
  62. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts +5 -0
  63. package/node_modules/@xrkseek/preset-harness/dist/preset.d.ts.map +1 -1
  64. package/node_modules/@xrkseek/preset-harness/dist/preset.js +13 -6
  65. package/node_modules/@xrkseek/preset-harness/dist/preset.js.map +1 -1
  66. package/node_modules/@xrkseek/preset-harness/dist/tsconfig.tsbuildinfo +1 -1
  67. package/node_modules/@xrkseek/preset-minimal/dist/tsconfig.tsbuildinfo +1 -1
  68. package/node_modules/@xrkseek/preset-server/dist/preset.d.ts.map +1 -1
  69. package/node_modules/@xrkseek/preset-server/dist/preset.js +14 -2
  70. package/node_modules/@xrkseek/preset-server/dist/preset.js.map +1 -1
  71. package/node_modules/@xrkseek/preset-server/dist/tsconfig.tsbuildinfo +1 -1
  72. package/node_modules/@xrkseek/server-face/dist/agent-home-boundary.d.ts +14 -0
  73. package/node_modules/@xrkseek/server-face/dist/agent-home-boundary.d.ts.map +1 -1
  74. package/node_modules/@xrkseek/server-face/dist/agent-home-boundary.js +40 -0
  75. package/node_modules/@xrkseek/server-face/dist/agent-home-boundary.js.map +1 -1
  76. package/node_modules/@xrkseek/server-face/dist/agent-member-pack.d.ts +21 -1
  77. package/node_modules/@xrkseek/server-face/dist/agent-member-pack.d.ts.map +1 -1
  78. package/node_modules/@xrkseek/server-face/dist/agent-member-pack.js +29 -1
  79. package/node_modules/@xrkseek/server-face/dist/agent-member-pack.js.map +1 -1
  80. package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.js +4 -4
  81. package/node_modules/@xrkseek/server-face/dist/agent-roster-tools.js.map +1 -1
  82. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.d.ts.map +1 -1
  83. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js +30 -15
  84. package/node_modules/@xrkseek/server-face/dist/agent-team-roles.js.map +1 -1
  85. package/node_modules/@xrkseek/server-face/dist/canvas-tools.d.ts.map +1 -1
  86. package/node_modules/@xrkseek/server-face/dist/canvas-tools.js +2 -1
  87. package/node_modules/@xrkseek/server-face/dist/canvas-tools.js.map +1 -1
  88. package/node_modules/@xrkseek/server-face/dist/handlers/voice.d.ts.map +1 -1
  89. package/node_modules/@xrkseek/server-face/dist/handlers/voice.js +32 -5
  90. package/node_modules/@xrkseek/server-face/dist/handlers/voice.js.map +1 -1
  91. package/node_modules/@xrkseek/server-face/dist/index.d.ts +1 -0
  92. package/node_modules/@xrkseek/server-face/dist/index.d.ts.map +1 -1
  93. package/node_modules/@xrkseek/server-face/dist/index.js +1 -0
  94. package/node_modules/@xrkseek/server-face/dist/index.js.map +1 -1
  95. package/node_modules/@xrkseek/server-face/dist/model-catalog.d.ts.map +1 -1
  96. package/node_modules/@xrkseek/server-face/dist/model-catalog.js +18 -8
  97. package/node_modules/@xrkseek/server-face/dist/model-catalog.js.map +1 -1
  98. package/node_modules/@xrkseek/server-face/dist/runtime.d.ts.map +1 -1
  99. package/node_modules/@xrkseek/server-face/dist/runtime.js +12 -0
  100. package/node_modules/@xrkseek/server-face/dist/runtime.js.map +1 -1
  101. package/node_modules/@xrkseek/server-face/dist/session-attachment.d.ts.map +1 -1
  102. package/node_modules/@xrkseek/server-face/dist/session-attachment.js +60 -5
  103. package/node_modules/@xrkseek/server-face/dist/session-attachment.js.map +1 -1
  104. package/node_modules/@xrkseek/server-face/dist/session-capability.d.ts.map +1 -1
  105. package/node_modules/@xrkseek/server-face/dist/session-capability.js +45 -19
  106. package/node_modules/@xrkseek/server-face/dist/session-capability.js.map +1 -1
  107. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.d.ts +2 -2
  108. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.d.ts.map +1 -1
  109. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js +5 -38
  110. package/node_modules/@xrkseek/server-face/dist/session-thread-tools.js.map +1 -1
  111. package/node_modules/@xrkseek/server-face/dist/session-tool-copy.d.ts.map +1 -1
  112. package/node_modules/@xrkseek/server-face/dist/session-tool-copy.js +6 -2
  113. package/node_modules/@xrkseek/server-face/dist/session-tool-copy.js.map +1 -1
  114. package/node_modules/@xrkseek/server-face/dist/session-tools.d.ts.map +1 -1
  115. package/node_modules/@xrkseek/server-face/dist/session-tools.js +0 -2
  116. package/node_modules/@xrkseek/server-face/dist/session-tools.js.map +1 -1
  117. package/node_modules/@xrkseek/server-face/dist/settings-schemas.d.ts.map +1 -1
  118. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js +40 -7
  119. package/node_modules/@xrkseek/server-face/dist/settings-schemas.js.map +1 -1
  120. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts +2 -2
  121. package/node_modules/@xrkseek/server-face/dist/subagent-tools.d.ts.map +1 -1
  122. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js +15 -56
  123. package/node_modules/@xrkseek/server-face/dist/subagent-tools.js.map +1 -1
  124. package/node_modules/@xrkseek/server-face/dist/tts-availability.d.ts +33 -0
  125. package/node_modules/@xrkseek/server-face/dist/tts-availability.d.ts.map +1 -0
  126. package/node_modules/@xrkseek/server-face/dist/tts-availability.js +67 -0
  127. package/node_modules/@xrkseek/server-face/dist/tts-availability.js.map +1 -0
  128. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.d.ts.map +1 -1
  129. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js +58 -18
  130. package/node_modules/@xrkseek/server-face/dist/workspace-orchestrate-tools.js.map +1 -1
  131. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/mainline-sideline.d.ts +1 -1
  132. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/mainline-sideline.d.ts.map +1 -1
  133. package/node_modules/@xrkseek/server-face/dist/xiangyang-skill-bodies/mainline-sideline.js +1 -1
  134. package/node_modules/@xrkseek/server-host/dist/im-reply-tool.d.ts +5 -1
  135. package/node_modules/@xrkseek/server-host/dist/im-reply-tool.d.ts.map +1 -1
  136. package/node_modules/@xrkseek/server-host/dist/im-reply-tool.js +1 -1
  137. package/node_modules/@xrkseek/server-host/dist/im-reply-tool.js.map +1 -1
  138. package/node_modules/@xrkseek/server-host/dist/index.d.ts +5 -0
  139. package/node_modules/@xrkseek/server-host/dist/index.d.ts.map +1 -1
  140. package/node_modules/@xrkseek/server-host/dist/index.js +79 -8
  141. package/node_modules/@xrkseek/server-host/dist/index.js.map +1 -1
  142. package/node_modules/@xrkseek/workspace/dist/durable-inject.d.ts +10 -4
  143. package/node_modules/@xrkseek/workspace/dist/durable-inject.d.ts.map +1 -1
  144. package/node_modules/@xrkseek/workspace/dist/durable-inject.js +26 -8
  145. package/node_modules/@xrkseek/workspace/dist/durable-inject.js.map +1 -1
  146. package/node_modules/@xrkseek/workspace/dist/skill-tools.js +1 -1
  147. package/node_modules/@xrkseek/workspace/dist/skill-tools.js.map +1 -1
  148. package/node_modules/@xrkseek/workspace/dist/skills.d.ts +1 -1
  149. package/node_modules/@xrkseek/workspace/dist/skills.d.ts.map +1 -1
  150. package/node_modules/@xrkseek/workspace/dist/skills.js +2 -2
  151. package/node_modules/@xrkseek/workspace/dist/skills.js.map +1 -1
  152. package/node_modules/@xrkseek/workspace/dist/standing-skill-dirs.d.ts.map +1 -1
  153. package/node_modules/@xrkseek/workspace/dist/standing-skill-dirs.js +1 -7
  154. package/node_modules/@xrkseek/workspace/dist/standing-skill-dirs.js.map +1 -1
  155. package/package.json +1 -1
@@ -1,7 +1,37 @@
1
1
  import { voiceUnavailableMessage } from "./readiness.js";
2
- import { VoiceError, isVoiceError, } from "./types.js";
2
+ import { VOICE_MAX_TTS_TEXT, VoiceError, isVoiceError, } from "./types.js";
3
3
  export { VOICE_ASR_PROMPT_TEXT, VOICE_PROMPT_TEXT, VOICE_TTS_PROMPT_TEXT, voicePromptText, } from "./format.js";
4
4
  export { describeVoiceAccess, voiceUnavailableMessage, } from "./readiness.js";
5
+ /**
6
+ * True when a clip reads as Chinese: at least one Han character and no more
7
+ * Latin letters than Han ones. Short mixed strings ("OK 收到") stay Chinese,
8
+ * which matches how people actually dictate.
9
+ */
10
+ function looksChinese(text) {
11
+ const han = text.match(/[\u3400-\u4dbf\u4e00-\u9fff]/gu)?.length ?? 0;
12
+ if (han === 0)
13
+ return false;
14
+ const latin = text.match(/[A-Za-z]/g)?.length ?? 0;
15
+ return han >= latin;
16
+ }
17
+ /**
18
+ * Resolve the voice for one call: an explicit `voice` wins, then the `en`/`zh`
19
+ * row chosen by `language`, then the engine default (undefined).
20
+ * @param input - call args, configured rows, and the text to sniff.
21
+ * @returns the provider voice id, or undefined to keep the engine default.
22
+ */
23
+ function chooseVoice(input) {
24
+ if (input.explicit !== undefined && input.explicit.trim() !== "") {
25
+ return input.explicit.trim();
26
+ }
27
+ const language = input.language === "zh" || input.language === "en"
28
+ ? input.language
29
+ : looksChinese(input.text)
30
+ ? "zh"
31
+ : "en";
32
+ const row = language === "zh" ? input.voices?.zh : input.voices?.en;
33
+ return row !== undefined && row.trim() !== "" ? row.trim() : undefined;
34
+ }
5
35
  function fail(err) {
6
36
  const message = isVoiceError(err)
7
37
  ? `Error: ${err.message}`
@@ -24,6 +54,17 @@ function decodeAudio(raw) {
24
54
  function bytesToBase64(bytes) {
25
55
  return Buffer.from(bytes).toString("base64");
26
56
  }
57
+ /** Container extension for a TTS mime type. */
58
+ function audioExtension(mimeType) {
59
+ const mime = mimeType.toLowerCase();
60
+ if (mime.includes("wav"))
61
+ return "wav";
62
+ if (mime.includes("opus") || mime.includes("ogg"))
63
+ return "opus";
64
+ if (mime.includes("webm"))
65
+ return "webm";
66
+ return "mp3";
67
+ }
27
68
  /**
28
69
  * Model-facing voice tools: text_to_speech · voice_transcribe · voice_session.
29
70
  */
@@ -35,20 +76,31 @@ export function createVoiceTools(options = {}) {
35
76
  const service = options.service;
36
77
  const tts = {
37
78
  name: "text_to_speech",
38
- description: "Synthesize speech from text via the Host TTS Provider. Returns audio as base64 plus mime type. " +
39
- "Does not play audio on the server — the client/UI plays it.",
79
+ description: "Synthesize speech from text with the Host TTS engine. " +
80
+ "The result is a session file attachment (`attachmentId` + a `file` block) so the client can play it — " +
81
+ "the Host itself has no speaker. " +
82
+ "Pass `voice` for a specific provider voice; Edge uses short names like `zh-CN-XiaoxiaoNeural` / `en-US-AriaNeural`. " +
83
+ "`language` defaults to auto, which picks the configured Chinese or English voice from the text. " +
84
+ "The engine is selected in Settings → Plugins → TTS (edge / local / openai).",
40
85
  parameters: {
41
86
  type: "object",
42
87
  properties: {
43
88
  text: { type: "string", description: "Text to speak." },
44
89
  voice: {
45
90
  type: "string",
46
- description: "Optional voice id (provider-specific).",
91
+ description: "Provider voice id. Edge: `zh-CN-XiaoxiaoNeural`, `en-US-AriaNeural`, … Local: an OS voice name.",
92
+ },
93
+ language: {
94
+ type: "string",
95
+ enum: ["auto", "zh", "en"],
96
+ description: "Spoken language. `auto` (default) sniffs the text and uses the configured voice for that language; " +
97
+ "`zh` / `en` force the Chinese or English row. Pass this when the text is a single foreign word or " +
98
+ "mostly numbers, where sniffing cannot tell.",
47
99
  },
48
100
  format: {
49
101
  type: "string",
50
102
  enum: ["mp3", "wav", "opus"],
51
- description: "Audio format (default mp3 for OpenAI; wav for memory).",
103
+ description: "Container hint. Edge always streams MP3, local always WAV, openai honors the request.",
52
104
  },
53
105
  },
54
106
  required: ["text"],
@@ -64,25 +116,77 @@ export function createVoiceTools(options = {}) {
64
116
  return { content: missing, isError: true };
65
117
  try {
66
118
  const text = String(args.text ?? "").trim();
119
+ if (text.length > VOICE_MAX_TTS_TEXT) {
120
+ throw new VoiceError(`text is ${text.length} chars; text_to_speech accepts up to ${VOICE_MAX_TTS_TEXT}`, "VOICE_BAD_ARGS");
121
+ }
67
122
  const formatRaw = args.format
68
123
  ? String(args.format).trim()
69
124
  : undefined;
70
125
  const format = formatRaw === "mp3" || formatRaw === "wav" || formatRaw === "opus"
71
126
  ? formatRaw
72
127
  : undefined;
128
+ const languageRaw = String(args.language ?? "").trim().toLowerCase();
129
+ const language = languageRaw === "zh" || languageRaw === "en" || languageRaw === "auto"
130
+ ? languageRaw
131
+ : options.language;
132
+ const voice = chooseVoice({
133
+ ...(args.voice ? { explicit: String(args.voice) } : {}),
134
+ ...(language !== undefined ? { language } : {}),
135
+ text,
136
+ ...(options.voices !== undefined ? { voices: options.voices } : {}),
137
+ });
73
138
  const result = await service.synthesize({
74
139
  text,
75
- ...(args.voice ? { voice: String(args.voice) } : {}),
140
+ ...(voice !== undefined ? { voice } : {}),
76
141
  ...(format ? { format } : {}),
77
142
  });
143
+ const meta = [
144
+ `provider=${result.provider} delivery=${result.delivery} mime=${result.mimeType}`,
145
+ result.voice ? `voice=${result.voice}` : "",
146
+ language !== undefined ? `language=${language}` : "",
147
+ result.note ? `note=${result.note}` : "",
148
+ ].filter(Boolean);
149
+ const attachments = options.attachments;
150
+ if (attachments) {
151
+ const ref = await attachments.saveFile({
152
+ data: result.bytes,
153
+ mediaType: result.mimeType,
154
+ name: `tts-${Date.now()}.${audioExtension(result.mimeType)}`,
155
+ });
156
+ return {
157
+ content: [
158
+ {
159
+ type: "text",
160
+ text: [
161
+ ...meta,
162
+ `bytes=${ref.bytes} name=${ref.name} attachmentId=${ref.attachmentId}`,
163
+ ].join("\n"),
164
+ },
165
+ {
166
+ type: "file",
167
+ attachment: {
168
+ attachmentId: ref.attachmentId,
169
+ name: ref.name,
170
+ bytes: ref.bytes,
171
+ ...(ref.mediaType === undefined
172
+ ? { mediaType: result.mimeType }
173
+ : { mediaType: ref.mediaType }),
174
+ },
175
+ },
176
+ ],
177
+ };
178
+ }
179
+ // No store (CLI / unit tests): keep a short preview, but never let a
180
+ // truncated envelope read as playable audio.
78
181
  const b64 = bytesToBase64(result.bytes);
79
182
  const preview = b64.length > 120 ? `${b64.slice(0, 120)}…(${b64.length} chars)` : b64;
80
183
  return {
81
184
  content: [
82
- `provider=${result.provider} delivery=${result.delivery} mime=${result.mimeType}`,
83
- result.note ? `note=${result.note}` : "",
185
+ ...meta,
84
186
  `audio_base64=${preview}`,
85
- b64.length > 120 ? `(full base64 length ${b64.length}; truncated in tool text)` : "",
187
+ b64.length > 120
188
+ ? "(full base64 omitted — no attachment store on this Host, so the audio cannot be played)"
189
+ : "",
86
190
  ]
87
191
  .filter(Boolean)
88
192
  .join("\n"),
@@ -95,28 +199,39 @@ export function createVoiceTools(options = {}) {
95
199
  };
96
200
  const stt = {
97
201
  name: "voice_transcribe",
98
- description: "One-shot speech-to-text (dictation) on base64 audio. For message/file audio, not live mic streaming.",
202
+ description: "One-shot speech-to-text for an audio clip you already hold as base64 — " +
203
+ "a voice message, a recorded file, or a clip the user dropped in. " +
204
+ "Live microphone dictation is the client's ASR seat and never calls this tool. " +
205
+ "Accepts raw base64 or a `data:audio/…;base64,` URL. " +
206
+ "If the clip is already a session attachment, pass `attachment_id` instead of re-encoding it. " +
207
+ "Returns provider/delivery then the transcript; `no_speech=true` means the clip held no speech. " +
208
+ "Engine is chosen in Settings → Plugins → ASR (local SenseVoice, or an OpenAI-compatible endpoint).",
99
209
  parameters: {
100
210
  type: "object",
101
211
  properties: {
102
212
  audio_base64: {
103
213
  type: "string",
104
- description: "Base64 audio (optional data: URL prefix).",
214
+ description: "Base64 audio; a `data:audio/…;base64,` prefix is accepted and stripped.",
215
+ },
216
+ attachment_id: {
217
+ type: "string",
218
+ description: "Session file attachment id (`sha256:…` / `attachment:sha256:…`). " +
219
+ "Preferred over audio_base64 when the clip was already uploaded.",
105
220
  },
106
221
  mime_type: {
107
222
  type: "string",
108
- description: "MIME type (default audio/wav).",
223
+ description: "Container of the clip (default audio/wav). Browser captures are 16 kHz mono WAV.",
109
224
  },
110
225
  language: {
111
226
  type: "string",
112
- description: "Optional BCP-47 / ISO language hint.",
227
+ description: "BCP-47 hint (`zh-CN`, `en-US`). Short clips transcribe noticeably better with it.",
113
228
  },
114
229
  filename: {
115
230
  type: "string",
116
- description: "Optional filename hint for multipart STT APIs.",
231
+ description: "Filename hint (extension matters to some multipart gateways), e.g. `clip.wav`.",
117
232
  },
118
233
  },
119
- required: ["audio_base64"],
234
+ // Exactly one of attachment_id / audio_base64; execute validates.
120
235
  },
121
236
  presentCall: (args) => ({
122
237
  card: "generic",
@@ -128,12 +243,27 @@ export function createVoiceTools(options = {}) {
128
243
  if (!service)
129
244
  return { content: missing, isError: true };
130
245
  try {
131
- const bytes = decodeAudio(args.audio_base64);
246
+ const attachmentId = String(args.attachment_id ?? "").trim();
247
+ let bytes;
248
+ let mimeType = args.mime_type ? String(args.mime_type) : undefined;
249
+ let filename = args.filename ? String(args.filename) : undefined;
250
+ if (attachmentId !== "") {
251
+ if (!options.attachments) {
252
+ throw new VoiceError("attachment_id needs an AttachmentStore on this Host; pass audio_base64 instead", "VOICE_BAD_ARGS");
253
+ }
254
+ const stored = await options.attachments.readFile(attachmentId);
255
+ bytes = stored.data;
256
+ mimeType ??= stored.ref.mediaType;
257
+ filename ??= stored.ref.name;
258
+ }
259
+ else {
260
+ bytes = decodeAudio(args.audio_base64);
261
+ }
132
262
  const result = await service.transcribe({
133
263
  bytes,
134
- ...(args.mime_type ? { mimeType: String(args.mime_type) } : {}),
264
+ ...(mimeType ? { mimeType } : {}),
135
265
  ...(args.language ? { language: String(args.language) } : {}),
136
- ...(args.filename ? { filename: String(args.filename) } : {}),
266
+ ...(filename ? { filename } : {}),
137
267
  });
138
268
  return {
139
269
  content: [
@@ -152,26 +282,31 @@ export function createVoiceTools(options = {}) {
152
282
  };
153
283
  const live = {
154
284
  name: "voice_session",
155
- description: "Realtime voice session broker. action=status reports availability; action=create opens an ephemeral live session " +
156
- "(OpenAI client_secret or memory stub). Mic/speaker and WebRTC stay on the client — Host does not proxy media.",
285
+ description: "Realtime voice session broker — check with `status` before opening anything. " +
286
+ "`status` reports whether the current engine has a live mode at all " +
287
+ "(edge and local are one-shot TTS/ASR only; openai is the live-capable engine). " +
288
+ "`create` opens an ephemeral session: openai returns a `client_secret` the browser uses to finish WebRTC, " +
289
+ "and the memory provider returns a stub for tests. " +
290
+ "Mic, speaker and SDP negotiation stay on the client — the Host never proxies media, " +
291
+ "so this tool is only useful with a WebRTC-capable client.",
157
292
  parameters: {
158
293
  type: "object",
159
294
  properties: {
160
295
  action: {
161
296
  type: "string",
162
297
  enum: ["status", "create"],
163
- description: "status | create (default create).",
298
+ description: "`status` = availability only; `create` = open an ephemeral session (default).",
164
299
  },
165
300
  sdp_offer: {
166
301
  type: "string",
167
- description: "Optional SDP offer (memory stub returns a fake answer).",
302
+ description: "WebRTC SDP offer. Only the memory stub answers it; openai returns a client_secret instead.",
168
303
  },
169
304
  instructions: {
170
305
  type: "string",
171
- description: "Optional session persona / system instructions.",
306
+ description: "Persona / system instructions for the live session.",
172
307
  },
173
- voice: { type: "string", description: "Optional live voice id." },
174
- model: { type: "string", description: "Optional realtime model id." },
308
+ voice: { type: "string", description: "Live voice id (provider-specific)." },
309
+ model: { type: "string", description: "Realtime model id (provider-specific)." },
175
310
  },
176
311
  },
177
312
  presentCall: (args) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,15 @@
2
2
  * Voice Host seam — TTS · dictation (STT) · realtime voice session.
3
3
  * Mic/speaker stay client-side; this package owns Provider contracts + tools.
4
4
  */
5
- export type VoiceDelivery = "memory" | "openai" | "local" | "system" | "unavailable";
5
+ export type VoiceDelivery = "memory" | "openai" | "local" | "system" | "edge" | "unavailable";
6
6
  /** Which half of voice a Provider serves. */
7
7
  export type VoiceDirection = "asr" | "tts";
8
+ /**
9
+ * Longest text one clip may carry, shared by every TTS engine so switching
10
+ * `tts.engine` never changes what the tool accepts. Argv / env limits are not
11
+ * the constraint here — patience and the attachment byte cap are.
12
+ */
13
+ export declare const VOICE_MAX_TTS_TEXT = 8000;
8
14
  export type VoiceErrorCode = "VOICE_UNAVAILABLE" | "VOICE_BAD_ARGS" | "VOICE_BACKEND" | "VOICE_LIVE_UNSUPPORTED";
9
15
  export declare class VoiceError extends Error {
10
16
  readonly code: VoiceErrorCode;
@@ -21,6 +27,11 @@ export interface VoiceSynthesizeResult {
21
27
  readonly mimeType: string;
22
28
  readonly provider: string;
23
29
  readonly delivery: VoiceDelivery;
30
+ /**
31
+ * Voice actually used. Providers fill this with their default when the
32
+ * caller named none, so a tool envelope can report what the reader heard.
33
+ */
34
+ readonly voice?: string;
24
35
  /** Short diagnostic for tool text (not raw audio). */
25
36
  readonly note?: string;
26
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,12 @@
2
2
  * Voice Host seam — TTS · dictation (STT) · realtime voice session.
3
3
  * Mic/speaker stay client-side; this package owns Provider contracts + tools.
4
4
  */
5
+ /**
6
+ * Longest text one clip may carry, shared by every TTS engine so switching
7
+ * `tts.engine` never changes what the tool accepts. Argv / env limits are not
8
+ * the constraint here — patience and the attachment byte cap are.
9
+ */
10
+ export const VOICE_MAX_TTS_TEXT = 8_000;
5
11
  export class VoiceError extends Error {
6
12
  code;
7
13
  constructor(message, code = "VOICE_BACKEND") {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,IAAI,CAAiB;IAE9B,YAAY,OAAe,EAAE,OAAuB,eAAe;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,GAAG,YAAY,UAAU,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AAQxC,MAAM,OAAO,UAAW,SAAQ,KAAK;IAC1B,IAAI,CAAiB;IAE9B,YAAY,OAAe,EAAE,OAAuB,eAAe;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,GAAG,YAAY,UAAU,CAAC;AACnC,CAAC"}
@@ -24,7 +24,9 @@
24
24
  "README.md"
25
25
  ],
26
26
  "dependencies": {
27
- "@xrkseek/core-tools": "workspace:*"
27
+ "@xrkseek/attachment": "workspace:*",
28
+ "@xrkseek/core-tools": "workspace:*",
29
+ "ws": "^8.18.0"
28
30
  },
29
31
  "optionalDependencies": {
30
32
  "sherpa-onnx-node": "2.0.1"
@@ -35,5 +37,8 @@
35
37
  "url": "git+https://github.com/xrkseek/XRK-harness.git",
36
38
  "directory": "packages/exec/voice"
37
39
  },
38
- "private": true
40
+ "private": true,
41
+ "devDependencies": {
42
+ "@types/ws": "^8.5.13"
43
+ }
39
44
  }
@@ -237,6 +237,11 @@ export interface HarnessCompositionOptions {
237
237
  * Tool writes update disk only. Not the Mnemon document library.
238
238
  */
239
239
  readonly curatedMemory?: false | CuratedMemoryStore;
240
+ /**
241
+ * Word for the agent memory zone in prompt headers / policy text (Settings
242
+ * seat titles: 干员 · 水手 · 成员 · …). Omitted → neutral "member".
243
+ */
244
+ readonly curatedMemoryAgentLabel?: string;
240
245
  /**
241
246
  * Register `lsp`. Default: on. `false` skips.
242
247
  * Pass an `LspService` to inject in tests. No `XRK_LSP_COMMAND` → tool
@@ -1 +1 @@
1
- {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../preset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preset.d.ts","sourceRoot":"","sources":["../preset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAYL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAChC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAUL,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAQL,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAe9B,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAaL,KAAK,qBAAqB,EAE1B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAeL,KAAK,6BAA6B,EAClC,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,QAAQ,EAAG,SAAkB,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEhD,0EAA0E;AAC1E,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,IAAI,CAAC,6BAA6B,EAAE,MAAM,CAAC,CAAC;AAUhD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,4EAA4E;IAC5E,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,2BAA2B,EAAE,oBAAoB,CAAC;IAClF,QAAQ,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;;OAMG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC;IAC7C,4DAA4D;IAC5D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,uEAAuE;IACvE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,uBAAuB,EAAE,iBAAiB,CAAC;IAClF,sEAAsE;IACtE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,8DAA8D;IAC9D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,8CAA8C;IAC9C,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,uBAAuB,EAAE,oBAAoB,CAAC;IAC/E;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,4BAA4B,EAAE,wBAAwB,CAAC;IAC5F;;OAEG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC5C;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,mBAAmB,EAAE,oBAAoB,CAAC;IAC3E;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,mBAAmB,EAAE,sBAAsB,CAAC;IAC7E;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,qBAAqB,EAAE,kBAAkB,CAAC;IACzE,2DAA2D;IAC3D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACtC;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,yBAAyB,EAAE,qBAAqB,CAAC;IACnF,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACzC;;OAEG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,yBAAyB,EAAE,qBAAqB,CAAC;IACnF,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACzC;;OAEG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,6BAA6B,EAAE,yBAAyB,CAAC;IAC/F,mEAAmE;IACnE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAC7C,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MACtB;QACE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;KAC/B,GACD,SAAS,CAAC;IACd,8DAA8D;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,uBAAuB,EAAE,WAAW,CAAC;IACnE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,mFAAmF;IACnF,QAAQ,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IACzC;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAC9D,0GAA0G;IAC1G,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACvE,oDAAoD;IACpD,QAAQ,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzC,iEAAiE;IACjE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAChD;;;OAGG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,4BAA4B,CAAC;IAC9D;;;OAGG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IAC1D,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC/C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;IACzD;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,eAAe,CAAC;IACnD;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAAC;IAC3D;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,kBAAkB,CAAC;IACpD;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAC1C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IACzC;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,sBAAsB,CAAC;IACrD;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,qBAAqB,EAAE,YAAY,CAAC;IAC5D,sEAAsE;IACtE,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,qBAAqB,EAAE,UAAU,CAAC;IAClE;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAChB,KAAK,GACL;QACE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;QAChD,qEAAqE;QACrE,QAAQ,CAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC;QACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACnC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QACnC,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;KACnC,CAAC;IACN;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EACvB,KAAK,GACL;QACE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;QACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;QACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAC;QAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;KAClC,CAAC;IACN;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EACtB,KAAK,GACL,oBAAoB,GACpB;QACE,QAAQ,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;QACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;QACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,4BAA4B,EAAE,6BAA6B,CAAC;QACtF,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,4BAA4B,EAAE,SAAS,CAAC;QACpE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACN,oEAAoE;IACpE,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAC1E,6EAA6E;IAC7E,QAAQ,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAChF;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EACvB,SAAS,MAAM,EAAE,GACjB,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,CAAC;IAC9B;;;;;;OAMG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EACxB,SAAS,MAAM,EAAE,GACjB,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EACpB,OAAO,mBAAmB,EAAE,cAAc,GAC1C,CAAC,MAAM,OAAO,mBAAmB,EAAE,cAAc,CAAC,CAAC;IACvD;;;;OAIG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IAC5D,+DAA+D;IAC/D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3C;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC;IACvC,6DAA6D;IAC7D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IAC1C;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC;IAChD,6EAA6E;IAC7E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC5C;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAC3C;;OAEG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,iGAAiG;IACjG,QAAQ,CAAC,UAAU,CAAC,EAAE;QACpB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QACjC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;KACrC,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAC3C;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,mBAAmB,EAAE,kBAAkB,CAAC;IACpE;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;CACpD;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,EAAE,OAAO,QAAQ,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,yEAAyE;IACzE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,gGAAgG;IAChG,QAAQ,CAAC,cAAc,CAAC,EAAE,mBAAmB,CAAC;IAC9C,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IACpC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,wEAAwE;IACxE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAuLD,mEAAmE;AACnE,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,yBAAyB,GACjC,kBAAkB,CA2yCpB;AAED,eAAO,MAAM,MAAM;;;;CAIlB,CAAC"}
@@ -11,7 +11,7 @@ import { createVoiceAccess, createVoiceTools, voicePromptText, } from "@xrkseek/
11
11
  import { IMAGE_GEN_PROMPT_TEXT, createDefaultImageGenAccess, createImageGenTools, } from "@xrkseek/exec-image-gen";
12
12
  import { VIDEO_GEN_PROMPT_TEXT, createDefaultVideoGenAccess, createVideoGenTools, } from "@xrkseek/exec-video-gen";
13
13
  import { VIDEO_ANALYZE_PROMPT_TEXT, createDefaultVideoAnalyzeAccess, createVideoAnalyzeTools, } from "@xrkseek/exec-video-analyze";
14
- import { CURATED_MEMORY_PROMPT_TEXT, SCOPED_CURATED_MEMORY_PROMPT_TEXT, createCuratedMemoryTools, createScopedCuratedMemoryTools, resolveMemoryProvider, writeReusableNotesAfterTurn, runCuratedMemoryConsolidate, } from "@xrkseek/exec-memory";
14
+ import { CURATED_MEMORY_PROMPT_TEXT, createCuratedMemoryTools, createScopedCuratedMemoryTools, resolveMemoryProvider, scopedCuratedMemoryPromptText, writeReusableNotesAfterTurn, runCuratedMemoryConsolidate, } from "@xrkseek/exec-memory";
15
15
  import { LSP_PROMPT_TEXT, createDefaultLspAccess, createLspTools, } from "@xrkseek/exec-lsp";
16
16
  import { PTY_PROMPT_TEXT, createDefaultPtyAccess, createPtyTools, } from "@xrkseek/exec-pty";
17
17
  import { createSandboxStack, createSandboxWrapGuard, createHardlineArgvPre, } from "@xrkseek/exec-sandbox";
@@ -493,6 +493,9 @@ export function createHarnessComposition(options) {
493
493
  ...(options.voiceEnv ? { env: options.voiceEnv } : {}),
494
494
  direction: "asr",
495
495
  surface: "listen",
496
+ // Lets voice_transcribe read an already-uploaded clip by
497
+ // attachment_id instead of forcing the caller to re-encode base64.
498
+ ...(options.attachments ? { attachments: options.attachments } : {}),
496
499
  ...(options.voiceProduct?.mode === "openai"
497
500
  ? { engine: "openai" }
498
501
  : {}),
@@ -513,7 +516,9 @@ export function createHarnessComposition(options) {
513
516
  ? curatedMemory
514
517
  : undefined;
515
518
  for (const tool of layered
516
- ? createScopedCuratedMemoryTools(layered)
519
+ ? createScopedCuratedMemoryTools(layered, {
520
+ agentLabel: options.curatedMemoryAgentLabel,
521
+ })
517
522
  : createCuratedMemoryTools(curatedMemory)) {
518
523
  tools.register(tool);
519
524
  }
@@ -831,15 +836,17 @@ export function createHarnessComposition(options) {
831
836
  if (curatedMemory) {
832
837
  // Policy is always present (even with empty files) so a new session does not
833
838
  // treat leftover MEMORY.md WIP as a task queue — Codex-style isolation.
839
+ // Ask the store instead of re-deriving the rule: `createScopedCuratedMemoryTools`
840
+ // switches on the same fact, and two copies of the predicate drift the
841
+ // moment one side changes.
834
842
  const layeredPolicy = typeof curatedMemory === "object" &&
835
- "layers" in curatedMemory &&
836
- Array.isArray(curatedMemory.layers) &&
837
- curatedMemory.layers.length > 1;
843
+ "isLayered" in curatedMemory &&
844
+ curatedMemory.isLayered === true;
838
845
  prompts.register({
839
846
  id: "curated-memory-policy",
840
847
  order: 1,
841
848
  content: () => layeredPolicy
842
- ? SCOPED_CURATED_MEMORY_PROMPT_TEXT
849
+ ? scopedCuratedMemoryPromptText(options.curatedMemoryAgentLabel)
843
850
  : CURATED_MEMORY_PROMPT_TEXT,
844
851
  });
845
852
  const frozenMemory = curatedMemory.frozenSystemBlock();