From fcb86408fd7dedc08fc81d5e1eb3381613afc93b Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 22 Feb 2026 11:17:47 +0000 Subject: [PATCH] test: move embedded and tool agent suites out of e2e --- src/agents/{apply-patch.e2e.test.ts => apply-patch.test.ts} | 0 .../{claude-cli-runner.e2e.test.ts => claude-cli-runner.test.ts} | 0 src/agents/{cli-runner.e2e.test.ts => cli-runner.test.ts} | 0 ...details.e2e.test.ts => compaction.tool-result-details.test.ts} | 0 .../{identity-avatar.e2e.test.ts => identity-avatar.test.ts} | 0 src/agents/{identity-file.e2e.test.ts => identity-file.test.ts} | 0 ...nel-prefix.e2e.test.ts => identity.per-channel-prefix.test.ts} | 0 ...lock-chunker.e2e.test.ts => pi-embedded-block-chunker.test.ts} | 0 ...ges.removes-empty-assistant-text-blocks-but-preserves.test.ts} | 0 ...aparams.e2e.test.ts => pi-embedded-runner-extraparams.test.ts} | 0 ...t.ts => pi-embedded-runner.applygoogleturnorderingfix.test.ts} | 0 ...est.ts => pi-embedded-runner.buildembeddedsandboxinfo.test.ts} | 0 ...t.ts => pi-embedded-runner.createsystempromptoverride.test.ts} | 0 ...om-session-key.falls-back-provider-default-per-dm-not.test.ts} | 0 ...session-key.returns-undefined-sessionkey-is-undefined.test.ts} | 0 ...est.ts => pi-embedded-runner.google-sanitize-thinking.test.ts} | 0 ...-runner.guard.e2e.test.ts => pi-embedded-runner.guard.test.ts} | 0 ...s.e2e.test.ts => pi-embedded-runner.limithistoryturns.test.ts} | 0 ....ts => pi-embedded-runner.openai-tool-id-preservation.test.ts} | 0 ....test.ts => pi-embedded-runner.resolvesessionagentids.test.ts} | 0 ...tools.e2e.test.ts => pi-embedded-runner.splitsdktools.test.ts} | 0 .../pi-embedded-runner/{google.e2e.test.ts => google.test.ts} | 0 .../run/{attempt.e2e.test.ts => attempt.test.ts} | 0 ...{compaction-timeout.e2e.test.ts => compaction-timeout.test.ts} | 0 .../pi-embedded-runner/run/{images.e2e.test.ts => images.test.ts} | 0 ...st.ts => sanitize-session-history.tool-result-details.test.ts} | 0 ...ontext-guard.e2e.test.ts => tool-result-context-guard.test.ts} | 0 ...sult-truncation.e2e.test.ts => tool-result-truncation.test.ts} | 0 ....test.ts => pi-embedded-subscribe.code-span-awareness.test.ts} | 0 ...t.ts => pi-embedded-subscribe.lifecycle-billing-error.test.ts} | 0 ...-tags.e2e.test.ts => pi-embedded-subscribe.reply-tags.test.ts} | 0 ...nblockreplyflush-before-tool-execution-start-preserve.test.ts} | 0 ...bedded-pi-session.does-not-append-text-end-content-is.test.ts} | 0 ...ssion.does-not-call-onblockreplyflush-callback-is-not.test.ts} | 0 ...d-pi-session.does-not-duplicate-text-end-repeats-full.test.ts} | 0 ...pi-session.does-not-emit-duplicate-block-replies-text.test.ts} | 0 ...dded-pi-session.emits-block-replies-text-end-does-not.test.ts} | 0 ...i-session.emits-reasoning-as-separate-message-enabled.test.ts} | 0 ...ion.filters-final-suppresses-output-without-start-tag.test.ts} | 0 ...n.keeps-assistanttexts-final-answer-block-replies-are.test.ts} | 0 ...bedded-pi-session.keeps-indented-fenced-blocks-intact.test.ts} | 0 ...i-session.reopens-fenced-blocks-splitting-inside-them.test.ts} | 0 ...-session.splits-long-single-line-fenced-blocks-reopen.test.ts} | 0 ...d-pi-session.streams-soft-chunks-paragraph-preference.test.ts} | 0 ...scribe-embedded-pi-session.subscribeembeddedpisession.test.ts} | 0 ...ion.suppresses-message-end-block-replies-message-tool.test.ts} | 0 ...test.ts => pi-tool-definition-adapter.after-tool-call.test.ts} | 0 ...ion-adapter.e2e.test.ts => pi-tool-definition-adapter.test.ts} | 0 ...ols-agent-config.e2e.test.ts => pi-tools-agent-config.test.ts} | 0 ....adds-claude-style-aliases-schemas-without-dropping-b.test.ts} | 0 ....adds-claude-style-aliases-schemas-without-dropping-d.test.ts} | 0 ....adds-claude-style-aliases-schemas-without-dropping-f.test.ts} | 0 .../{pi-tools.policy.e2e.test.ts => pi-tools.policy.test.ts} | 0 ...-gating.e2e.test.ts => pi-tools.whatsapp-login-gating.test.ts} | 0 ...rkspace-paths.e2e.test.ts => pi-tools.workspace-paths.test.ts} | 0 ...xContext.e2e.test.ts => sandbox.resolveSandboxContext.test.ts} | 0 src/agents/tools/{cron-tool.e2e.test.ts => cron-tool.test.ts} | 0 ...ions-presence.e2e.test.ts => discord-actions-presence.test.ts} | 0 .../{discord-actions.e2e.test.ts => discord-actions.test.ts} | 0 src/agents/tools/{gateway.e2e.test.ts => gateway.test.ts} | 0 .../tools/{message-tool.e2e.test.ts => message-tool.test.ts} | 0 src/agents/tools/{sessions.e2e.test.ts => sessions.test.ts} | 0 .../tools/{slack-actions.e2e.test.ts => slack-actions.test.ts} | 0 .../{telegram-actions.e2e.test.ts => telegram-actions.test.ts} | 0 ...ed-defaults.e2e.test.ts => web-tools.enabled-defaults.test.ts} | 0 .../{whatsapp-actions.e2e.test.ts => whatsapp-actions.test.ts} | 0 66 files changed, 0 insertions(+), 0 deletions(-) rename src/agents/{apply-patch.e2e.test.ts => apply-patch.test.ts} (100%) rename src/agents/{claude-cli-runner.e2e.test.ts => claude-cli-runner.test.ts} (100%) rename src/agents/{cli-runner.e2e.test.ts => cli-runner.test.ts} (100%) rename src/agents/{compaction.tool-result-details.e2e.test.ts => compaction.tool-result-details.test.ts} (100%) rename src/agents/{identity-avatar.e2e.test.ts => identity-avatar.test.ts} (100%) rename src/agents/{identity-file.e2e.test.ts => identity-file.test.ts} (100%) rename src/agents/{identity.per-channel-prefix.e2e.test.ts => identity.per-channel-prefix.test.ts} (100%) rename src/agents/{pi-embedded-block-chunker.e2e.test.ts => pi-embedded-block-chunker.test.ts} (100%) rename src/agents/{pi-embedded-helpers.sanitize-session-messages-images.removes-empty-assistant-text-blocks-but-preserves.e2e.test.ts => pi-embedded-helpers.sanitize-session-messages-images.removes-empty-assistant-text-blocks-but-preserves.test.ts} (100%) rename src/agents/{pi-embedded-runner-extraparams.e2e.test.ts => pi-embedded-runner-extraparams.test.ts} (100%) rename src/agents/{pi-embedded-runner.applygoogleturnorderingfix.e2e.test.ts => pi-embedded-runner.applygoogleturnorderingfix.test.ts} (100%) rename src/agents/{pi-embedded-runner.buildembeddedsandboxinfo.e2e.test.ts => pi-embedded-runner.buildembeddedsandboxinfo.test.ts} (100%) rename src/agents/{pi-embedded-runner.createsystempromptoverride.e2e.test.ts => pi-embedded-runner.createsystempromptoverride.test.ts} (100%) rename src/agents/{pi-embedded-runner.get-dm-history-limit-from-session-key.falls-back-provider-default-per-dm-not.e2e.test.ts => pi-embedded-runner.get-dm-history-limit-from-session-key.falls-back-provider-default-per-dm-not.test.ts} (100%) rename src/agents/{pi-embedded-runner.get-dm-history-limit-from-session-key.returns-undefined-sessionkey-is-undefined.e2e.test.ts => pi-embedded-runner.get-dm-history-limit-from-session-key.returns-undefined-sessionkey-is-undefined.test.ts} (100%) rename src/agents/{pi-embedded-runner.google-sanitize-thinking.e2e.test.ts => pi-embedded-runner.google-sanitize-thinking.test.ts} (100%) rename src/agents/{pi-embedded-runner.guard.e2e.test.ts => pi-embedded-runner.guard.test.ts} (100%) rename src/agents/{pi-embedded-runner.limithistoryturns.e2e.test.ts => pi-embedded-runner.limithistoryturns.test.ts} (100%) rename src/agents/{pi-embedded-runner.openai-tool-id-preservation.e2e.test.ts => pi-embedded-runner.openai-tool-id-preservation.test.ts} (100%) rename src/agents/{pi-embedded-runner.resolvesessionagentids.e2e.test.ts => pi-embedded-runner.resolvesessionagentids.test.ts} (100%) rename src/agents/{pi-embedded-runner.splitsdktools.e2e.test.ts => pi-embedded-runner.splitsdktools.test.ts} (100%) rename src/agents/pi-embedded-runner/{google.e2e.test.ts => google.test.ts} (100%) rename src/agents/pi-embedded-runner/run/{attempt.e2e.test.ts => attempt.test.ts} (100%) rename src/agents/pi-embedded-runner/run/{compaction-timeout.e2e.test.ts => compaction-timeout.test.ts} (100%) rename src/agents/pi-embedded-runner/run/{images.e2e.test.ts => images.test.ts} (100%) rename src/agents/pi-embedded-runner/{sanitize-session-history.tool-result-details.e2e.test.ts => sanitize-session-history.tool-result-details.test.ts} (100%) rename src/agents/pi-embedded-runner/{tool-result-context-guard.e2e.test.ts => tool-result-context-guard.test.ts} (100%) rename src/agents/pi-embedded-runner/{tool-result-truncation.e2e.test.ts => tool-result-truncation.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.code-span-awareness.e2e.test.ts => pi-embedded-subscribe.code-span-awareness.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.lifecycle-billing-error.e2e.test.ts => pi-embedded-subscribe.lifecycle-billing-error.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.reply-tags.e2e.test.ts => pi-embedded-subscribe.reply-tags.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.calls-onblockreplyflush-before-tool-execution-start-preserve.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.calls-onblockreplyflush-before-tool-execution-start-preserve.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-append-text-end-content-is.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-append-text-end-content-is.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-call-onblockreplyflush-callback-is-not.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-call-onblockreplyflush-callback-is-not.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-duplicate-text-end-repeats-full.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-duplicate-text-end-repeats-full.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-emit-duplicate-block-replies-text.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-emit-duplicate-block-replies-text.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.emits-block-replies-text-end-does-not.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.emits-block-replies-text-end-does-not.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.filters-final-suppresses-output-without-start-tag.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.filters-final-suppresses-output-without-start-tag.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-assistanttexts-final-answer-block-replies-are.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-assistanttexts-final-answer-block-replies-are.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-indented-fenced-blocks-intact.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-indented-fenced-blocks-intact.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.reopens-fenced-blocks-splitting-inside-them.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.reopens-fenced-blocks-splitting-inside-them.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.splits-long-single-line-fenced-blocks-reopen.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.splits-long-single-line-fenced-blocks-reopen.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.streams-soft-chunks-paragraph-preference.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.streams-soft-chunks-paragraph-preference.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.subscribeembeddedpisession.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.subscribeembeddedpisession.test.ts} (100%) rename src/agents/{pi-embedded-subscribe.subscribe-embedded-pi-session.suppresses-message-end-block-replies-message-tool.e2e.test.ts => pi-embedded-subscribe.subscribe-embedded-pi-session.suppresses-message-end-block-replies-message-tool.test.ts} (100%) rename src/agents/{pi-tool-definition-adapter.after-tool-call.e2e.test.ts => pi-tool-definition-adapter.after-tool-call.test.ts} (100%) rename src/agents/{pi-tool-definition-adapter.e2e.test.ts => pi-tool-definition-adapter.test.ts} (100%) rename src/agents/{pi-tools-agent-config.e2e.test.ts => pi-tools-agent-config.test.ts} (100%) rename src/agents/{pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-b.e2e.test.ts => pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-b.test.ts} (100%) rename src/agents/{pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-d.e2e.test.ts => pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-d.test.ts} (100%) rename src/agents/{pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-f.e2e.test.ts => pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-f.test.ts} (100%) rename src/agents/{pi-tools.policy.e2e.test.ts => pi-tools.policy.test.ts} (100%) rename src/agents/{pi-tools.whatsapp-login-gating.e2e.test.ts => pi-tools.whatsapp-login-gating.test.ts} (100%) rename src/agents/{pi-tools.workspace-paths.e2e.test.ts => pi-tools.workspace-paths.test.ts} (100%) rename src/agents/{sandbox.resolveSandboxContext.e2e.test.ts => sandbox.resolveSandboxContext.test.ts} (100%) rename src/agents/tools/{cron-tool.e2e.test.ts => cron-tool.test.ts} (100%) rename src/agents/tools/{discord-actions-presence.e2e.test.ts => discord-actions-presence.test.ts} (100%) rename src/agents/tools/{discord-actions.e2e.test.ts => discord-actions.test.ts} (100%) rename src/agents/tools/{gateway.e2e.test.ts => gateway.test.ts} (100%) rename src/agents/tools/{message-tool.e2e.test.ts => message-tool.test.ts} (100%) rename src/agents/tools/{sessions.e2e.test.ts => sessions.test.ts} (100%) rename src/agents/tools/{slack-actions.e2e.test.ts => slack-actions.test.ts} (100%) rename src/agents/tools/{telegram-actions.e2e.test.ts => telegram-actions.test.ts} (100%) rename src/agents/tools/{web-tools.enabled-defaults.e2e.test.ts => web-tools.enabled-defaults.test.ts} (100%) rename src/agents/tools/{whatsapp-actions.e2e.test.ts => whatsapp-actions.test.ts} (100%) diff --git a/src/agents/apply-patch.e2e.test.ts b/src/agents/apply-patch.test.ts similarity index 100% rename from src/agents/apply-patch.e2e.test.ts rename to src/agents/apply-patch.test.ts diff --git a/src/agents/claude-cli-runner.e2e.test.ts b/src/agents/claude-cli-runner.test.ts similarity index 100% rename from src/agents/claude-cli-runner.e2e.test.ts rename to src/agents/claude-cli-runner.test.ts diff --git a/src/agents/cli-runner.e2e.test.ts b/src/agents/cli-runner.test.ts similarity index 100% rename from src/agents/cli-runner.e2e.test.ts rename to src/agents/cli-runner.test.ts diff --git a/src/agents/compaction.tool-result-details.e2e.test.ts b/src/agents/compaction.tool-result-details.test.ts similarity index 100% rename from src/agents/compaction.tool-result-details.e2e.test.ts rename to src/agents/compaction.tool-result-details.test.ts diff --git a/src/agents/identity-avatar.e2e.test.ts b/src/agents/identity-avatar.test.ts similarity index 100% rename from src/agents/identity-avatar.e2e.test.ts rename to src/agents/identity-avatar.test.ts diff --git a/src/agents/identity-file.e2e.test.ts b/src/agents/identity-file.test.ts similarity index 100% rename from src/agents/identity-file.e2e.test.ts rename to src/agents/identity-file.test.ts diff --git a/src/agents/identity.per-channel-prefix.e2e.test.ts b/src/agents/identity.per-channel-prefix.test.ts similarity index 100% rename from src/agents/identity.per-channel-prefix.e2e.test.ts rename to src/agents/identity.per-channel-prefix.test.ts diff --git a/src/agents/pi-embedded-block-chunker.e2e.test.ts b/src/agents/pi-embedded-block-chunker.test.ts similarity index 100% rename from src/agents/pi-embedded-block-chunker.e2e.test.ts rename to src/agents/pi-embedded-block-chunker.test.ts diff --git a/src/agents/pi-embedded-helpers.sanitize-session-messages-images.removes-empty-assistant-text-blocks-but-preserves.e2e.test.ts b/src/agents/pi-embedded-helpers.sanitize-session-messages-images.removes-empty-assistant-text-blocks-but-preserves.test.ts similarity index 100% rename from src/agents/pi-embedded-helpers.sanitize-session-messages-images.removes-empty-assistant-text-blocks-but-preserves.e2e.test.ts rename to src/agents/pi-embedded-helpers.sanitize-session-messages-images.removes-empty-assistant-text-blocks-but-preserves.test.ts diff --git a/src/agents/pi-embedded-runner-extraparams.e2e.test.ts b/src/agents/pi-embedded-runner-extraparams.test.ts similarity index 100% rename from src/agents/pi-embedded-runner-extraparams.e2e.test.ts rename to src/agents/pi-embedded-runner-extraparams.test.ts diff --git a/src/agents/pi-embedded-runner.applygoogleturnorderingfix.e2e.test.ts b/src/agents/pi-embedded-runner.applygoogleturnorderingfix.test.ts similarity index 100% rename from src/agents/pi-embedded-runner.applygoogleturnorderingfix.e2e.test.ts rename to src/agents/pi-embedded-runner.applygoogleturnorderingfix.test.ts diff --git a/src/agents/pi-embedded-runner.buildembeddedsandboxinfo.e2e.test.ts b/src/agents/pi-embedded-runner.buildembeddedsandboxinfo.test.ts similarity index 100% rename from src/agents/pi-embedded-runner.buildembeddedsandboxinfo.e2e.test.ts rename to src/agents/pi-embedded-runner.buildembeddedsandboxinfo.test.ts diff --git a/src/agents/pi-embedded-runner.createsystempromptoverride.e2e.test.ts b/src/agents/pi-embedded-runner.createsystempromptoverride.test.ts similarity index 100% rename from src/agents/pi-embedded-runner.createsystempromptoverride.e2e.test.ts rename to src/agents/pi-embedded-runner.createsystempromptoverride.test.ts diff --git a/src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.falls-back-provider-default-per-dm-not.e2e.test.ts b/src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.falls-back-provider-default-per-dm-not.test.ts similarity index 100% rename from src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.falls-back-provider-default-per-dm-not.e2e.test.ts rename to src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.falls-back-provider-default-per-dm-not.test.ts diff --git a/src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.returns-undefined-sessionkey-is-undefined.e2e.test.ts b/src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.returns-undefined-sessionkey-is-undefined.test.ts similarity index 100% rename from src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.returns-undefined-sessionkey-is-undefined.e2e.test.ts rename to src/agents/pi-embedded-runner.get-dm-history-limit-from-session-key.returns-undefined-sessionkey-is-undefined.test.ts diff --git a/src/agents/pi-embedded-runner.google-sanitize-thinking.e2e.test.ts b/src/agents/pi-embedded-runner.google-sanitize-thinking.test.ts similarity index 100% rename from src/agents/pi-embedded-runner.google-sanitize-thinking.e2e.test.ts rename to src/agents/pi-embedded-runner.google-sanitize-thinking.test.ts diff --git a/src/agents/pi-embedded-runner.guard.e2e.test.ts b/src/agents/pi-embedded-runner.guard.test.ts similarity index 100% rename from src/agents/pi-embedded-runner.guard.e2e.test.ts rename to src/agents/pi-embedded-runner.guard.test.ts diff --git a/src/agents/pi-embedded-runner.limithistoryturns.e2e.test.ts b/src/agents/pi-embedded-runner.limithistoryturns.test.ts similarity index 100% rename from src/agents/pi-embedded-runner.limithistoryturns.e2e.test.ts rename to src/agents/pi-embedded-runner.limithistoryturns.test.ts diff --git a/src/agents/pi-embedded-runner.openai-tool-id-preservation.e2e.test.ts b/src/agents/pi-embedded-runner.openai-tool-id-preservation.test.ts similarity index 100% rename from src/agents/pi-embedded-runner.openai-tool-id-preservation.e2e.test.ts rename to src/agents/pi-embedded-runner.openai-tool-id-preservation.test.ts diff --git a/src/agents/pi-embedded-runner.resolvesessionagentids.e2e.test.ts b/src/agents/pi-embedded-runner.resolvesessionagentids.test.ts similarity index 100% rename from src/agents/pi-embedded-runner.resolvesessionagentids.e2e.test.ts rename to src/agents/pi-embedded-runner.resolvesessionagentids.test.ts diff --git a/src/agents/pi-embedded-runner.splitsdktools.e2e.test.ts b/src/agents/pi-embedded-runner.splitsdktools.test.ts similarity index 100% rename from src/agents/pi-embedded-runner.splitsdktools.e2e.test.ts rename to src/agents/pi-embedded-runner.splitsdktools.test.ts diff --git a/src/agents/pi-embedded-runner/google.e2e.test.ts b/src/agents/pi-embedded-runner/google.test.ts similarity index 100% rename from src/agents/pi-embedded-runner/google.e2e.test.ts rename to src/agents/pi-embedded-runner/google.test.ts diff --git a/src/agents/pi-embedded-runner/run/attempt.e2e.test.ts b/src/agents/pi-embedded-runner/run/attempt.test.ts similarity index 100% rename from src/agents/pi-embedded-runner/run/attempt.e2e.test.ts rename to src/agents/pi-embedded-runner/run/attempt.test.ts diff --git a/src/agents/pi-embedded-runner/run/compaction-timeout.e2e.test.ts b/src/agents/pi-embedded-runner/run/compaction-timeout.test.ts similarity index 100% rename from src/agents/pi-embedded-runner/run/compaction-timeout.e2e.test.ts rename to src/agents/pi-embedded-runner/run/compaction-timeout.test.ts diff --git a/src/agents/pi-embedded-runner/run/images.e2e.test.ts b/src/agents/pi-embedded-runner/run/images.test.ts similarity index 100% rename from src/agents/pi-embedded-runner/run/images.e2e.test.ts rename to src/agents/pi-embedded-runner/run/images.test.ts diff --git a/src/agents/pi-embedded-runner/sanitize-session-history.tool-result-details.e2e.test.ts b/src/agents/pi-embedded-runner/sanitize-session-history.tool-result-details.test.ts similarity index 100% rename from src/agents/pi-embedded-runner/sanitize-session-history.tool-result-details.e2e.test.ts rename to src/agents/pi-embedded-runner/sanitize-session-history.tool-result-details.test.ts diff --git a/src/agents/pi-embedded-runner/tool-result-context-guard.e2e.test.ts b/src/agents/pi-embedded-runner/tool-result-context-guard.test.ts similarity index 100% rename from src/agents/pi-embedded-runner/tool-result-context-guard.e2e.test.ts rename to src/agents/pi-embedded-runner/tool-result-context-guard.test.ts diff --git a/src/agents/pi-embedded-runner/tool-result-truncation.e2e.test.ts b/src/agents/pi-embedded-runner/tool-result-truncation.test.ts similarity index 100% rename from src/agents/pi-embedded-runner/tool-result-truncation.e2e.test.ts rename to src/agents/pi-embedded-runner/tool-result-truncation.test.ts diff --git a/src/agents/pi-embedded-subscribe.code-span-awareness.e2e.test.ts b/src/agents/pi-embedded-subscribe.code-span-awareness.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.code-span-awareness.e2e.test.ts rename to src/agents/pi-embedded-subscribe.code-span-awareness.test.ts diff --git a/src/agents/pi-embedded-subscribe.lifecycle-billing-error.e2e.test.ts b/src/agents/pi-embedded-subscribe.lifecycle-billing-error.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.lifecycle-billing-error.e2e.test.ts rename to src/agents/pi-embedded-subscribe.lifecycle-billing-error.test.ts diff --git a/src/agents/pi-embedded-subscribe.reply-tags.e2e.test.ts b/src/agents/pi-embedded-subscribe.reply-tags.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.reply-tags.e2e.test.ts rename to src/agents/pi-embedded-subscribe.reply-tags.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.calls-onblockreplyflush-before-tool-execution-start-preserve.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.calls-onblockreplyflush-before-tool-execution-start-preserve.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.calls-onblockreplyflush-before-tool-execution-start-preserve.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.calls-onblockreplyflush-before-tool-execution-start-preserve.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-append-text-end-content-is.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-append-text-end-content-is.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-append-text-end-content-is.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-append-text-end-content-is.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-call-onblockreplyflush-callback-is-not.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-call-onblockreplyflush-callback-is-not.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-call-onblockreplyflush-callback-is-not.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-call-onblockreplyflush-callback-is-not.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-duplicate-text-end-repeats-full.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-duplicate-text-end-repeats-full.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-duplicate-text-end-repeats-full.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-duplicate-text-end-repeats-full.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-emit-duplicate-block-replies-text.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-emit-duplicate-block-replies-text.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-emit-duplicate-block-replies-text.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.does-not-emit-duplicate-block-replies-text.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-block-replies-text-end-does-not.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-block-replies-text-end-does-not.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-block-replies-text-end-does-not.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-block-replies-text-end-does-not.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.emits-reasoning-as-separate-message-enabled.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.filters-final-suppresses-output-without-start-tag.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.filters-final-suppresses-output-without-start-tag.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.filters-final-suppresses-output-without-start-tag.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.filters-final-suppresses-output-without-start-tag.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-assistanttexts-final-answer-block-replies-are.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-assistanttexts-final-answer-block-replies-are.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-assistanttexts-final-answer-block-replies-are.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-assistanttexts-final-answer-block-replies-are.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-indented-fenced-blocks-intact.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-indented-fenced-blocks-intact.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-indented-fenced-blocks-intact.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.keeps-indented-fenced-blocks-intact.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.reopens-fenced-blocks-splitting-inside-them.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.reopens-fenced-blocks-splitting-inside-them.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.reopens-fenced-blocks-splitting-inside-them.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.reopens-fenced-blocks-splitting-inside-them.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.splits-long-single-line-fenced-blocks-reopen.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.splits-long-single-line-fenced-blocks-reopen.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.splits-long-single-line-fenced-blocks-reopen.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.splits-long-single-line-fenced-blocks-reopen.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.streams-soft-chunks-paragraph-preference.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.streams-soft-chunks-paragraph-preference.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.streams-soft-chunks-paragraph-preference.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.streams-soft-chunks-paragraph-preference.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.subscribeembeddedpisession.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.subscribeembeddedpisession.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.subscribeembeddedpisession.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.subscribeembeddedpisession.test.ts diff --git a/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.suppresses-message-end-block-replies-message-tool.e2e.test.ts b/src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.suppresses-message-end-block-replies-message-tool.test.ts similarity index 100% rename from src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.suppresses-message-end-block-replies-message-tool.e2e.test.ts rename to src/agents/pi-embedded-subscribe.subscribe-embedded-pi-session.suppresses-message-end-block-replies-message-tool.test.ts diff --git a/src/agents/pi-tool-definition-adapter.after-tool-call.e2e.test.ts b/src/agents/pi-tool-definition-adapter.after-tool-call.test.ts similarity index 100% rename from src/agents/pi-tool-definition-adapter.after-tool-call.e2e.test.ts rename to src/agents/pi-tool-definition-adapter.after-tool-call.test.ts diff --git a/src/agents/pi-tool-definition-adapter.e2e.test.ts b/src/agents/pi-tool-definition-adapter.test.ts similarity index 100% rename from src/agents/pi-tool-definition-adapter.e2e.test.ts rename to src/agents/pi-tool-definition-adapter.test.ts diff --git a/src/agents/pi-tools-agent-config.e2e.test.ts b/src/agents/pi-tools-agent-config.test.ts similarity index 100% rename from src/agents/pi-tools-agent-config.e2e.test.ts rename to src/agents/pi-tools-agent-config.test.ts diff --git a/src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-b.e2e.test.ts b/src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-b.test.ts similarity index 100% rename from src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-b.e2e.test.ts rename to src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-b.test.ts diff --git a/src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-d.e2e.test.ts b/src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-d.test.ts similarity index 100% rename from src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-d.e2e.test.ts rename to src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-d.test.ts diff --git a/src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-f.e2e.test.ts b/src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-f.test.ts similarity index 100% rename from src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-f.e2e.test.ts rename to src/agents/pi-tools.create-openclaw-coding-tools.adds-claude-style-aliases-schemas-without-dropping-f.test.ts diff --git a/src/agents/pi-tools.policy.e2e.test.ts b/src/agents/pi-tools.policy.test.ts similarity index 100% rename from src/agents/pi-tools.policy.e2e.test.ts rename to src/agents/pi-tools.policy.test.ts diff --git a/src/agents/pi-tools.whatsapp-login-gating.e2e.test.ts b/src/agents/pi-tools.whatsapp-login-gating.test.ts similarity index 100% rename from src/agents/pi-tools.whatsapp-login-gating.e2e.test.ts rename to src/agents/pi-tools.whatsapp-login-gating.test.ts diff --git a/src/agents/pi-tools.workspace-paths.e2e.test.ts b/src/agents/pi-tools.workspace-paths.test.ts similarity index 100% rename from src/agents/pi-tools.workspace-paths.e2e.test.ts rename to src/agents/pi-tools.workspace-paths.test.ts diff --git a/src/agents/sandbox.resolveSandboxContext.e2e.test.ts b/src/agents/sandbox.resolveSandboxContext.test.ts similarity index 100% rename from src/agents/sandbox.resolveSandboxContext.e2e.test.ts rename to src/agents/sandbox.resolveSandboxContext.test.ts diff --git a/src/agents/tools/cron-tool.e2e.test.ts b/src/agents/tools/cron-tool.test.ts similarity index 100% rename from src/agents/tools/cron-tool.e2e.test.ts rename to src/agents/tools/cron-tool.test.ts diff --git a/src/agents/tools/discord-actions-presence.e2e.test.ts b/src/agents/tools/discord-actions-presence.test.ts similarity index 100% rename from src/agents/tools/discord-actions-presence.e2e.test.ts rename to src/agents/tools/discord-actions-presence.test.ts diff --git a/src/agents/tools/discord-actions.e2e.test.ts b/src/agents/tools/discord-actions.test.ts similarity index 100% rename from src/agents/tools/discord-actions.e2e.test.ts rename to src/agents/tools/discord-actions.test.ts diff --git a/src/agents/tools/gateway.e2e.test.ts b/src/agents/tools/gateway.test.ts similarity index 100% rename from src/agents/tools/gateway.e2e.test.ts rename to src/agents/tools/gateway.test.ts diff --git a/src/agents/tools/message-tool.e2e.test.ts b/src/agents/tools/message-tool.test.ts similarity index 100% rename from src/agents/tools/message-tool.e2e.test.ts rename to src/agents/tools/message-tool.test.ts diff --git a/src/agents/tools/sessions.e2e.test.ts b/src/agents/tools/sessions.test.ts similarity index 100% rename from src/agents/tools/sessions.e2e.test.ts rename to src/agents/tools/sessions.test.ts diff --git a/src/agents/tools/slack-actions.e2e.test.ts b/src/agents/tools/slack-actions.test.ts similarity index 100% rename from src/agents/tools/slack-actions.e2e.test.ts rename to src/agents/tools/slack-actions.test.ts diff --git a/src/agents/tools/telegram-actions.e2e.test.ts b/src/agents/tools/telegram-actions.test.ts similarity index 100% rename from src/agents/tools/telegram-actions.e2e.test.ts rename to src/agents/tools/telegram-actions.test.ts diff --git a/src/agents/tools/web-tools.enabled-defaults.e2e.test.ts b/src/agents/tools/web-tools.enabled-defaults.test.ts similarity index 100% rename from src/agents/tools/web-tools.enabled-defaults.e2e.test.ts rename to src/agents/tools/web-tools.enabled-defaults.test.ts diff --git a/src/agents/tools/whatsapp-actions.e2e.test.ts b/src/agents/tools/whatsapp-actions.test.ts similarity index 100% rename from src/agents/tools/whatsapp-actions.e2e.test.ts rename to src/agents/tools/whatsapp-actions.test.ts