xiaoju
26cf51366f
feat: Phase 3 — engine read path + runtime context builder
...
- Add buildThreadContext(headHash, cas) to workflow-runtime
- Expand extract phase to return { meta, contentPayload, refs[] }
- Add parseCasThreadNode() to workflow-cas for node type parsing
- Update createWorkflow to write ContentMerkleNode with artifact refs
- Tests: 4 pass (build-context + extract-refs)
- Biome format pass on all files
Refs #155 , closes #158
小橘 <xiaoju@shazhou.work >
2026-05-09 08:00:24 +00:00
xiaoju
e9e4960714
refactor(workflow): migrate downstream packages to workflow-runtime (Phase 2+3)
...
- Verify createWorkflow in runtime has zero I/O imports
- Migrate agent-cursor, agent-hermes to pure workflow-runtime dependency
- Migrate agent-llm, util-agent, templates to dual dependency
(runtime for types, engine for CAS/merkle/buildDescriptor)
- All 377 tests passing
Refs #121 , relates #123 #124
2026-05-08 06:33:52 +00:00
xiaoju
43e1f82303
refactor: extractPrompt out of ExtractContext, into ExtractFn parameter
...
ExtractFn = (schema, prompt, ctx) => Promise<T>
extractPrompt stays in RoleDefinition (definition layer), not in context (state layer).
Callers pass their own prompt — engine uses roleDef.extractPrompt, cursor agent uses its own.
小橘 <xiaoju@shazhou.work >
2026-05-07 01:27:12 +00:00
xiaoju
d472de1247
refactor: three-phase context (Moderator/Agent/Extract) + extractPrompt + unified ExtractFn
...
- ModeratorContext → AgentContext → ExtractContext progressive types
- ThreadContext is now alias for AgentContext
- RoleDefinition adds extractPrompt field
- ExtractFn = (schema, ctx: ExtractContext) => Promise<T>
- createWorkflow takes ExtractFn, engine loop: moderator → agent → extract
- Remove ExtractConfig, extractMetaOrThrow, extract-meta.ts
小橘 <xiaoju@shazhou.work >
2026-05-07 01:05:31 +00:00
xiaoju
99a137422c
feat: add ExtractFn utility, cursor agent workspace from thread context
...
- New ExtractFn = <T>(schema, prompt) => (ctx) => Promise<T>
- createExtract(provider) creates an LLM-backed ExtractFn
- CursorAgent removes workdir config, uses ExtractFn to resolve workspace from ThreadContext at runtime
- buildAgentPrompt(ctx) — reads systemPrompt from ctx.currentRole
小橘 <xiaoju@shazhou.work >
2026-05-07 00:17:31 +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
xiaoju
f21014fcdd
feat: @uncaged/workflow-agent-cursor + @uncaged/workflow-agent-hermes
...
- Cursor adapter: spawn cursor-agent CLI, auto/specified model
- Hermes adapter: spawn hermes chat CLI
- Both: AgentFn interface, no nerve-core deps, Result-based config validation
- 93 tests pass, biome clean
Closes #10 , Closes #11
小橘 <xiaoju@shazhou.work >
2026-05-06 06:54:24 +00:00