xiaoju
080b37c2be
feat(agent): adapter stdout JSON with full metadata ( #566 ) ( #569 )
...
Co-authored-by: 小橘 <xiaoju@shazhou.work >
Co-committed-by: 小橘 <xiaoju@shazhou.work >
2026-05-28 00:18:57 +00:00
xiaoju
48bf701281
fix(moderator): detect empty edge prompt after template rendering ( #553 )
...
When mustache variables in edge prompts resolve to empty strings (because
upstream output lacks the fields), the engine now returns a Result.error
instead of passing an empty --prompt to the agent.
- evaluate.ts: check rendered prompt is non-empty after mustache.render()
- run.ts: improve parseArgv error message for empty --prompt
- Export parseArgv for testability
- Add 7 tests covering all cases from the spec
2026-05-27 17:17:39 +00:00
xiaoju
ca223a19c6
refactor: rename workflow-agent-kit → workflow-util-agent, merge workflow-moderator into cli-workflow
...
- Rename packages/workflow-agent-kit → packages/workflow-util-agent
- Update all imports, tsconfig references, docs
- Delete dead file packages/workflow-util-agent/src/build-agent-prompt.ts
- Merge workflow-moderator (62 LOC) into cli-workflow/src/moderator/
- Move workflow-moderator to legacy-packages/
- Add mustache dependency to cli-workflow
- Update publish-all.mjs
Fixes #512
2026-05-25 10:51:16 +00:00
xiaoju
d63d58ccb5
chore: reorganize repo — legacy packages to legacy-packages/, templates to examples/
...
- Move 15 old workflow-* packages to legacy-packages/ (inactive, preserved for reference)
- Rename templates/ → examples/ for clarity
- Rewrite docs/architecture.md to reflect current uwf architecture
- Active packages remain in packages/: cli-uwf, uwf-agent-hermes, uwf-agent-kit, uwf-moderator, uwf-protocol, workflow-util
小橘 🍊 (NEKO Team)
2026-05-19 07:19:40 +00:00
xiaoju
8a7e756fe3
feat(workflow-util-agent): prompt restructure + scope focus — Phase 3
...
- buildOutputFormatInstruction(schema): auto-generates frontmatter
format guide from Zod schema, injected at top of system prompt
- Adapter prepends deliverable format before role's systemPrompt
- buildThreadInput reordered: Task → Steps → Parent → Tools
- Scope reminder: 'Focus exclusively on YOUR role's deliverable'
- 8 tests for buildOutputFormatInstruction
Refs #351
2026-05-19 05:56:27 +00:00
Scott Wei
7dadf874e1
refactor(workflow-protocol): require AgentFn Opt generic
...
Make AgentFn<Opt> always take a mandatory options argument, removing
the void conditional overload. Simplify createAgentAdapter, restore
exports needed by tests, and fix CLI test bundles to use cas.put
instead of disallowed @uncaged/* imports.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-16 18:23:07 +08:00
xiaoju
5bbac3e4f7
chore: internalize unused exports across all packages
...
Audit public API surfaces using reachability analysis from application
entry points (Worker, CLI, Dashboard). Symbols not reachable from any
application's customization tree are removed from package index.ts files.
Source files and internal usage are untouched — only the public export
surface is narrowed.
Changes by package:
- workflow-util: -7 exports (base32 internals, logger config types)
- workflow-cas: -12 exports (merkle internals, serialization details)
- workflow-execute: -24 exports (engine internals, LLM extract details)
- workflow-reactor: -4 exports (reactor config/invocation internals)
- workflow-register: -8 exports (redundant protocol re-exports, internal YAML fns)
- workflow-runtime: curated re-export subset (stop full protocol re-export)
- workflow-util-agent: -5 exports (internal agent helpers)
- workflow-agent-cursor: -1 export (validateCursorAgentConfig)
- workflow-agent-hermes: -1 export (validateHermesAgentConfig)
Note: workflow-protocol index.ts unchanged — downstream packages still
import removed symbols via internal paths. Protocol cleanup requires
updating workflow-runtime/src/types.ts first (separate PR).
Refs #273 , #274 , #275 , #276 , #277 , #278 , #279 , #280 , #281 , #282
2026-05-16 09:58:56 +00:00
xiaoju
bb6b309efa
chore(util-agent): remove dead createTextAdapter / TextProducerFn
...
All adapters migrated to createAgentAdapter in #261 . No consumers remain.
Refs #252
2026-05-14 12:23:01 +00:00
xiaoju
4582274ba4
feat(protocol): AgentFn<Opt> type + createAgentAdapter bridge
...
Add AgentFn<Opt = void> as the formal agent boundary type:
- Input: ThreadContext (fixed), Output: string (fixed)
- Opt: agent-specific structured options (e.g. { workspace } for Cursor)
Add createAgentAdapter<Opt>(agent, extract) → AdapterFn bridge in
workflow-util-agent, plus createSimpleAgentAdapter for Opt = void.
Also fixes: workflow-cas composite flag + cursor tsconfig reference.
Refs #252
2026-05-14 08:41:22 +00:00
xiaoju
cfe4543d39
refactor!: remove deprecated Agent types, introduce Adapter-first API
...
BREAKING CHANGES:
- Remove AgentFn, AgentFnResult, AgentBinding from workflow-protocol
- Remove wrapAgentAsAdapter from workflow-util-agent
- workflowAsAgent → workflowAdapter (old name kept as deprecated re-export)
New APIs:
- createTextAdapter(producer) — bridges text-producing functions to AdapterFn
- TextProducerFn, TextAdapterResult types
- workflowAdapter() — direct AdapterFn for child workflow delegation
All agent packages (cursor, hermes, llm) now return AdapterFn directly,
no wrapping needed. Bundle entries simplified accordingly.
小橘 🍊 (NEKO Team)
2026-05-13 08:03:27 +00:00
xiaoju
ec4599a230
refactor: extract wrapAgentAsAdapter to util-agent, support childThread in RoleFn ( #222 )
2026-05-13 02:37:32 +00:00
xiaoju
bebf4aad45
feat(protocol): add AdapterFn/RoleFn/AdapterBinding, refactor createWorkflow to use AdapterBinding ( #222 )
...
- Add RoleFn<T>, AdapterFn, AdapterBinding types to workflow-protocol
- Mark AgentFn, AgentFnResult, AgentBinding as @deprecated
- Refactor createWorkflow to accept AdapterBinding instead of AgentBinding
- Adapter returns typed meta directly — no more extract call in workflow loop
- Add buildThreadInput (ThreadContext-based), keep buildAgentPrompt as deprecated wrapper
- Update template bundle-entries to wrap AgentFn as AdapterFn
- Update solve-issue tests to use AdapterFn directly
2026-05-13 02:27:36 +00:00
xiaoju
2a71454c10
refactor: extract @uncaged/workflow-util-agent + smart prompt
...
- New package: spawn-cli + build-agent-prompt shared utils
- Smart prompt: start + meta summaries for middle steps + last step full
- Cursor/Hermes adapters now import from util-agent (no duplicate code)
- 109 tests pass, biome clean
Closes #14
小橘 <xiaoju@shazhou.work >
2026-05-06 07:17:59 +00:00