feat(workflow): generic AgentFn<I> + adaptAgent utility #329
Closed
xiaoju
wants to merge 1 commits from
feat/327-generic-agentfn into main
pull from: feat/327-generic-agentfn
merge into: uncaged:main
uncaged:main
uncaged:chore/325-workflow-cleanup
uncaged:refactor/320-extract-workflow-package
uncaged:refactor/318-sense-shell-only
uncaged:refactor/316-followup
uncaged:feat/315-shell-trigger
uncaged:feat/agent-inject-claude
uncaged:fix/313-state-persistence-hardening
uncaged:refactor/308-stateful-sense
uncaged:docs/285-workflow-naming-convention
uncaged:feat/agent-inject-cursor
uncaged:chore/dead-code-cleanup
uncaged:chore/rfc-006-cleanup
uncaged:fix/298-update-hermes-skill
uncaged:refactor/rfc-006-workflow-runtime
uncaged:feat/agent-inject-phase3
uncaged:feat/agent-inject-phase2
uncaged:refactor/rfc-006-worker-runtime
uncaged:refactor/287-align-prompts-knowledge
uncaged:feat/agent-inject-phase1
uncaged:refactor/277-llm-adapter-four-tuple
uncaged:refactor/274-single-package-workspace
uncaged:refactor/core-file-consolidation
uncaged:refactor/rfc-005-phase-1
uncaged:chore/knowledge-cards
uncaged:refactor/pure-sense-compute
uncaged:feat/sense-contract
uncaged:feat/workflow-meta-package
uncaged:feat/role-reviewer-package
uncaged:feat/rfc004-role-committer
uncaged:docs/rfc-004-package-architecture
uncaged:feat/254-with-dry-run
uncaged:fix/136-reflex-null-on
uncaged:fix/134-hot-reload-in-flight
uncaged:feat/130-dryrun-defaults
uncaged:fix/123-llmextract-dryrun-defaults
uncaged:feat/121-workflow-exit-codes
uncaged:refactor/111-split-types-generify-sense-result
uncaged:refactor/110-moderator-context-restructure
uncaged:refactor/109-role-step
uncaged:refactor/113-logentry-timestamp
uncaged:refactor/108-remove-null-unify-ts
uncaged:feat/106-workspace-biome
uncaged:feat/104-dryrun-utils
uncaged:feat/101-dry-run
uncaged:refactor/100-extract-start-signal
uncaged:feat/97-workflow-utils
uncaged:docs/95-update-readme-to-match-code
uncaged:refactor/93-shared-ipc-types
uncaged:chore/add-pre-push-hook
uncaged:fix/test-failures-after-type-safety-refactor
uncaged:refactor/type-safety
uncaged:refactor/split-kernel
uncaged:refactor/extract-nerve-store
uncaged:fix/pr81-review-followups
uncaged:refactor/workflow-type-safety
uncaged:feat/workflow-thread-77
uncaged:chore/cursor-rules-from-conventions
uncaged:fix/trigger-payload-string-support
uncaged:docs/readme-update
uncaged:feat/init-from-git
uncaged:build/tsup-to-rslib
uncaged:refactor/drizzle-v1-node-sqlite
uncaged:fix/walkthrough-cleanup
uncaged:refactor/node-sqlite
uncaged:refactor/sql-js-migration
uncaged:refactor/static-imports
uncaged:feat/sense-query
uncaged:fix/dev-worker-crash
uncaged:refactor/daemon-subcommand
uncaged:fix/review-issues-46-49
uncaged:feat/blob-store
uncaged:fix/init-sqlite-retry
uncaged:refactor/decouple-daemon-from-cli
uncaged:feat/log-archive
uncaged:feat/nerve-logs
uncaged:fix/phase4-followup
uncaged:feat/workflow-engine-phase4
uncaged:feat/workflow-engine-phase3
uncaged:fix/init-runtime-bugs
uncaged:feat/workflow-engine-phase2
uncaged:feat/workflow-engine-phase1
uncaged:rfc-002-workflow
uncaged:feat/phase-7-logging
uncaged:feat/phase-6-hot-reload
uncaged:feat/phase-5-cli-workspace
uncaged:feat/phase-4-process-manager
uncaged:feat/signal-bus-reflex
uncaged:feat/sense-runtime
uncaged:feat/phase-1-core-types
No Reviewers
Labels
No items
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
aobing
jiashuang (Jia Shuang)
jiayi (Jiayi)
luming
scottwei
tuanzi
xiaoju
xiaomo
xiaonuo
xingyue
Clear assignees
No Assignees
No due date set.
Dependencies
No dependencies set.
Reference: uncaged/nerve#329
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "feat/327-generic-agentfn"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
AgentFnis nowAgentFn<I = string>— backward compatible, allows specialized input types.Added
adaptAgent<I>(schema, agent)in workflow-utils: bridgesAgentFn<I>toAgentFn<string>via Zod schema.Why
Current
AgentFnforces(ctx, string)but agents like Cursor need structured input. See #327.Changes
packages/workflow/src/types.ts—AgentFn<I = string>packages/workflow-utils/src/adapt-agent.ts— newadaptAgentpackages/workflow-utils/src/index.ts— re-exportRef
Phase 1 of #327, testing #328