Skip to content

Pennerz im only send final message dev3 05.23#203

Open
pennerz wants to merge 10 commits into
mainfrom
pennerz_im_only_send_final_message_dev3_05.23
Open

Pennerz im only send final message dev3 05.23#203
pennerz wants to merge 10 commits into
mainfrom
pennerz_im_only_send_final_message_dev3_05.23

Conversation

@pennerz
Copy link
Copy Markdown
Collaborator

@pennerz pennerz commented May 23, 2026

No description provided.

Penner Zhang and others added 10 commits May 22, 2026 23:42
Introduces a 'Default' pseudo-agent in container mode that routes user
messages to the appropriate agent:repo based on context using an LLM
classifier. Key components:

Server-side:
- ContainerSessionStore: SQLite-backed CRUD for sessions and turns
- Routing classifier: LLM-based routing with confidence scoring and
  manual override support
- Container session REST handler with full CRUD + message routing
- Feature flag: containerDefaultAgent.enabled (default: false)

Client-side (Dashboard SPA):
- Default agent entry pinned to top of ReposGrid in container mode
- ContainerSessionView: chat UI with routing badges and auto-scroll
- Routing override selector showing current route state

Tests:
- 16 store tests (CRUD, turns, overrides, pagination)
- 12 classifier tests (LLM routing, fallbacks, parsing)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… idle)

- Outbound: skip intermediate turns, only send last assistant message
- Adaptive polling: increase poll interval to 30s after 1 min of no activity
- Reset to fast polling (default 3s) when new messages arrive or on send
- Updated tests to match new single-message outbound behavior

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
When a message is sent to Teams, cancel any pending slow (30s) poll
timer and reschedule at the fast interval so replies are picked up
quickly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- User turns: always sent to Teams (shows what was asked)
- Assistant turns: only the final one is sent when status='completed'
- Running status with only assistant turns: skipped (no watermark advance)
  so the final assistant response is captured on completion
- Updated tests to match new filtering behavior

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The Teams MCP server rejects content with unrecognized escape sequences
like \G. Double-escape backslashes before sending to avoid the error.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
On completion, send the concise task_complete summary (process.result)
instead of the verbose last assistant conversation turn. Falls back to
last assistant turn if no result field is present.

This gives Teams users a clean, concise final message instead of all
the intermediate reasoning/tool-call output.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The early return on empty newTurns prevented sending process.result
when the watermark was already advanced (user turn sent during running).
Now the result/summary check happens regardless of newTurns length.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Only skip streaming on assistant turns (user turns should always send)
- On completion fallback, search ALL turns for last assistant (not just new)
- Better logging for empty turn scenarios to aid debugging

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
# Conflicts:
#	packages/coc-client/src/contracts/admin.ts
#	packages/coc/src/config.ts
#	packages/coc/src/config/namespace-registry.ts
#	packages/coc/src/server/admin/admin-config-fields.ts
#	packages/coc/src/server/config/runtime-config-handler.ts
#	packages/coc/src/server/spa/client/react/utils/config.ts
#	packages/coc/test/config.test.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant