xiaoju
f9979c3c89
chore: upgrade json-cas to 0.4.x, fix Store → BootstrapCapableStore
...
- @uncaged/json-cas ^0.3.0 → ^0.4.0
- @uncaged/json-cas-fs ^0.3.0 → ^0.4.0 (now publishes .d.ts + .js)
- UwfStore.store typed as BootstrapCapableStore
- tsc --build now clean (no more node_modules type errors)
小橘 🍊 (NEKO Team)
2026-05-19 10:29:57 +00:00
xiaoju
6c14259184
chore: remove pnpm-lock.yaml files, bun only
...
小橘 🍊 (NEKO Team)
2026-05-19 07:58:24 +00:00
xiaoju
7b9cb6a9c8
chore: rename uwf-* → workflow-*, cli-uwf → cli-workflow
...
Reclaim the workflow-* package names now that legacy packages are archived.
Package renames:
- @uncaged/uwf-protocol → @uncaged/workflow-protocol
- @uncaged/uwf-moderator → @uncaged/workflow-moderator
- @uncaged/uwf-agent-kit → @uncaged/workflow-agent-kit
- @uncaged/uwf-agent-hermes → @uncaged/workflow-agent-hermes
- @uncaged/cli-uwf → @uncaged/cli-workflow
All internal imports, tsconfig references, and docs updated.
CLI binary name 'uwf' unchanged.
小橘 🍊 (NEKO Team)
2026-05-19 07:52: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
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
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
4ea1e0d8a4
chore: publish 0.5.0-alpha.4 — unified env() API
2026-05-15 10:19:38 +00:00
xiaoju
f74b482cc0
chore: version 0.5.0-alpha.3, add publish-all script
...
- scripts/publish-all.mjs: pins workspace:^ before npm publish, restores after
- Workaround for bun publish workspace:^ resolution bug in pre mode
小橘 🍊
2026-05-15 01:37:27 +00:00
xiaomo
89abfdc257
Merge pull request 'feat(dashboard): show system prompt per role' ( #269 ) from feat/show-system-prompt into main
2026-05-15 01:28:12 +00:00
xiaoju
77e395b913
chore: version 0.5.0-alpha.1
...
小橘 🍊
2026-05-15 01:27:54 +00:00
xingyue
b65a006d45
feat(dashboard): show system prompt per role in workflow detail
...
- Add systemPrompt to WorkflowRoleDescriptor (protocol)
- Propagate systemPrompt through buildDescriptor and validateWorkflowDescriptor
- Display system prompt as collapsible <details> in RoleCard
2026-05-15 09:27:03 +08:00
xiaoju
9576d69032
chore: enter changeset pre mode (alpha), version 0.5.0-alpha.0
...
小橘 🍊
2026-05-15 01:22:44 +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
xingyue
9276689cb6
chore: switch to npmjs registry, publish v0.4.5
...
- Remove Gitea npm registry, use npmjs.org
- changeset publish works natively with npmjs
- release script: build + test + changeset publish
- Remove custom release.sh, all via changesets
2026-05-13 21:20:18 +08:00
xingyue
b4584cbaa6
chore: publish v0.4.3 — include src/ in published packages
...
bun runtime resolves the 'bun' exports condition to ./src/index.ts,
but src/ was not in the files array so consumers got ENOENT.
2026-05-13 21:11:17 +08:00
xingyue
1cf963a1fb
chore: publish v0.4.2 — fix workspace deps, remove publish.sh
...
- workspace:* → workspace:^ (resolves to ^x.y.z instead of exact)
- Remove publish.sh, use changesets workflow
- changeset config: access public (Gitea compat)
- release script: build + test + changeset publish
2026-05-13 21:07:29 +08:00
xingyue
ce5bc50210
chore: publish v0.4.1
...
小橘 <xiaoju@shazhou.work >
2026-05-13 20:59:59 +08:00
xingyue
522afdd4bd
feat: adopt changesets + fix exports, bump to 0.4.0
...
- Install @changesets/cli with fixed mode (all @uncaged/* packages sync version)
- Fix package exports: add bun condition, point import to dist/
- Bump all packages to 0.4.0 via changeset version
- Auto-generated CHANGELOG.md for each package
- Ignore workflow-dashboard (private)
- Add npm scripts: changeset, version, release
- publish.sh: support workspace:^ prefix matching
Closes #241 , Closes #242
2026-05-13 20:56:21 +08:00
xingyue
ca644dabaa
chore: bump all packages to 0.4.0, fix exports for publish
...
- All @uncaged/* packages → 0.4.0
- Internal deps: workspace:* → workspace:^ (resolves to ^0.4.0 on publish)
- Fix exports: add 'bun' condition for local dev (src), 'import' for consumers (dist)
- Remove stale 'main: src/index.ts' from 6 packages
- Fix publish.sh topo sort to match workspace:^ prefix
星月 <xingyue@shazhou.work >
2026-05-13 20:46:00 +08:00
xingyue
aede8f7613
chore: publish v0.3.21
...
小橘 <xiaoju@shazhou.work >
2026-05-13 17:10:39 +08:00
xingyue
6cce5e2593
chore: publish v0.3.20
...
小橘 <xiaoju@shazhou.work >
2026-05-13 17:00:43 +08:00
xingyue
d3a7ed9062
chore: publish v0.3.19
...
小橘 <xiaoju@shazhou.work >
2026-05-13 16:56:55 +08:00
xiaoju
bb1293f6b9
fix: add exports field to 6 packages for proper type resolution
...
Packages without exports.types pointed main/types to src/ which
doesn't exist in published tarballs. Now all packages have:
exports."." = { types: dist/index.d.ts, import: src/index.ts }
Bump to 0.3.18.
2026-05-13 08:29:36 +00:00
xiaoju
497f03c747
chore: bump all packages to 0.3.17
2026-05-13 08:04:32 +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
061926b86a
chore: fix all biome lint errors
...
- Auto-fix string concatenation → template literals
- Remove unused imports
- Prefix unused function with underscore
- Format fixes across multiple files
2026-05-13 07:26:11 +00:00
xiaoju
d5d7be6100
chore: add files field to all packages, bump to 0.3.16
...
Excludes tsconfig.json and source files from published packages.
Fixes TypeScript errors when consuming packages via bun.
2026-05-13 07:19:49 +00:00
xiaoju
1566a43395
chore: bump all packages to 0.3.15
2026-05-13 07:04:12 +00:00
xiaoju
f0d1bb9ae8
chore: bump all to 0.3.11
...
小橘 🍊
2026-05-13 03:28:33 +00:00
xiaoju
04cfd33f99
chore: bump all to 0.3.10 (regenerate lockfile)
...
小橘 🍊
2026-05-13 03:27:05 +00:00
xiaoju
a8c00f169b
chore: bump all packages to 0.3.9 (fix workspace:* dep resolution)
...
小橘 🍊
2026-05-13 03:25:50 +00:00
xiaoju
8e63f99eb6
chore: bump all public packages to 0.3.6
...
小橘 🍊
2026-05-13 03:18:25 +00:00
xiaoju
bd110b76e1
chore: remove accidental self-referencing symlinks
...
小橘 🍊
2026-05-13 02:44:24 +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
xingyue
0c02cb7574
chore: publish v0.3.5
...
小橘 <xiaoju@shazhou.work >
2026-05-13 09:34:41 +08:00
xingyue
4493fd8979
chore: publish v0.3.4
...
小橘 <xiaoju@shazhou.work >
2026-05-12 20:35:02 +08:00
xingyue
3846dc12a9
chore: bump all public packages to 0.3.3
2026-05-12 12:58:17 +08:00
xingyue
4c4dabb7a3
chore: bump all public packages to 0.3.2
2026-05-12 12:55:21 +08:00
xiaoju
98122b446d
feat: Phase 3 — agent observability for Merkle call stack
...
- StartStep gains parentState: string | null (from StartNodePayload)
- buildAgentPrompt injects Parent Context section when parentState is set
- CLI thread show outputs parentState (top-level) and childThread (per step)
- 2 new prompt tests + thread show assertion updates
Refs #197 , #194
小橘 🍊 (NEKO Team)
2026-05-12 02:23:15 +00:00
xiaomo
f723daa014
Merge pull request 'feat( #194 ): Phase 2 — Engine layer Merkle call stack' ( #202 ) from feat/194-merkle-call-stack-phase2 into main
2026-05-12 02:11:24 +00:00
xiaoju
1e9900bed3
feat( #194 ): Phase 2 — Engine layer Merkle call stack wiring
...
- Protocol: AgentFnResult = string | { output, childThread }, RoleOutput.childThread,
ThreadContext.bundleHash for parent state lookup
- Runtime: create-workflow normalizes AgentFnResult, propagates childThread in RoleOutput
- Engine: ExecuteThreadOptions.parentStateHash, appendStateForStep writes childThread,
putStartNode uses parentStateHash
- workflowAsAgent: reads parent head state from threads.json, passes parentStateHash
to child, returns { output, childThread: rootHash }
- Integration test: 4 cases verifying bidirectional Merkle links (306 lines)
Phase 2 of #194 (Merkle Call Stack). Closes #196 .
小橘 <xiaoju@shazhou.work >
2026-05-12 02:10:06 +00:00
xiaomo
aebff8b906
Merge pull request 'refactor: replace Moderator function with ModeratorTable in WorkflowDefinition' ( #201 ) from refactor/200-moderator-table into main
2026-05-12 02:06:03 +00:00
xingyue
db45089922
refactor: replace Moderator function with ModeratorTable in WorkflowDefinition ( #200 )
...
- WorkflowDefinition.moderator → WorkflowDefinition.table (ModeratorTable)
- Moderator type + tableToModerator no longer exported from protocol/runtime
- tableToModerator internalized in workflow-execute engine layer
- WorkflowDescriptor gains graph: WorkflowGraph (auto-extracted from table)
- buildDescriptor extracts serializable graph edges from ModeratorTable
- validateWorkflowDescriptor validates graph structure
- All templates (develop, solve-issue) export table directly
- CLI init scaffold updated to use ModeratorTable
- 99 tests pass, 0 failures
2026-05-12 10:01:30 +08:00
xiaoju
e37dbc3f35
wip: Phase 1 protocol + CAS types for Merkle call stack
...
小橘 <xiaoju@shazhou.work >
2026-05-12 01:35:45 +00:00
xiaoju
376dd87b6b
chore: bump to v0.3.1, fix workspace:* in published packages
...
v0.3.0 was published with workspace:* deps (npm doesn't resolve them).
Re-published as v0.3.1 with concrete version refs.
Local monorepo deps restored to workspace:*.
小橘 <xiaoju@shazhou.work >
2026-05-11 11:00:49 +00:00
xiaoju
4d8469a649
chore: bump all packages to v0.3.0
...
Published to Gitea npm registry (git.shazhou.work).
小橘 <xiaoju@shazhou.work >
2026-05-11 10:52:35 +00:00
xiaoju
ec13c19505
Merge pull request 'refactor: replace maxRounds with supervisor check interval' ( #186 ) from refactor/185-remove-max-rounds into main
2026-05-11 09:01:24 +00:00
xiaoju
2b587612d5
refactor: replace maxRounds with supervisor check interval
...
Removes maxRounds as a hard stop limit from the entire stack. The supervisor
(already configured via workflow.yaml supervisorInterval) is now the sole
termination authority.
Changes across 27 files in 11 packages:
- workflow-protocol: StartStep.meta is now empty, StartNodePayload drops maxRounds
- workflow-cas: isStartPayload no longer checks maxRounds
- workflow-execute: engine, worker, fork-thread all stripped of maxRounds plumbing
- cli-workflow: --max-rounds flag removed from CLI and HTTP API
- workflow-runtime: build-context and create-workflow no longer reference maxRounds
- workflow-dashboard: UI no longer sends maxRounds
- workflow-template-develop/solve-issue: moderator no longer checks rounds remaining
- All tests updated
Fixes #185
2026-05-11 08:51:35 +00:00
xingyue
2342a6e3bd
fix: login.tsx use new gateway endpoint path
2026-05-11 16:46:38 +08:00