openclaw/src/agents
Tyler Yust 61a345c6dd fix(bluebubbles): route phone-number targets to direct chats; prevent internal IDs leaking in cross-context prefix (#1751)
* fix(bluebubbles): prefer DM resolution + hide routing markers

* fix(bluebubbles): prevent message routing to group chats when targeting phone numbers

When sending a message to a phone number like +12622102921, the
resolveChatGuidForTarget function was finding and returning a GROUP
CHAT containing that phone number instead of a direct DM chat.

The bug was in the participantMatch fallback logic which matched ANY
chat containing the phone number as a participant, including groups.

This fix adds a check to ensure participantMatch only considers DM
chats (identified by ';-;' separator in the chat GUID). Group chats
(identified by ';+;' separator) are now explicitly excluded from
handle-based matching.

If a phone number only exists in a group chat (no direct DM exists),
the function now correctly returns null, which causes the send to
fail with a clear error rather than accidentally messaging a group.

Added test case to verify this behavior.

* feat(bluebubbles): auto-create new DM chats when sending to unknown phone numbers

When sending to a phone number that doesn't have an existing chat,
instead of failing with 'chatGuid not found', now automatically creates
a new chat using the /api/v1/chat/new endpoint.

- Added createNewChatWithMessage() helper function
- When resolveChatGuidForTarget returns null for a handle target,
  uses the new chat endpoint with addresses array and message
- Includes helpful error message if Private API isn't enabled
- Only applies to handle targets (phone numbers), not group chats

* fix(bluebubbles): hide internal routing metadata in cross-context markers

When sending cross-context messages via BlueBubbles, the origin marker was
exposing internal chat_guid routing info like '[from bluebubbles:chat_guid:any;-;+19257864429]'.

This adds a formatTargetDisplay() function to the BlueBubbles plugin that:
- Extracts phone numbers from chat_guid formats (iMessage;-;+1234567890 -> +1234567890)
- Normalizes handles for clean display
- Avoids returning raw chat_guid formats containing internal routing metadata

Now cross-context markers show clean identifiers like '[from +19257864429]' instead
of exposing internal routing details to recipients.

* fix: prevent cross-context decoration on direct message tool sends

Two fixes:

1. Cross-context decoration (e.g., '[from +19257864429]' prefix) was being
   added to ALL messages sent to a different target, even when the agent
   was just composing a new message via the message tool. This decoration
   should only be applied when forwarding/relaying messages between chats.

   Fix: Added skipCrossContextDecoration flag to ChannelThreadingToolContext.
   The message tool now sets this flag to true, so direct sends don't get
   decorated. The buildCrossContextDecoration function checks this flag
   and returns null when set.

2. Aborted requests were still completing because the abort signal wasn't
   being passed through the message tool execution chain.

   Fix: Added abortSignal propagation from message tool → runMessageAction →
   executeSendAction → sendMessage → deliverOutboundPayloads. Added abort
   checks at key points in the chain to fail fast when aborted.

Files changed:
- src/channels/plugins/types.core.ts: Added skipCrossContextDecoration field
- src/infra/outbound/outbound-policy.ts: Check skip flag before decorating
- src/agents/tools/message-tool.ts: Set skip flag, accept and pass abort signal
- src/infra/outbound/message-action-runner.ts: Pass abort signal through
- src/infra/outbound/outbound-send-service.ts: Check and pass abort signal
- src/infra/outbound/message.ts: Pass abort signal to delivery

* fix(bluebubbles): preserve friendly display names in formatTargetDisplay
2026-01-25 10:03:08 +00:00
..
auth-profiles Revert "fix: improve GitHub Copilot integration" 2026-01-23 07:14:00 +00:00
cli-runner feat: add TTS hint to system prompt 2026-01-24 10:25:42 +00:00
pi-embedded-helpers fix: auto-compact on context overflow promptError before returning error (#1627) 2026-01-24 22:09:24 +00:00
pi-embedded-runner Telegram: threaded conversation support (#1597) 2026-01-25 04:48:51 +00:00
pi-extensions fix: align compaction summary message types 2026-01-23 23:03:04 +00:00
sandbox fix: honor wildcard tool allowlists 2026-01-24 01:30:44 +00:00
schema chore: format + regenerate protocol 2026-01-17 03:40:49 +00:00
skills feat: add OpenProse plugin skills 2026-01-23 00:49:40 +00:00
test-helpers test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
tools fix(bluebubbles): route phone-number targets to direct chats; prevent internal IDs leaking in cross-context prefix (#1751) 2026-01-25 10:03:08 +00:00
agent-paths.test.ts fix(agents): default agent dir to multi-agent path 2026-01-06 21:54:42 +00:00
agent-paths.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-scope.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
agent-scope.ts fix: normalize session keys and outbound mirroring 2026-01-24 11:57:11 +00:00
anthropic-payload-log.ts fix: cover slack open policy gating (#1563) (thanks @itsjaydesu) 2026-01-24 07:09:26 +00:00
anthropic.setup-token.live.test.ts refactor: add aws-sdk auth mode and tighten provider auth 2026-01-20 08:28:40 +00:00
apply-patch-update.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
apply-patch.test.ts feat: add apply_patch tool (exec-gated) 2026-01-12 03:42:56 +00:00
apply-patch.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
auth-health.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
auth-health.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
auth-profiles.auth-profile-cooldowns.test.ts refactor(src): split oversized modules 2026-01-14 01:17:56 +00:00
auth-profiles.chutes.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
auth-profiles.ensureauthprofilestore.test.ts fix(auth): dedupe codex-cli profiles 2026-01-20 09:38:56 +00:00
auth-profiles.external-cli-credential-sync.does-not-overwrite-api-keys-syncing-external.test.ts chore: standardize Claude Code CLI naming (#915) 2026-01-14 20:07:35 +00:00
auth-profiles.external-cli-credential-sync.does-not-overwrite-fresher-store-oauth-older.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
auth-profiles.external-cli-credential-sync.skips-codex-sync-when-credentials-exist-in-another-profile.test.ts fix(auth): dedupe codex-cli profiles 2026-01-20 09:38:56 +00:00
auth-profiles.external-cli-credential-sync.syncs-claude-cli-oauth-credentials-into-anthropic.test.ts chore: standardize Claude Code CLI naming (#915) 2026-01-14 20:07:35 +00:00
auth-profiles.external-cli-credential-sync.updates-codex-cli-profile-codex-cli-refresh.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
auth-profiles.external-cli-credential-sync.upgrades-token-oauth-claude-cli-gets-refreshtoken.test.ts chore: standardize Claude Code CLI naming (#915) 2026-01-14 20:07:35 +00:00
auth-profiles.markauthprofilefailure.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
auth-profiles.resolve-auth-profile-order.does-not-prioritize-lastgood-round-robin-ordering.test.ts fix: normalize Claude CLI auth mode to oauth (#855) 2026-01-15 02:29:43 +00:00
auth-profiles.resolve-auth-profile-order.normalizes-z-ai-aliases-auth-order.test.ts refactor(agents): split tools + PI subscribe 2026-01-14 05:39:59 +00:00
auth-profiles.resolve-auth-profile-order.orders-by-lastused-no-explicit-order-exists.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
auth-profiles.resolve-auth-profile-order.uses-stored-profiles-no-config-exists.test.ts refactor(agents): split tools + PI subscribe 2026-01-14 05:39:59 +00:00
auth-profiles.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
bash-process-registry.test.ts fix: cap pending process output 2026-01-17 08:26:12 +00:00
bash-process-registry.ts fix: cap pending process output 2026-01-17 08:26:12 +00:00
bash-tools.exec.approval-id.test.ts fix: cover elevated ask approvals (#1636) 2026-01-24 21:12:46 +00:00
bash-tools.exec.background-abort.test.ts test: deflake background exec timeout 2026-01-16 19:48:52 +00:00
bash-tools.exec.path.test.ts fix: merge login shell PATH for gateway exec 2026-01-20 14:04:13 +00:00
bash-tools.exec.pty-fallback.test.ts fix: fall back to non-PTY exec 2026-01-23 06:27:26 +00:00
bash-tools.exec.pty.test.ts fix: stabilize pty tests and media kind 2026-01-17 08:10:44 +00:00
bash-tools.exec.ts fix: harden exec spawn fallback 2026-01-25 06:37:39 +00:00
bash-tools.process.send-keys.test.ts fix: stabilize pty tests and media kind 2026-01-17 08:10:44 +00:00
bash-tools.process.ts style: run oxfmt 2026-01-17 08:00:05 +00:00
bash-tools.shared.ts fix: restore docker binds and PATH in sandbox exec (#873) 2026-01-15 02:58:20 +00:00
bash-tools.test.ts feat: add exec pathPrepend config 2026-01-19 00:35:43 +00:00
bash-tools.ts refactor(agents): split tools + PI subscribe 2026-01-14 05:39:59 +00:00
bedrock-discovery.test.ts fix: refine bedrock discovery defaults (#1543) (thanks @fal3) 2026-01-24 01:18:33 +00:00
bedrock-discovery.ts fix: refine bedrock discovery defaults (#1543) (thanks @fal3) 2026-01-24 01:18:33 +00:00
bootstrap-files.test.ts chore(gate): fix lint and protocol 2026-01-18 06:31:02 +00:00
bootstrap-files.ts refactor: add hook guards and test helpers 2026-01-18 06:15:24 +00:00
bootstrap-hooks.test.ts feat: add bootstrap hook and soul-evil hook 2026-01-18 05:24:47 +00:00
bootstrap-hooks.ts feat: add bootstrap hook and soul-evil hook 2026-01-18 05:24:47 +00:00
cache-trace.test.ts fix: add diagnostics cache trace config (#1370) (thanks @parubets) 2026-01-21 10:23:30 +00:00
cache-trace.ts fix: add diagnostics cache trace config (#1370) (thanks @parubets) 2026-01-21 10:23:30 +00:00
channel-tools.ts fix: msteams attachments + plugin prompt hints 2026-01-22 03:37:29 +00:00
chutes-oauth.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
chutes-oauth.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
claude-cli-runner.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
claude-cli-runner.ts Move provider to a plugin-architecture (#661) 2026-01-11 11:45:25 +00:00
clawdbot-gateway-tool.test.ts feat(gateway-tool): add config.patch action for safe partial config updates (#1624) 2026-01-24 23:30:32 +00:00
clawdbot-tools.agents.test.ts test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
clawdbot-tools.camera.test.ts test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
clawdbot-tools.session-status.test.ts fix: resolve session ids in session tools 2026-01-24 11:09:11 +00:00
clawdbot-tools.sessions.test.ts fix: resolve session ids in session tools 2026-01-24 11:09:11 +00:00
clawdbot-tools.subagents.sessions-spawn-allows-cross-agent-spawning-configured.test.ts test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
clawdbot-tools.subagents.sessions-spawn-announces-agent-wait-lifecycle-events.test.ts test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
clawdbot-tools.subagents.sessions-spawn-applies-model-child-session.test.ts test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
clawdbot-tools.subagents.sessions-spawn-normalizes-allowlisted-agent-ids.test.ts test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
clawdbot-tools.subagents.sessions-spawn-prefers-per-agent-subagent-model.test.ts test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
clawdbot-tools.subagents.sessions-spawn-resolves-main-announce-target-from.test.ts test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
clawdbot-tools.ts feat: move TTS into core (#1559) (thanks @Glucksberg) 2026-01-24 08:00:44 +00:00
cli-backends.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
cli-credentials.test.ts fix: unblock bundled plugin load 2026-01-18 19:34:21 +00:00
cli-credentials.ts fix: read account_id from Codex CLI auth for workspace billing 2026-01-22 07:01:10 +00:00
cli-runner.test.ts chore: format and sync protocol outputs 2026-01-16 03:30:56 +00:00
cli-runner.ts fix: expand /v1/responses inputs (#1229) (thanks @RyanLisse) 2026-01-20 07:37:30 +00:00
cli-session.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
compaction.test.ts test(compaction): cover staged pruning 2026-01-23 22:25:07 +00:00
compaction.ts fix: align compaction summary message types 2026-01-23 23:03:04 +00:00
context-window-guard.test.ts fix: guard small context windows 2026-01-10 01:08:56 +01:00
context-window-guard.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
context.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
date-time.ts feat(date-time): standardize time context and tool timestamps 2026-01-15 22:27:06 +00:00
defaults.ts feat(agent): enforce provider/model and identity defaults 2025-12-14 04:22:38 +00:00
docs-path.ts feat: enrich system prompt docs guidance 2026-01-18 15:00:36 +00:00
failover-error.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
failover-error.ts fix(agents): treat provider request-aborted as timeout for fallback (#1576) 2026-01-24 11:27:24 +00:00
google-gemini-switch.live.test.ts fix: stabilize ci checks 2026-01-19 00:34:26 +00:00
identity-avatar.test.ts fix: stabilize avatar tests on Windows 2026-01-22 07:24:12 +00:00
identity-avatar.ts feat: add agent avatar support (#1329) (thanks @dlauer) 2026-01-22 04:00:07 +00:00
identity-file.test.ts fix: ignore identity template placeholders 2026-01-24 05:35:50 +00:00
identity-file.ts fix: ignore identity template placeholders 2026-01-24 05:35:50 +00:00
identity.test.ts feat(agent): add human-like delay between block replies 2026-01-10 17:12:50 +01:00
identity.ts feat: add dynamic template variables to messages.responsePrefix (#923) 2026-01-14 23:05:08 -05:00
lanes.ts refactor: use command lane enum 2026-01-20 10:51:25 +00:00
live-auth-keys.ts fix: refine synthetic provider + minimax probes 2026-01-13 03:36:53 +00:00
live-model-filter.ts test: skip opencode alpha GLM in live suite 2026-01-24 14:08:16 +00:00
memory-search.test.ts fix: make session memory indexing async 2026-01-21 10:39:00 +00:00
memory-search.ts fix: make session memory indexing async 2026-01-21 10:39:00 +00:00
minimax-vlm.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
minimax.live.test.ts fix: stabilize ci checks 2026-01-19 00:34:26 +00:00
model-auth.test.ts refactor: add aws-sdk auth mode and tighten provider auth 2026-01-20 08:28:40 +00:00
model-auth.ts feat: add Venice AI provider integration 2026-01-25 01:11:57 +00:00
model-catalog.test.ts fix: model catalog cache + TUI editor ctor (#1326) (thanks @dougvk) 2026-01-20 22:58:41 +00:00
model-catalog.ts fix: skip image understanding when primary model has vision 2026-01-25 09:57:19 +00:00
model-compat.test.ts fix: clamp z.ai developer role 2026-01-11 04:28:30 +01:00
model-compat.ts fix: unblock discord listener concurrency 2026-01-20 19:30:32 +00:00
model-fallback.test.ts fix(agents): treat provider request-aborted as timeout for fallback (#1576) 2026-01-24 11:27:24 +00:00
model-fallback.ts fix: allow fallback on timeout aborts 2026-01-20 19:23:13 +00:00
model-scan.test.ts feat: add model scan progress callbacks 2026-01-08 05:20:39 +01:00
model-scan.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
model-selection.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
model-selection.ts feat: improve /new model hints and reset confirmation 2026-01-20 14:35:20 +00:00
models-config.auto-injects-github-copilot-provider-token-is.test.ts Revert "fix: improve GitHub Copilot integration" 2026-01-23 07:14:00 +00:00
models-config.falls-back-default-baseurl-token-exchange-fails.test.ts Revert "fix: improve GitHub Copilot integration" 2026-01-23 07:14:00 +00:00
models-config.fills-missing-provider-apikey-from-env-var.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
models-config.normalizes-gemini-3-ids-preview-google-providers.test.ts refactor(agents): split tools + PI subscribe 2026-01-14 05:39:59 +00:00
models-config.providers.ollama.test.ts feat: Add Ollama provider with automatic model discovery (#1606) 2026-01-24 22:38:52 +00:00
models-config.providers.ts fix: stabilize venice model discovery 2026-01-25 02:43:08 +00:00
models-config.skips-writing-models-json-no-env-token.test.ts fix: skip tailscale dns probe when off 2026-01-25 02:51:20 +00:00
models-config.ts feat: Add Ollama provider with automatic model discovery (#1606) 2026-01-24 22:38:52 +00:00
models-config.uses-first-github-copilot-profile-env-tokens.test.ts Revert "fix: improve GitHub Copilot integration" 2026-01-23 07:14:00 +00:00
models.profiles.live.test.ts feat: preflight update runner before rebase 2026-01-22 04:19:33 +00:00
openai-responses.reasoning-replay.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
opencode-zen-models.test.ts fix: sync tests with config normalization 2026-01-24 13:32:26 +00:00
opencode-zen-models.ts fix: drop opencode alpha GLM model 2026-01-24 13:19:55 +00:00
pi-embedded-block-chunker.test.ts refactor: cron payload migration cleanup (#621) 2026-01-09 22:56:55 +00:00
pi-embedded-block-chunker.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-helpers.buildbootstrapcontextfiles.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-helpers.classifyfailoverreason.test.ts fix: sanitize oversized image payloads 2026-01-18 15:21:38 +00:00
pi-embedded-helpers.downgradeopenai-reasoning.test.ts fix: gate openai reasoning downgrade on model switches (#1562) (thanks @roshanasingh4) 2026-01-24 08:16:42 +00:00
pi-embedded-helpers.formatassistanterrortext.test.ts fix: auto-compact on context overflow promptError before returning error (#1627) 2026-01-24 22:09:24 +00:00
pi-embedded-helpers.formatrawassistanterrorforui.test.ts fix: surface concrete ai error details 2026-01-22 22:24:25 +00:00
pi-embedded-helpers.image-dimension-error.test.ts fix: stabilize tests and logging 2026-01-18 18:43:31 +00:00
pi-embedded-helpers.isautherrormessage.test.ts fix: treat OAuth refresh failures as auth errors (#1261) (thanks @zknicker) 2026-01-20 09:31:41 +00:00
pi-embedded-helpers.isbillingerrormessage.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-helpers.iscloudcodeassistformaterror.test.ts fix: stabilize tests and logging 2026-01-18 18:43:31 +00:00
pi-embedded-helpers.iscompactionfailureerror.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-helpers.iscontextoverflowerror.test.ts fix: auto-compact on context overflow promptError before returning error (#1627) 2026-01-24 22:09:24 +00:00
pi-embedded-helpers.isfailovererrormessage.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-helpers.islikelycontextoverflowerror.test.ts fix: avoid context-window-too-small misclassification (#1266, thanks @humanwritten) 2026-01-20 10:07:05 +00:00
pi-embedded-helpers.ismessagingtoolduplicate.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-helpers.messaging-duplicate.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-helpers.normalizetextforcomparison.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-helpers.resolvebootstrapmaxchars.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-helpers.sanitize-session-messages-images.keeps-tool-call-tool-result-ids-unchanged.test.ts docs: add transcript hygiene reference 2026-01-23 01:34:21 +00:00
pi-embedded-helpers.sanitize-session-messages-images.removes-empty-assistant-text-blocks-but-preserves.test.ts docs: add transcript hygiene reference 2026-01-23 01:34:21 +00:00
pi-embedded-helpers.sanitizegoogleturnordering.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-helpers.sanitizesessionmessagesimages-thought-signature-stripping.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-helpers.sanitizetoolcallid.test.ts fix: gate transcript sanitization by provider 2026-01-23 00:42:45 +00:00
pi-embedded-helpers.sanitizeuserfacingtext.test.ts fix: surface concrete ai error details 2026-01-22 22:24:25 +00:00
pi-embedded-helpers.stripthoughtsignatures.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-helpers.ts Fix OpenAI Responses transcript after model switch 2026-01-24 07:58:25 +00:00
pi-embedded-helpers.validate-turns.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-messaging.ts refactor: centralize target normalization 2026-01-17 06:45:11 +00:00
pi-embedded-runner-extraparams.live.test.ts fix: stabilize ci checks 2026-01-19 00:34:26 +00:00
pi-embedded-runner-extraparams.test.ts fix: align ZAI thinking toggles 2026-01-16 22:26:43 +00:00
pi-embedded-runner.applygoogleturnorderingfix.test.ts feat: Add Ollama provider with automatic model discovery (#1606) 2026-01-24 22:38:52 +00:00
pi-embedded-runner.buildembeddedsandboxinfo.test.ts feat: Add Ollama provider with automatic model discovery (#1606) 2026-01-24 22:38:52 +00:00
pi-embedded-runner.createsystempromptoverride.test.ts feat: Add Ollama provider with automatic model discovery (#1606) 2026-01-24 22:38:52 +00:00
pi-embedded-runner.get-dm-history-limit-from-session-key.falls-back-provider-default-per-dm-not.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-runner.get-dm-history-limit-from-session-key.returns-undefined-sessionkey-is-undefined.test.ts Telegram: threaded conversation support (#1597) 2026-01-25 04:48:51 +00:00
pi-embedded-runner.google-sanitize-thinking.test.ts fix: skip tool id sanitization for openai responses 2026-01-22 23:51:59 +00:00
pi-embedded-runner.guard.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-runner.limithistoryturns.test.ts feat: Add Ollama provider with automatic model discovery (#1606) 2026-01-24 22:38:52 +00:00
pi-embedded-runner.resolvesessionagentids.test.ts feat: Add Ollama provider with automatic model discovery (#1606) 2026-01-24 22:38:52 +00:00
pi-embedded-runner.run-embedded-pi-agent.auth-profile-rotation.test.ts fix: trigger fallback on auth profile exhaustion 2026-01-24 06:14:23 +00:00
pi-embedded-runner.sanitize-session-history.test.ts fix: gate openai reasoning downgrade on model switches (#1562) (thanks @roshanasingh4) 2026-01-24 08:16:42 +00:00
pi-embedded-runner.splitsdktools.test.ts feat: Add Ollama provider with automatic model discovery (#1606) 2026-01-24 22:38:52 +00:00
pi-embedded-runner.test.ts Telegram: threaded conversation support (#1597) 2026-01-25 04:48:51 +00:00
pi-embedded-runner.ts fix: port OpenRouter Gemini sanitization to split files (#845) (thanks @MatthieuBizien) 2026-01-16 08:02:56 +00:00
pi-embedded-subscribe.code-span-awareness.test.ts fix(agents): skip thinking tags in code spans 2026-01-15 09:23:56 +00:00
pi-embedded-subscribe.handlers.lifecycle.ts fix: prevent duplicate agent event emission 2026-01-20 09:25:20 +00:00
pi-embedded-subscribe.handlers.messages.ts fix: carry reply tags across streamed chunks 2026-01-22 08:01:34 +00:00
pi-embedded-subscribe.handlers.tools.ts Agents: surface tool failures without assistant output 2026-01-18 18:35:03 +05:30
pi-embedded-subscribe.handlers.ts feat: extend verbose tool feedback 2026-01-17 05:33:39 +00:00
pi-embedded-subscribe.handlers.types.ts fix: carry reply tags across streamed chunks 2026-01-22 08:01:34 +00:00
pi-embedded-subscribe.raw-stream.ts CLI: streamline startup paths and env parsing 2026-01-18 23:10:39 +00:00
pi-embedded-subscribe.reply-tags.test.ts fix: carry reply tags across streamed chunks 2026-01-22 08:01:34 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.calls-onblockreplyflush-before-tool-execution-start-preserve.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-append-text-end-content-is.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-call-onblockreplyflush-callback-is-not.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-duplicate-text-end-repeats-full.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-emit-duplicate-block-replies-text.test.ts fix: clean up slack threading landings (#1360) (thanks @SocialNerd42069) 2026-01-21 06:29:36 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.emits-block-replies-text-end-does-not.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.filters-final-suppresses-output-without-start-tag.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.includes-canvas-action-metadata-tool-summaries.test.ts fix: improve tool summaries 2026-01-23 01:00:24 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-assistanttexts-final-answer-block-replies-are.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-indented-fenced-blocks-intact.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.reopens-fenced-blocks-splitting-inside-them.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.splits-long-single-line-fenced-blocks-reopen.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.streams-soft-chunks-paragraph-preference.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.subscribeembeddedpisession.test.ts fix: preserve gateway presence instanceId 2026-01-20 09:52:26 +00:00
pi-embedded-subscribe.subscribe-embedded-pi-session.suppresses-message-end-block-replies-message-tool.test.ts fix: send text between tool calls to channel immediately 2026-01-15 20:55:52 -08:00
pi-embedded-subscribe.subscribe-embedded-pi-session.waits-multiple-compaction-retries-before-resolving.test.ts fix: improve tool summaries 2026-01-23 01:00:24 +00:00
pi-embedded-subscribe.tools.test.ts refactor: migrate messaging plugins to sdk 2026-01-18 08:54:00 +00:00
pi-embedded-subscribe.tools.ts Agents: surface tool failures without assistant output 2026-01-18 18:35:03 +05:30
pi-embedded-subscribe.ts fix: carry reply tags across streamed chunks 2026-01-22 08:01:34 +00:00
pi-embedded-subscribe.types.ts feat: enhance BlueBubbles message actions with support for message editing, reply metadata, and improved effect handling 2026-01-20 12:07:54 +00:00
pi-embedded-utils.test.ts fix: unify reasoning tags + agent ids (#1613) (thanks @kyleok) (#1629) 2026-01-24 19:56:02 +00:00
pi-embedded-utils.ts fix: unify reasoning tags + agent ids (#1613) (thanks @kyleok) (#1629) 2026-01-24 19:56:02 +00:00
pi-embedded.ts feat: gate slash commands and add compact 2026-01-06 02:23:55 +01:00
pi-settings.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-settings.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-tool-definition-adapter.test.ts fix: normalize exec tool alias naming 2026-01-17 18:15:45 +00:00
pi-tool-definition-adapter.ts feat(gateway): implement OpenResponses /v1/responses endpoint phase 2 2026-01-20 07:37:01 +00:00
pi-tools-agent-config.test.ts fix: enforce group tool policy inheritance for subagents (#1557) (thanks @adam91holt) 2026-01-24 05:49:39 +00:00
pi-tools.abort.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-tools.create-clawdbot-coding-tools.adds-claude-style-aliases-schemas-without-dropping-b.test.ts test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
pi-tools.create-clawdbot-coding-tools.adds-claude-style-aliases-schemas-without-dropping-d.test.ts test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
pi-tools.create-clawdbot-coding-tools.adds-claude-style-aliases-schemas-without-dropping-f.test.ts test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
pi-tools.create-clawdbot-coding-tools.adds-claude-style-aliases-schemas-without-dropping.test.ts test: stub heavy tools in agent tests 2026-01-23 18:34:33 +00:00
pi-tools.policy.test.ts fix: honor wildcard tool allowlists 2026-01-24 01:30:44 +00:00
pi-tools.policy.ts fix: enforce group tool policy inheritance for subagents (#1557) (thanks @adam91holt) 2026-01-24 05:49:39 +00:00
pi-tools.read.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-tools.schema.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pi-tools.ts Agents: drop bash tool alias 2026-01-24 07:44:04 +00:00
pi-tools.types.ts refactor(agents): split tools + PI subscribe 2026-01-14 05:39:59 +00:00
pi-tools.workspace-paths.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
pty-dsr.test.ts fix: respond to PTY cursor queries 2026-01-17 07:05:24 +00:00
pty-dsr.ts refactor: normalize channel capabilities typing 2026-01-17 08:06:35 +00:00
pty-keys.test.ts style: run oxfmt 2026-01-17 08:00:05 +00:00
pty-keys.ts fix: stabilize pty send-keys tests 2026-01-17 06:32:24 +00:00
sandbox-agent-config.agent-specific-sandbox-config.includes-session-status-default-sandbox-allowlist.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
sandbox-agent-config.agent-specific-sandbox-config.should-allow-agent-specific-docker-settings-beyond.test.ts test: stabilize sandbox config tests 2026-01-16 01:44:12 +00:00
sandbox-agent-config.agent-specific-sandbox-config.should-use-agent-specific-workspaceroot.test.ts fix: restore status usage summary output 2026-01-16 02:49:18 +00:00
sandbox-agent-config.agent-specific-sandbox-config.should-use-global-sandbox-config-no-agent.test.ts ci: stabilize vitest runs 2026-01-18 06:58:54 +00:00
sandbox-create-args.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
sandbox-explain.test.ts fix: normalize session keys and outbound mirroring 2026-01-24 11:57:11 +00:00
sandbox-merge.test.ts ci: stabilize vitest runs 2026-01-18 06:58:54 +00:00
sandbox-paths.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
sandbox-skills.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
sandbox.resolveSandboxContext.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
sandbox.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
session-slug.test.ts fix: stabilize pty send-keys tests 2026-01-17 06:32:24 +00:00
session-slug.ts feat: add session slug generator 2026-01-17 06:23:26 +00:00
session-tool-result-guard-wrapper.ts docs: add transcript hygiene reference 2026-01-23 01:34:21 +00:00
session-tool-result-guard.test.ts docs: add transcript hygiene reference 2026-01-23 01:34:21 +00:00
session-tool-result-guard.tool-result-persist-hook.test.ts fix: enforce plugin config schemas (#1272) (thanks @thewilloftheshadow) 2026-01-20 11:03:17 +00:00
session-tool-result-guard.ts docs: add transcript hygiene reference 2026-01-23 01:34:21 +00:00
session-transcript-repair.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
session-transcript-repair.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
session-write-lock.test.ts fix: normalize session lock path 2026-01-23 18:34:33 +00:00
session-write-lock.ts fix: normalize session lock path 2026-01-23 18:34:33 +00:00
shell-utils.test.ts fix: finalize exec fish fallback (#1297) (thanks @ysqander) 2026-01-20 11:25:49 +00:00
shell-utils.ts fix: add path import for shell utils (#1298) (thanks @sibbl) 2026-01-20 11:59:36 +00:00
skills-install.ts fix: handle fetch streams safely 2026-01-21 01:24:29 +00:00
skills-status.ts feat: add download installs for skills 2026-01-21 00:14:36 +00:00
skills.applyskillenvoverrides.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
skills.build-workspace-skills-prompt.applies-bundled-allowlist-without-affecting-workspace-skills.test.ts refactor(agents): split tools + PI subscribe 2026-01-14 05:39:59 +00:00
skills.build-workspace-skills-prompt.prefers-workspace-skills-managed-skills.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
skills.build-workspace-skills-prompt.returns-empty-prompt-skills-dirs-are-missing.test.ts refactor(agents): split tools + PI subscribe 2026-01-14 05:39:59 +00:00
skills.build-workspace-skills-prompt.syncs-merged-skills-into-target-workspace.test.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
skills.buildworkspaceskillcommands.test.ts feat: tool-dispatch skill commands 2026-01-19 13:11:25 +01:00
skills.buildworkspaceskillsnapshot.test.ts feat: add user-invocable skill commands 2026-01-16 12:10:29 +00:00
skills.buildworkspaceskillstatus.test.ts feat: add download installs for skills 2026-01-21 00:14:36 +00:00
skills.loadworkspaceskillentries.test.ts feat: add OpenProse plugin skills 2026-01-23 00:49:40 +00:00
skills.resolveskillspromptforrun.test.ts refactor(src): split oversized modules 2026-01-14 01:17:56 +00:00
skills.summarize-skill-description.test.ts fix(skills): improve summarize selection 2026-01-15 10:14:59 +00:00
skills.ts feat: add user-invocable skill commands 2026-01-16 12:10:29 +00:00
subagent-announce-queue.ts refactor: unify queue drop handling 2026-01-17 06:38:33 +00:00
subagent-announce.format.test.ts fix: unblock bundled plugin load 2026-01-18 19:34:21 +00:00
subagent-announce.ts fix: preserve subagent thread routing (#1241) 2026-01-20 17:22:07 +00:00
subagent-registry.persistence.test.ts style: oxfmt format 2026-01-17 05:48:56 +00:00
subagent-registry.store.ts style: oxfmt format 2026-01-17 05:48:56 +00:00
subagent-registry.ts fix: improve tool summaries 2026-01-23 01:00:24 +00:00
synthetic-models.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
system-prompt-params.test.ts feat: surface repo root in runtime prompt 2026-01-22 05:20:42 +00:00
system-prompt-params.ts feat: surface repo root in runtime prompt 2026-01-22 05:20:42 +00:00
system-prompt-report.ts Format: fix report + telegram formatting 2026-01-15 01:27:16 +00:00
system-prompt.test.ts feat: add TTS hint to system prompt 2026-01-24 10:25:42 +00:00
system-prompt.ts feat: add TTS hint to system prompt 2026-01-24 10:25:42 +00:00
timeout.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
tool-call-id.test.ts fix: gate transcript sanitization by provider 2026-01-23 00:42:45 +00:00
tool-call-id.ts fix: gate transcript sanitization by provider 2026-01-23 00:42:45 +00:00
tool-display.json Agents: drop bash tool alias 2026-01-24 07:44:04 +00:00
tool-display.test.ts fix: improve tool summaries 2026-01-23 01:00:24 +00:00
tool-display.ts fix: improve tool summaries 2026-01-23 01:00:24 +00:00
tool-images.test.ts fix: sanitize oversized image payloads 2026-01-18 15:21:38 +00:00
tool-images.ts refactor(logging): split config + subsystem imports 2026-01-19 00:15:44 +00:00
tool-policy.plugin-only-allowlist.test.ts fix: guard tool allowlists with warnings 2026-01-24 07:38:42 +00:00
tool-policy.test.ts Agents: drop bash tool alias 2026-01-24 07:44:04 +00:00
tool-policy.ts Agents: drop bash tool alias 2026-01-24 07:44:04 +00:00
tool-summaries.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
transcript-policy.ts docs: add transcript hygiene reference 2026-01-23 01:34:21 +00:00
usage.test.ts fix: restore Anthropic token accounting 2026-01-06 18:52:01 +00:00
usage.ts chore: migrate to oxlint and oxfmt 2026-01-14 15:02:19 +00:00
venice-models.ts fix: stabilize venice model discovery 2026-01-25 02:43:08 +00:00
workspace.test.ts style: format agent workspace and prompts 2026-01-22 08:05:55 +00:00
workspace.ts style: format agent workspace and prompts 2026-01-22 08:05:55 +00:00
zai.live.test.ts CLI: streamline startup paths and env parsing 2026-01-18 23:10:39 +00:00