@tritard/waterbrother 0.16.57 → 0.16.59

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": "@tritard/waterbrother",
3
- "version": "0.16.57",
3
+ "version": "0.16.59",
4
4
  "description": "Waterbrother: bring-your-own-model coding CLI with local tools, sessions, operator modes, and approval controls",
5
5
  "type": "module",
6
6
  "bin": {
package/src/cli.js CHANGED
@@ -5383,7 +5383,8 @@ async function runTextTurnInteractive({
5383
5383
  promptText,
5384
5384
  pendingInput,
5385
5385
  spinnerLabel = "thinking...",
5386
- extraExecutionContext = null
5386
+ extraExecutionContext = null,
5387
+ allowLocalConceptAnswer = true
5387
5388
  }) {
5388
5389
  await refreshSelfAwareness(context, currentSession).catch(() => {});
5389
5390
  const refreshedMemoryParts = [
@@ -5395,7 +5396,9 @@ async function runTextTurnInteractive({
5395
5396
  if (refreshedMemoryParts.length > 0) {
5396
5397
  agent.setMemory(refreshedMemoryParts.join("\n\n"));
5397
5398
  }
5398
- const localConceptAnswer = resolveLocalConceptQuestion(promptText, context.runtime.selfAwareness);
5399
+ const localConceptAnswer = allowLocalConceptAnswer
5400
+ ? resolveLocalConceptQuestion(promptText, context.runtime.selfAwareness)
5401
+ : null;
5399
5402
  if (localConceptAnswer) {
5400
5403
  printAssistantOutput(localConceptAnswer);
5401
5404
  await saveCurrentSession(currentSession, agent);
@@ -7593,7 +7596,9 @@ Be concrete about surfaces — name actual pages/flows. Choose the best stack fo
7593
7596
  runtime: context.runtime,
7594
7597
  currentSession
7595
7598
  });
7596
- const remoteLocalConceptAnswer = resolveLocalConceptQuestion(remoteRequest.text || "", remoteManifest);
7599
+ const remoteLocalConceptAnswer = remoteRequest.explicitExecution
7600
+ ? null
7601
+ : resolveLocalConceptQuestion(remoteRequest.text || "", remoteManifest);
7597
7602
  if (remoteLocalConceptAnswer) {
7598
7603
  await deliverTelegramBridgeReply(remoteRequest, {
7599
7604
  sessionId: remoteSessionId,
@@ -7609,6 +7614,7 @@ Be concrete about surfaces — name actual pages/flows. Choose the best stack fo
7609
7614
  promptText: remoteRequest.text || "",
7610
7615
  pendingInput: remoteRequest.text || "",
7611
7616
  spinnerLabel: "telegram working...",
7617
+ allowLocalConceptAnswer: !remoteRequest.explicitExecution,
7612
7618
  extraExecutionContext: buildTelegramExecutionContext({
7613
7619
  actor: remoteRequest.username || remoteRequest.displayName || "",
7614
7620
  userId: remoteRequest.userId || "",
package/src/gateway.js CHANGED
@@ -1648,7 +1648,7 @@ class TelegramGateway {
1648
1648
  return host;
1649
1649
  }
1650
1650
 
1651
- async runPromptViaBridge(message, sessionId, promptText) {
1651
+ async runPromptViaBridge(message, sessionId, promptText, options = {}) {
1652
1652
  const host = await this.getLiveBridgeHost();
1653
1653
  if (!host) {
1654
1654
  return null;
@@ -1667,6 +1667,7 @@ class TelegramGateway {
1667
1667
  displayName: this.describeTelegramUser(message?.from || {}).displayName,
1668
1668
  sessionId: String(sessionId || "").trim(),
1669
1669
  text: String(promptText || "").trim(),
1670
+ explicitExecution: options.explicitExecution === true,
1670
1671
  runtimeProfile: String(project?.runtimeProfile || "").trim(),
1671
1672
  replyToMessageId: message.message_id,
1672
1673
  requestedAt: new Date().toISOString(),
@@ -2734,7 +2735,7 @@ Ask them to run <code>/whoami</code> and then <code>/accept-invite ${escapeTeleg
2734
2735
  return;
2735
2736
  }
2736
2737
  previewMessage = await this.sendProgressMessage(message.chat.id, message.message_id);
2737
- const content = (await this.runPromptViaBridge(message, sessionId, promptText))
2738
+ const content = (await this.runPromptViaBridge(message, sessionId, promptText, { explicitExecution: shouldExecutePrompt }))
2738
2739
  ?? (await this.runPromptFallback(sessionId, promptText));
2739
2740
  await this.deliverPromptResult(message.chat.id, message.message_id, previewMessage, content);
2740
2741
  } catch (error) {