xiaoju
e604fa5f47
feat: add uwf setup command
...
- Interactive mode: prompts for provider, API key, model (with /models discovery)
- Non-interactive mode: --provider --base-url --api-key --model flags
- Writes config.yaml (providers, models, agents, defaults)
- Writes .env (API keys with auto-generated env var names)
- Merges into existing config non-destructively
- Includes 13 preset providers (international + China + local)
小橘 🍊 (NEKO Team)
2026-05-18 11:49:42 +00:00
xiaoju
5580791686
chore: remove stale develop-entry.ts
2026-05-18 11:43:09 +00:00
xiaoju
3afd7a5319
chore: remove leftover smoke test files
2026-05-18 11:41:49 +00:00
xiaoju
3d1b2268b4
chore: bump json-cas deps to ^0.1.3
2026-05-18 10:48:06 +00:00
xiaoju
8bebe9da0f
chore: bump json-cas-fs to ^0.1.2 (fix workspace:^ in published pkg)
2026-05-18 10:44:30 +00:00
xiaoju
53a7355f0b
chore: fix json-cas workspace:^ refs to ^0.1.1
2026-05-18 10:30:31 +00:00
xiaoju
d99c285725
chore: remove cross-repo json-cas workspace deps from root
2026-05-18 10:28:22 +00:00
xiaoju
2505dd8d6a
chore: remove stale pnpm-lock.yaml
2026-05-18 10:25:45 +00:00
xiaomo
1121dfa48b
Merge pull request 'feat: uwf — Stateless Workflow CLI' ( #317 ) from feat/309-uwf-stateless into main
2026-05-18 10:07:55 +00:00
xiaoju
d90e29ad05
fix: address 3 critical PR review issues
...
1. threads.yaml race condition: reload threads index after agent subprocess
completes before updating head pointer (cli-uwf/commands/thread.ts)
2. evaluateJsonata not awaited: jsonata evaluate() returns Promise for async
expressions — now properly awaited (uwf-moderator/evaluate.ts)
3. resolveWorkflowHash dead code: function always returns a value, removed
impossible null return type and dead null-check branches at call sites
(cli-uwf/store.ts, commands/thread.ts, commands/workflow.ts)
2026-05-18 10:05:11 +00:00
xiaoju
0727e0e8d5
fix: reload CAS store after agent spawn + share schemas via uwf-protocol
...
The agent subprocess writes StepNode to CAS on disk, but the parent
process had an in-memory cache from createFsStore init. Fix: re-create
store after agent spawn to pick up new nodes.
Also centralized JSON Schemas in uwf-protocol so cli-uwf and agent-kit
produce identical type hashes.
E2E smoke test passing: workflow put → thread start → 3x step → done
Refs #309
2026-05-18 09:33:52 +00:00
xiaoju
ba012d98bc
feat: add @uncaged/uwf-agent-hermes — Hermes agent CLI adapter
...
Spawns 'hermes chat' with assembled prompt from agent-kit context.
Agent-kit handles extract, StepNode write, and stdout output.
Refs #309 , #316
2026-05-18 09:22:12 +00:00
xiaoju
b165049a13
feat: implement thread step — moderator → agent → update head
...
- Walk CAS chain to build ModeratorContext with expanded output
- Call uwf-moderator evaluate() for role decision
- Agent resolution: --agent > config overrides > default
- Spawn agent CLI, capture StepNode hash
- Update threads.yaml, check done via second evaluate
- Archive on $END
Refs #309 , #315
2026-05-18 09:19:37 +00:00
xiaoju
4d477c67c0
feat: add @uncaged/uwf-agent-kit — agent CLI framework
...
- createAgent() API for building agent CLIs
- Context builder: reads CAS chain, builds AgentContext
- Extract: LLM-based structured output extraction
- StepNode writer: writes to CAS without touching threads.yaml
- Stdout: outputs StepNode hash
Refs #309 , #314
2026-05-18 09:15:25 +00:00
xiaoju
0d5678c961
feat: add thread start/show/list/kill commands
...
- thread start: ULID generation, StartNode to CAS, threads.yaml
- thread show: active (done:false) or archived (done:true)
- thread list: active threads, --all includes history
- thread kill: archive to history.jsonl
Refs #309 , #313
2026-05-18 09:09:10 +00:00
xiaoju
a8e2aa85f8
feat: add @uncaged/cli-uwf with workflow put/show/list commands
...
Refs #309 , #312
2026-05-18 09:03:55 +00:00
xiaoju
2a4d35399b
feat: add @uncaged/uwf-moderator with JSONata evaluation engine
...
5 tests passing: transition, condition match, fallback,
missing role error, output expansion.
Refs #309 , #311
2026-05-18 08:58:21 +00:00
xiaoju
391915411e
feat: add @uncaged/uwf-protocol with all shared types
...
Refs #309 , #310
2026-05-18 08:53:37 +00:00
scottwei
4aaf49bfc6
Merge pull request 'jshang/optimize-dashboard-ui' ( #308 ) from jshang/optimize-dashboard-ui into main
...
Reviewed-on: uncaged/workflow#308
2026-05-18 08:45:46 +00:00
xiaoju
08de1ae5eb
docs: fresh uwf-* packages, depend on @uncaged/json-cas, no reuse
2026-05-18 08:44:04 +00:00
xiaoju
c91a3d1ec6
docs: add description to condition definitions
2026-05-18 08:41:29 +00:00
xiaoju
13d932f69c
docs: config with provider/model/agent registries and alias-based overrides
2026-05-18 08:38:08 +00:00
jiashuang
f705d9b8ea
refactor: optimize ui for dashboard
2026-05-18 16:20:05 +08:00
xiaoju
f84d327410
docs: add .env for API keys, separate from config.yaml
2026-05-18 08:19:48 +00:00
xiaoju
9c2f93629b
docs: add models config (default + extract LLM)
2026-05-18 08:16:03 +00:00
xiaoju
bcefcb9af7
docs: add section 4 — key data types with shared StepRecord
2026-05-18 08:13:18 +00:00
xiaoju
b14dce2bc6
docs: fix inconsistencies — title, terminology, threads.yaml, JSONata context
2026-05-18 08:09:40 +00:00
xiaoju
85c572e770
docs: inline roles/moderator into Workflow, output as cas_ref, detail polymorphic
2026-05-18 08:07:20 +00:00
xiaoju
9a89885ce6
docs: rewrite CAS structure — flatten refs, named conditions, config.yaml, output naming
2026-05-18 07:55:04 +00:00
xiaoju
d095ceaafa
docs: agent CLI takes thread-id + role, outputs CAS hash, step owns pointer
2026-05-18 07:24:14 +00:00
xiaoju
2a0346f48b
docs: simplify show to pure thread-id → head query, all output JSON
2026-05-18 07:18:29 +00:00
xiaoju
b4e25ea002
docs: add done field to step output
2026-05-18 07:12:38 +00:00
xiaoju
77f2060e6b
docs: step on ended thread is an error, not null head
2026-05-18 07:11:50 +00:00
xiaoju
8f9a925179
docs: simplify step output to workflow/thread/head
2026-05-18 07:10:11 +00:00
jiashuang
2f3fff3536
refactor: introduce react-router
2026-05-18 15:06:16 +08:00
xiaoju
a7eb9814ae
docs: fix agent invocation format in thread step
2026-05-18 07:05:35 +00:00
xiaoju
a8024e6d42
docs: use full 26-char Crockford Base32 ULIDs for thread IDs
2026-05-18 07:03:40 +00:00
xiaoju
6d94d9c85a
docs: fix hash format to 13-char Crockford Base32 (XXH64)
2026-05-18 07:03:02 +00:00
xiaoju
49a4d08c04
docs: add thread list --all and thread kill
2026-05-18 06:59:47 +00:00
xiaoju
d5773369af
docs: uwf thread subcommands, simplify start output
2026-05-18 06:58:35 +00:00
xiaoju
f49e014f41
docs: update CLI design — uwf naming, simplify commands and agent protocol
2026-05-18 06:56:55 +00:00
xiaoju
ab48a8169d
docs: add stateless workflow CLI design
...
Refs #297
2026-05-18 06:37:25 +00:00
xiaomo
2b707fb44e
Merge pull request 'refactor: replace extractRefs with schema casRef annotations (Phase 2)' ( #290 ) from feat/285-phase2-remove-extractrefs into main
2026-05-16 11:50:47 +00:00
xiaoju
6306b23a9f
refactor: replace extractRefs with schema casRef annotations
...
Migrate all templates to use .meta({ casRef: true }) on Zod schema
fields instead of manual extractRefs functions. Remove extractRefs
from RoleDefinition type entirely.
- develop: planner phases[].hash, coder completedPhase annotated
- solve-issue, smoke, init templates: extractRefs removed
- create-workflow.ts: uses collectCasRefs(schema, meta)
- RoleDefinition: extractRefs field removed (breaking)
218 tests pass, 0 fail.
Fixes #289 , Refs #285
2026-05-16 10:48:45 +00:00
xiaomo
6bb8cf8315
Merge pull request 'feat: add collectCasRefs — schema-level CAS ref annotation (Phase 1)' ( #288 ) from feat/285-cas-ref-annotation into main
2026-05-16 10:43:16 +00:00
xiaoju
93b7947d7c
feat: add collectCasRefs — extract CAS refs from schema meta annotations
...
Replaces manual extractRefs functions with declarative schema-level
casRef annotations. Walks Zod v4 schemas recursively, collecting
string values from fields marked with .meta({ casRef: true }).
Supports: objects, arrays, discriminatedUnion, nullable/optional.
8/8 test cases pass (flat, nested, union, null, mixed).
Refs #285 , addresses #286
2026-05-16 10:42:24 +00:00
xingyue
9584a86fb7
Merge pull request 'chore: fix biome cognitive complexity warnings' ( #287 ) from chore/fix-biome-complexity-warnings into main
2026-05-16 10:40:27 +00:00
Scott Wei
defc0afc27
chore: fix biome cognitive complexity warnings
...
Refactor dashboard graph/schema helpers and descriptor role validation
into smaller functions so bun run check passes without warnings.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-16 18:33:00 +08:00
xiaomo
9f6633d5bf
Merge pull request 'refactor(workflow-protocol): require AgentFn Opt generic' ( #284 ) from refactor/agent-fn-required-opt into main
2026-05-16 10:27:07 +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