Commit Graph

3647 Commits

Author SHA1 Message Date
huanghuoguoguo
7675f565ff test(agent): harden runner persistence coverage 2026-06-13 17:46:31 +08:00
huanghuoguoguo
54bba1a1f5 feat(agent-runner): expose skill resources through host context 2026-06-13 17:45:53 +08:00
huanghuoguoguo
a6a90f7d1b test: cover host skill tool scoping 2026-06-13 17:45:53 +08:00
huanghuoguoguo
4a8c1a76d7 refactor(agent-runner): use protocol version field 2026-06-13 17:45:53 +08:00
huanghuoguoguo
2de6d15d07 refactor(provider): formalize tool lookup contract 2026-06-13 17:45:53 +08:00
huanghuoguoguo
d347df02f6 fix(agent-runner): clean plugin review issues 2026-06-13 17:45:53 +08:00
huanghuoguoguo
f1a44ea8a8 refactor agent runner orchestration boundaries 2026-06-13 17:45:53 +08:00
huanghuoguoguo
d81f687e94 docs: reconcile agent runner protocol status 2026-06-13 17:45:53 +08:00
huanghuoguoguo
3773e3dfaf fix(agent-runner): align plugin runner runtime boundaries 2026-06-13 17:45:53 +08:00
huanghuoguoguo
23d3b7c279 feat(agent-runner): add bounded native tool artifacts 2026-06-13 17:45:53 +08:00
huanghuoguoguo
058721cca3 feat(agent-runner): expose effective prompt and transcript history 2026-06-13 17:45:53 +08:00
huanghuoguoguo
e13a3b845c refactor(agent-runner): make agent binding and auth snapshot explicit 2026-06-13 17:45:53 +08:00
huanghuoguoguo
dc4cf5711e refactor(agent-runner): simplify event-first entry path 2026-06-13 17:45:53 +08:00
huanghuoguoguo
1384d328d6 refactor(agent-runner): align config with agent semantics 2026-06-13 17:45:14 +08:00
huanghuoguoguo
16faeca508 refactor(agent-runner): remove host context windowing 2026-06-13 17:45:14 +08:00
huanghuoguoguo
4852b21f9b feat(agent-runner): normalize binding config boundaries 2026-06-13 17:45:14 +08:00
huanghuoguoguo
0b9778abd9 fix: enforce agent run API permissions 2026-06-13 17:45:14 +08:00
huanghuoguoguo
c296c187f4 fix(agent-runner): authorize external runner tools 2026-06-13 17:45:14 +08:00
huanghuoguoguo
f6deb4b322 docs(agent-runner): document external MCP bridge 2026-06-13 17:45:14 +08:00
huanghuoguoguo
94c0adc8a1 docs(agent-runner): align runner protocol boundaries 2026-06-13 17:45:14 +08:00
huanghuoguoguo
5c2026855c docs(agent-runner): record codex runner smoke 2026-06-13 17:45:14 +08:00
huanghuoguoguo
fc2dc34ecf fix(agent-runner): stabilize event context and streams 2026-06-13 17:45:14 +08:00
huanghuoguoguo
da8e403172 docs(agent-runner): update pluginization design status 2026-06-13 17:44:44 +08:00
huanghuoguoguo
819a2843e7 refactor(agent-runner): tighten protocol v1 runtime boundaries 2026-06-13 17:44:44 +08:00
huanghuoguoguo
96fa9e1eeb feat(agent-runner): align protocol adapter terminology 2026-06-13 17:44:44 +08:00
huanghuoguoguo
b4ae049c54 feat(agent-runner): route pipeline runs through event-first flow
- run_from_query() now delegates to run(event, binding) instead of maintaining
  a separate legacy execution path
- Pipeline Query is converted to AgentEventEnvelope via PipelineCompatAdapter
- Pipeline config is converted to AgentBinding with StatePolicy
- bound_plugins authorization preserved from Pipeline
- Legacy compatibility fields preserved:
  - query_id → context.runtime.query_id → session registry
  - prompt → context.compatibility.extra.prompt (not top-level)
  - params → context.compatibility.extra.params (with proper filtering)
  - max-round → bootstrap.messages and compatibility.legacy_messages
- Pipeline path gains event-first host capabilities:
  - EventLog and Transcript writing
  - ArtifactStore registration
  - PersistentStateStore for state.updated
- Removed legacy handlers:
  - _handle_artifact_created_query() (replaced by _handle_artifact_created)
  - _handle_state_updated() (replaced by _handle_state_updated_event)

This change unifies the execution path while preserving backward compatibility
for Pipeline-based runners. EventGateway is not implemented in this branch;
only the event-first entry point is reserved.
2026-06-13 17:44:44 +08:00
huanghuoguoguo
d1e49a5b44 feat(agent-runner): add persistent state APIs 2026-06-13 17:44:44 +08:00
huanghuoguoguo
2e0343cb21 feat(agent-runner): scope event-first state by binding 2026-06-13 17:44:44 +08:00
huanghuoguoguo
53c9199df8 feat(agent-runner): persist created artifacts 2026-06-13 17:44:44 +08:00
huanghuoguoguo
bec11e5a18 feat(agent-runner): add artifact store pull APIs 2026-06-13 17:44:44 +08:00
huanghuoguoguo
a31f910f10 feat(agent-runner): add event-first context facts and pull APIs
Add EventLog and Transcript persistence entities for storing auditable
event facts and conversation history projection. Implement event-first
AgentRunContext builder that produces Protocol v1 compliant context
payloads with required fields: event, delivery, context (ContextAccess).

Key changes:
- EventLog ORM: auditable event records with indexes
- Transcript ORM: conversation history projection with composite indexes
- AgentRunContextBuilder: Protocol v1 payload with delivery, context, bootstrap
- EventLogStore/TranscriptStore: async stores for fact sources
- Host action handlers: HISTORY_PAGE, HISTORY_SEARCH, EVENT_GET, EVENT_PAGE
- Context validation: build_context output validates via SDK AgentRunContext
- Alembic migration for event_log and transcript tables
- Alembic env.py imports all ORM models for autogenerate discovery

Legacy compatibility: max-round messages go into bootstrap.messages and
compatibility.legacy_messages, not top-level messages field.
2026-06-13 17:44:44 +08:00
huanghuoguoguo
a968d7656b docs(agent-runner): split protocol and context design 2026-06-13 17:44:44 +08:00
huanghuoguoguo
c1dc5e3970 fix(agent-runner): package context for plugin execution 2026-06-13 17:44:44 +08:00
huanghuoguoguo
d8d98b0838 feat: make agent runner config schema driven 2026-06-13 17:44:44 +08:00
huanghuoguoguo
651e28113e chore(pipeline): clarify preferred default runner 2026-06-13 17:42:59 +08:00
huanghuoguoguo
c97ea27d42 chore(agent): remove v1 wording from runner internals 2026-06-13 17:42:59 +08:00
huanghuoguoguo
bbbbc05201 feat(agent): reserve stable runner event names 2026-06-13 17:42:59 +08:00
huanghuoguoguo
18cbe8570c docs: add phase1 qa report 2026-06-13 17:42:59 +08:00
huanghuoguoguo
752ac6e9d2 feat(agent-runner): enrich plugin runner host context 2026-06-13 17:42:59 +08:00
huanghuoguoguo
9dfddd4927 fix: log agent runner best-effort failures 2026-06-13 17:42:59 +08:00
huanghuoguoguo
9f8dd6cbe4 test: address agent runner review comments 2026-06-13 17:42:59 +08:00
huanghuoguoguo
d185712716 fix: stabilize dynamic forms and mcp testing 2026-06-13 17:42:59 +08:00
huanghuoguoguo
c601dc5908 refactor(modelmgr): simplify model sync logic and remove timeout configuration 2026-06-13 17:42:21 +08:00
huanghuoguoguo
54e925daa0 fix(rag): align knowledge engine plugin actions 2026-06-13 17:42:21 +08:00
huanghuoguoguo
6d0e6dcc63 feat: support dynamic agent runner defaults 2026-06-13 17:42:21 +08:00
huanghuoguoguo
3baf899c20 feat(toolmgr): add get_tool_by_name for unified tool lookup
Add unified tool lookup method that searches both plugin and MCP loaders.
Also add _get_tool method to MCPLoader for consistency with PluginToolLoader.
2026-06-13 17:41:37 +08:00
huanghuoguoguo
fa19a453ba docs: update PROGRESS.md - rerank support completed 2026-06-13 17:41:37 +08:00
huanghuoguoguo
2123ef5816 feat(plugin): implement INVOKE_RERANK handler with run-scoped authorization
- Add invoke_rerank action handler in plugin handler
- Validate rerank model access via run session
- Cap documents at 64 for API limit
- Return sorted results by relevance score
2026-06-13 17:41:37 +08:00
huanghuoguoguo
811549e1c4 docs(runner): mark legacy runners and add PROGRESS.md
- Add DEPRECATED docstring to all legacy runners in pkg/provider/runners/
- Mark migration target for each runner (local-agent, dify, n8n, coze, dashscope, langflow, tbox)
- Add PROGRESS.md to track agent-runner-pluginization implementation status
- Remove completed PHASE0_INTEGRATION_RECORD.md
2026-06-13 17:41:37 +08:00
huanghuoguoguo
6ef40fbd68 perf(agent-runner): improve session registry and orchestrator efficiency
- Add pre-computed _authorized_ids (frozenset) at session registration for O(1) lookup
- Refactor is_resource_allowed() from linear search to set membership check
- Add thread-safe locking to get_session_registry() singleton
- Cache _session_registry and _state_store references in orchestrator __init__
- Add asyncio.gather() for parallel resource building in AgentResourceBuilder
- Create shared test fixtures in tests/unit_tests/agent/conftest.py
- Update test files to import from shared conftest.py

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-13 17:41:37 +08:00