diff --git a/.changeset/pre.json b/.changeset/pre.json index 2510b2b..16e37c2 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -2,23 +2,23 @@ "mode": "exit", "tag": "alpha", "initialVersions": { - "@uncaged/cli-workflow": "0.4.5", + "@uncaged/cli": "0.4.5", "@uncaged/workflow-agent-cursor": "0.4.5", - "@uncaged/workflow-agent-hermes": "0.4.5", + "@uncaged/agent-hermes": "0.4.5", "@uncaged/workflow-agent-llm": "0.4.5", "@uncaged/workflow-agent-react": "0.4.5", "@uncaged/workflow-cas": "0.4.5", - "@uncaged/workflow-dashboard": "0.1.0", + "@uncaged/dashboard": "0.1.0", "@uncaged/workflow-execute": "0.4.5", "@uncaged/workflow-gateway": "0.4.5", - "@uncaged/workflow-protocol": "0.4.5", + "@uncaged/protocol": "0.4.5", "@uncaged/workflow-reactor": "0.4.5", "@uncaged/workflow-register": "0.4.5", "@uncaged/workflow-runtime": "0.4.5", "@uncaged/workflow-template-develop": "0.4.5", "@uncaged/workflow-template-solve-issue": "0.4.5", - "@uncaged/workflow-util": "0.4.5", - "@uncaged/workflow-util-agent": "0.4.5" + "@uncaged/util": "0.4.5", + "@uncaged/util-agent": "0.4.5" }, "changesets": [ "env-api-unify", diff --git a/.workflows/e2e-walkthrough.yaml b/.workflows/e2e-walkthrough.yaml index b25751b..0753eb6 100644 --- a/.workflows/e2e-walkthrough.yaml +++ b/.workflows/e2e-walkthrough.yaml @@ -45,9 +45,9 @@ roles: cd /root/workflow && bun install # bun link each package that has a bin entry - cd packages/cli-workflow && bun link && cd ../.. - cd packages/workflow-agent-hermes && bun link && cd ../.. - cd packages/workflow-agent-builtin && bun link && cd ../.. + cd packages/cli && bun link && cd ../.. + cd packages/agent-hermes && bun link && cd ../.. + cd packages/agent-builtin && bun link && cd ../.. ' ``` 3. Verify all three commands are available inside the container: diff --git a/BOOTSTRAP.md b/BOOTSTRAP.md index 84313ae..bca22bc 100644 --- a/BOOTSTRAP.md +++ b/BOOTSTRAP.md @@ -16,7 +16,7 @@ This guide helps any AI agent set up `uwf` (Uncaged Workflow) from scratch — o ### 1. Install uwf CLI ```bash -bun install -g @uncaged/cli-workflow +bun install -g @uncaged/cli ``` ✅ **Check:** `uwf --version` prints a version number (e.g. `0.5.1`). @@ -27,11 +27,11 @@ Install the adapter that matches your agent runtime. Pick **one**: | Agent | Package | Binary | |-------|---------|--------| -| Hermes | `@uncaged/workflow-agent-hermes` | `uwf-hermes` | +| Hermes | `@uncaged/agent-hermes` | `uwf-hermes` | ```bash # Example: Hermes agent -bun install -g @uncaged/workflow-agent-hermes +bun install -g @uncaged/agent-hermes ``` ✅ **Check:** `uwf-hermes --version` prints a version number. @@ -128,19 +128,19 @@ uwf-hermes --version # or your agent adapter Compare with latest published versions: ```bash -bun pm ls -g | grep -E "cli-workflow|workflow-agent" -npm info @uncaged/cli-workflow version -npm info @uncaged/workflow-agent-hermes version +bun pm ls -g | grep -E "cli|workflow-agent" +npm info @uncaged/cli version +npm info @uncaged/agent-hermes version ``` If local version < published version, upgrade: ```bash -bun install -g @uncaged/cli-workflow@latest -bun install -g @uncaged/workflow-agent-hermes@latest +bun install -g @uncaged/cli@latest +bun install -g @uncaged/agent-hermes@latest ``` -✅ **Check:** `uwf --version` matches `npm info @uncaged/cli-workflow version`. +✅ **Check:** `uwf --version` matches `npm info @uncaged/cli version`. ### Config Check diff --git a/CLAUDE.md b/CLAUDE.md index 0cc8174..bc3c9ca 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -21,14 +21,14 @@ This monorepo implements a stateless workflow engine driven by a single-step CLI ``` workflow/ packages/ - workflow-protocol/ # @united-workforce/protocol — shared types (WorkflowPayload, StepNodePayload, WorkflowConfig, etc.) - workflow-util/ # @united-workforce/util — Crockford Base32, ULID, logger, frontmatter parsing/validation - workflow-util-agent/ # @united-workforce/util-agent — createAgent factory, context builder, extract pipeline - workflow-agent-hermes/ # @united-workforce/agent-hermes — uwf-hermes CLI binary (spawns hermes chat) - workflow-agent-claude-code/ # @united-workforce/agent-claude-code — uwf-claude-code CLI binary - workflow-agent-builtin/ # @united-workforce/agent-builtin — uwf-builtin CLI binary - cli-workflow/ # @united-workforce/cli — uwf CLI binary (includes status-based moderator in src/moderator/) - workflow-dashboard/ # @united-workforce/dashboard — web dashboard (private, not published) + protocol/ # @united-workforce/protocol — shared types (WorkflowPayload, StepNodePayload, WorkflowConfig, etc.) + util/ # @united-workforce/util — Crockford Base32, ULID, logger, frontmatter parsing/validation + util-agent/ # @united-workforce/util-agent — createAgent factory, context builder, extract pipeline + agent-hermes/ # @united-workforce/agent-hermes — uwf-hermes CLI binary (spawns hermes chat) + agent-claude-code/ # @united-workforce/agent-claude-code — uwf-claude-code CLI binary + agent-builtin/ # @united-workforce/agent-builtin — uwf-builtin CLI binary + cli/ # @united-workforce/cli — uwf CLI binary (includes status-based moderator in src/moderator/) + dashboard/ # @united-workforce/dashboard — web dashboard (private, not published) legacy-packages/ # Archived packages (preserved for reference, not active) examples/ # Workflow YAML examples (solve-issue.yaml) docs/ # Architecture docs @@ -36,7 +36,7 @@ workflow/ tsconfig.json # root TypeScript config ``` -- Dependency layers: `workflow-protocol` → `workflow-util` → `workflow-util-agent` → `workflow-agent-hermes` / `workflow-agent-claude-code` / `workflow-agent-builtin` / `cli-workflow` +- Dependency layers: `protocol` → `util` → `util-agent` → `agent-hermes` / `agent-claude-code` / `agent-builtin` / `cli` - Packages use `workspace:^` protocol (resolves to `^x.y.z` on publish) - External CAS: `@ocas/core` (store API, hashing, schema validation) + `@ocas/fs` (filesystem backend) @@ -225,7 +225,7 @@ Test files (`__tests__/**`) are exempt. | **bun** | Package manager + runtime | | **TypeScript** | Type checking (strict mode) | | **Biome** | Lint + format (replaces ESLint + Prettier) | -| **vitest** | Test runner (`cli-workflow` uses vitest; other packages use `bun test`) | +| **vitest** | Test runner (`cli` uses vitest; other packages use `bun test`) | ### Development Workflow diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a384d83..e7b1d91 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -36,7 +36,7 @@ See [CLAUDE.md](CLAUDE.md) for the full coding standard. Key points: - **Functional-first** — `function` + `type`, not `class` + `interface` - **No optional properties** — use `T | null` instead of `?:` - **Named exports only** — no default exports -- **No `console.log`** — use the structured logger from `@uncaged/workflow-util` +- **No `console.log`** — use the structured logger from `@uncaged/util` - **Static imports only** — no `await import()` in production code - **Biome** for lint + format — run `bun run check` before committing @@ -92,14 +92,14 @@ This creates a markdown file in `.changeset/` describing the change. It will be ``` packages/ - workflow-protocol/ # Shared types and JSON Schema - workflow-util/ # Encoding, IDs, logging, frontmatter - workflow-util-agent/ # createAgent factory, extract pipeline - workflow-agent-hermes/ # Hermes ACP agent - workflow-agent-builtin/ # Built-in LLM agent - workflow-agent-claude-code/ # Claude Code agent - cli-workflow/ # uwf CLI binary - workflow-dashboard/ # Web UI (private, alpha) + protocol/ # Shared types and JSON Schema + util/ # Encoding, IDs, logging, frontmatter + util-agent/ # createAgent factory, extract pipeline + agent-hermes/ # Hermes ACP agent + agent-builtin/ # Built-in LLM agent + agent-claude-code/ # Claude Code agent + cli/ # uwf CLI binary + dashboard/ # Web UI (private, alpha) ``` Dependency flows downward — lower layers have no dependency on higher layers. See [CLAUDE.md](CLAUDE.md) for the full architecture. diff --git a/README.md b/README.md index 15c64a0..c57cb5f 100644 --- a/README.md +++ b/README.md @@ -47,24 +47,24 @@ Dependency layers (lower layers have no dependency on higher layers): ``` Layer 0 — Contract - workflow-protocol Shared types and JSON Schema definitions + protocol Shared types and JSON Schema definitions Layer 1 — Shared infra - workflow-util Encoding, IDs, logging, frontmatter, paths + util Encoding, IDs, logging, frontmatter, paths Layer 2 — Agent framework - workflow-util-agent createAgent factory, context builder, extract pipeline + util-agent createAgent factory, context builder, extract pipeline Layer 3 — Agent implementations - workflow-agent-hermes Hermes ACP agent (uwf-hermes) - workflow-agent-builtin Built-in LLM + tools agent (uwf-builtin) - workflow-agent-claude-code Claude Code agent (uwf-claude-code) + agent-hermes Hermes ACP agent (uwf-hermes) + agent-builtin Built-in LLM + tools agent (uwf-builtin) + agent-claude-code Claude Code agent (uwf-claude-code) Layer 4 — CLI - cli-workflow uwf binary — thread lifecycle, registry, CAS, setup (includes status-based moderator) + cli uwf binary — thread lifecycle, registry, CAS, setup (includes status-based moderator) App (uses protocol; not in the runtime engine stack) - workflow-dashboard Web UI for visual workflow editing + dashboard Web UI for visual workflow editing ``` External CAS: [`@ocas/core`](https://www.npmjs.com/package/@ocas/core) (store API, hashing, schema validation) + `@ocas/fs` (filesystem backend). @@ -75,14 +75,14 @@ See [docs/architecture.md](docs/architecture.md) for the full design — three-p | Package | npm | Description | Type | README | |---------|-----|-------------|------|--------| -| `cli-workflow` | `@united-workforce/cli` | `uwf` CLI — thread lifecycle, workflow registry, CAS inspection, setup | cli | [README](packages/cli-workflow/README.md) | -| `workflow-protocol` | `@united-workforce/protocol` | Shared TypeScript types and JSON Schema constants | lib | [README](packages/workflow-protocol/README.md) | -| `workflow-util-agent` | `@united-workforce/util-agent` | `createAgent` factory, context builder, extract pipeline | lib | [README](packages/workflow-util-agent/README.md) | -| `workflow-util` | `@united-workforce/util` | Crockford Base32, ULID, logger, frontmatter parsing, storage paths | lib | [README](packages/workflow-util/README.md) | -| `workflow-agent-hermes` | `@united-workforce/agent-hermes` | `uwf-hermes` — spawns Hermes chat via ACP | agent | [README](packages/workflow-agent-hermes/README.md) | -| `workflow-agent-builtin` | `@united-workforce/agent-builtin` | `uwf-builtin` — built-in LLM agent with file/shell tools | agent | [README](packages/workflow-agent-builtin/README.md) | -| `workflow-agent-claude-code` | `@united-workforce/agent-claude-code` | `uwf-claude-code` — spawns Claude Code CLI | agent | [README](packages/workflow-agent-claude-code/README.md) | -| `workflow-dashboard` | `@united-workforce/dashboard` | Web graph editor for workflow YAML (private, alpha) | app | [README](packages/workflow-dashboard/README.md) | +| `cli` | `@united-workforce/cli` | `uwf` CLI — thread lifecycle, workflow registry, CAS inspection, setup | cli | [README](packages/cli/README.md) | +| `protocol` | `@united-workforce/protocol` | Shared TypeScript types and JSON Schema constants | lib | [README](packages/protocol/README.md) | +| `util-agent` | `@united-workforce/util-agent` | `createAgent` factory, context builder, extract pipeline | lib | [README](packages/util-agent/README.md) | +| `util` | `@united-workforce/util` | Crockford Base32, ULID, logger, frontmatter parsing, storage paths | lib | [README](packages/util/README.md) | +| `agent-hermes` | `@united-workforce/agent-hermes` | `uwf-hermes` — spawns Hermes chat via ACP | agent | [README](packages/agent-hermes/README.md) | +| `agent-builtin` | `@united-workforce/agent-builtin` | `uwf-builtin` — built-in LLM agent with file/shell tools | agent | [README](packages/agent-builtin/README.md) | +| `agent-claude-code` | `@united-workforce/agent-claude-code` | `uwf-claude-code` — spawns Claude Code CLI | agent | [README](packages/agent-claude-code/README.md) | +| `dashboard` | `@united-workforce/dashboard` | Web graph editor for workflow YAML (private, alpha) | app | [README](packages/dashboard/README.md) | ## CLI Reference @@ -100,7 +100,7 @@ Global options: `-V, --version`, `--format `, `-h, --help`. Config is stored in `~/.uwf/config.yaml`. API keys go in `~/.uwf/.env`. -Detailed command usage, options, and examples: [packages/cli-workflow/README.md](packages/cli-workflow/README.md). +Detailed command usage, options, and examples: [packages/cli/README.md](packages/cli/README.md). ## Development diff --git a/docs/architecture.md b/docs/architecture.md index d4e5914..864a80c 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -14,11 +14,11 @@ The implementation lives in **5** active packages under `packages/`, plus two ex | Layer | Package | One-line role | |-------|---------|---------------| -| Contract | `@united-workforce/protocol` → `workflow-protocol` | Shared TypeScript types (`WorkflowPayload`, `StepNodePayload`, `ModeratorContext`, `WorkflowConfig`, etc.). No runtime deps beyond `@ocas/fs`. | -| Shared infra | `@united-workforce/util` → `workflow-util` | Crockford Base32, ULID generation, `createLogger`, frontmatter parsing/validation. | -| Agent framework | `@united-workforce/util-agent` → `workflow-util-agent` | `createAgent` entrypoint factory, context builder, frontmatter fast-path extractor, LLM extract fallback, output format instruction builder. | -| Agent: Hermes | `@united-workforce/agent-hermes` → `workflow-agent-hermes` | `uwf-hermes` CLI binary — spawns `hermes chat`, pipes prompt, captures session detail. | -| CLI | `@united-workforce/cli` → `cli-workflow` | `uwf` binary — thread lifecycle, workflow registry, CAS inspection, setup. Includes status-based graph evaluator in `src/moderator/` (next role or `$END`). | +| Contract | `@united-workforce/protocol` → `protocol` | Shared TypeScript types (`WorkflowPayload`, `StepNodePayload`, `ModeratorContext`, `WorkflowConfig`, etc.). No runtime deps beyond `@ocas/fs`. | +| Shared infra | `@united-workforce/util` → `util` | Crockford Base32, ULID generation, `createLogger`, frontmatter parsing/validation. | +| Agent framework | `@united-workforce/util-agent` → `util-agent` | `createAgent` entrypoint factory, context builder, frontmatter fast-path extractor, LLM extract fallback, output format instruction builder. | +| Agent: Hermes | `@united-workforce/agent-hermes` → `agent-hermes` | `uwf-hermes` CLI binary — spawns `hermes chat`, pipes prompt, captures session detail. | +| CLI | `@united-workforce/cli` → `cli` | `uwf` binary — thread lifecycle, workflow registry, CAS inspection, setup. Includes status-based graph evaluator in `src/moderator/` (next role or `$END`). | ### External dependencies @@ -26,8 +26,8 @@ The implementation lives in **5** active packages under `packages/`, plus two ex |---------|------| | `@ocas/core` | Content-addressed store API, XXH64 hashing, JSON Schema registration and validation. | | `@ocas/fs` | Filesystem backend for `ocas`. | -| `mustache` | Template renderer for edge prompts (used by `cli-workflow` moderator). | -| `commander` | CLI argument parsing (used by `cli-workflow`). | +| `mustache` | Template renderer for edge prompts (used by `cli` moderator). | +| `commander` | CLI argument parsing (used by `cli`). | | `dotenv` | Loads `.env` files for API keys. | | `yaml` | YAML parse/stringify. | @@ -150,7 +150,7 @@ Key properties: ## Three-phase engine loop -Each `uwf thread step` runs exactly one cycle: moderator → agent → extract. The CLI orchestrates this in `packages/cli-workflow/src/commands/thread.ts` (`cmdThreadStep`). +Each `uwf thread step` runs exactly one cycle: moderator → agent → extract. The CLI orchestrates this in `packages/cli/src/commands/thread.ts` (`cmdThreadStep`). ``` ┌─→ Phase 1: MODERATOR @@ -176,7 +176,7 @@ Each `uwf thread step` runs exactly one cycle: moderator → agent → extract. ### Context types -Defined in `packages/workflow-protocol/src/types.ts`: +Defined in `packages/protocol/src/types.ts`: ```typescript type StepContext = { @@ -218,7 +218,7 @@ Each agent is an external command invoked by `uwf thread step`: Contract: 1. `uwf thread step` determines the next role via the moderator 2. Agent CLI is spawned with `(thread-id, role)` as positional args -3. `workflow-util-agent` (`createAgent`) handles the boilerplate: +3. `util-agent` (`createAgent`) handles the boilerplate: - Parses argv - Loads `.env` from storage root - Builds `AgentContext` by walking the CAS chain from `threads.yaml` head @@ -251,11 +251,11 @@ scope: role Fixed the login redirect by updating the auth middleware... ``` -The `outputFormatInstruction` (built by `buildOutputFormatInstruction` in `workflow-util-agent`) is prepended to the role's system prompt, so the deliverable format is the first thing the agent sees. It lists the expected frontmatter fields derived from the role's `meta` JSON Schema. +The `outputFormatInstruction` (built by `buildOutputFormatInstruction` in `util-agent`) is prepended to the role's system prompt, so the deliverable format is the first thing the agent sees. It lists the expected frontmatter fields derived from the role's `meta` JSON Schema. ## Two-layer extract -Structured output extraction uses a two-layer strategy (`workflow-util-agent`): +Structured output extraction uses a two-layer strategy (`util-agent`): ### Layer 1: frontmatter fast path (`frontmatter.ts`) @@ -279,7 +279,7 @@ If the fast path returns `null` (no frontmatter, invalid, or doesn't satisfy sch ## Prompt injection -`workflow-util-agent` prepends two pieces of context to the agent's system prompt: +`util-agent` prepends two pieces of context to the agent's system prompt: 1. **Deliverable format instruction** — generated from the role's `meta` schema, tells the agent exactly what frontmatter fields to produce and the expected format 2. **Scope constraint** — "Focus exclusively on YOUR role's deliverable. Do not perform actions outside your role's scope." diff --git a/docs/builtin-agent-research.md b/docs/builtin-agent-research.md index 936f7c8..75a00ea 100644 --- a/docs/builtin-agent-research.md +++ b/docs/builtin-agent-research.md @@ -14,7 +14,7 @@ 现有 agent 是怎么被 CLI 调用的?输入(argv、环境变量)和输出(stdout、CAS)格式是什么? **调研要点:** -- `cli-workflow` 里 `spawnAgent` 的完整实现 +- `cli` 里 `spawnAgent` 的完整实现 - AgentConfig 类型定义 - agent 进程的 exit code 约定 - 环境变量传递(UWF_STORAGE_ROOT 等) @@ -27,7 +27,7 @@ #### AgentConfig 类型 -```146:149:packages/workflow-protocol/src/types.ts +```146:149:packages/protocol/src/types.ts export type AgentConfig = { command: string; args: string[]; @@ -38,7 +38,7 @@ export type AgentConfig = { #### spawnAgent 行为 -```627:653:packages/cli-workflow/src/commands/thread.ts +```627:653:packages/cli/src/commands/thread.ts function spawnAgent(agent: AgentConfig, threadId: ThreadId, role: string): CasRef { const argv = [...agent.args, threadId, role]; let stdout: string; @@ -78,9 +78,9 @@ Agent 解析优先级(`resolveAgentConfig`): #### 环境变量:Storage Root -文档中写的 `UWF_STORAGE_ROOT` **在当前代码中不存在**。实际优先级(`workflow-util-agent` / `cli-workflow` 一致): +文档中写的 `UWF_STORAGE_ROOT` **在当前代码中不存在**。实际优先级(`util-agent` / `cli` 一致): -```33:43:packages/workflow-util-agent/src/storage.ts +```33:43:packages/util-agent/src/storage.ts export function resolveStorageRoot(): string { const internal = process.env.UNCAGED_WORKFLOW_STORAGE_ROOT; if (internal !== undefined && internal !== "") { @@ -107,7 +107,7 @@ Agent 子进程通过继承的 `process.env` 与父 CLI 共享同一 storage roo ### Q2: createAgent 工厂 -workflow-util-agent 的 `createAgent` 做了什么?它的完整生命周期是什么? +util-agent 的 `createAgent` 做了什么?它的完整生命周期是什么? **调研要点:** - `AgentOptions` 类型的 `run` 和 `continue` 回调签名 @@ -119,7 +119,7 @@ workflow-util-agent 的 `createAgent` 做了什么?它的完整生命周期是 #### 类型定义 -```4:35:packages/workflow-util-agent/src/types.ts +```4:35:packages/util-agent/src/types.ts export type AgentContext = ModeratorContext & { threadId: ThreadId; role: string; @@ -156,7 +156,7 @@ export type AgentOptions = { #### 生命周期(按执行顺序) -```101:152:packages/workflow-util-agent/src/run.ts +```101:152:packages/util-agent/src/run.ts export function createAgent(options: AgentOptions): () => Promise { return async function main(): Promise { const { threadId, role } = parseArgv(process.argv); @@ -197,7 +197,7 @@ export function createAgent(options: AgentOptions): () => Promise { #### StepNode 写入结构 -```44:68:packages/workflow-util-agent/src/run.ts +```44:68:packages/util-agent/src/run.ts async function writeStepNode(options: { store: AgentStore["store"]; schemas: AgentStore["schemas"]; @@ -242,21 +242,21 @@ async function writeStepNode(options: { 继承 `ModeratorContext`: -```60:68:packages/workflow-protocol/src/types.ts +```60:68:packages/protocol/src/types.ts export type ModeratorContext = { start: StartNodePayload; steps: StepContext[]; }; ``` -```48:51:packages/workflow-protocol/src/types.ts +```48:51:packages/protocol/src/types.ts export type StartNodePayload = { workflow: CasRef; prompt: string; }; ``` -```61:63:packages/workflow-protocol/src/types.ts +```61:63:packages/protocol/src/types.ts export type StepContext = Omit & { output: unknown; }; @@ -274,7 +274,7 @@ export type StepContext = Omit & { `buildContextWithMeta` 还返回 `meta`: -```148:154:packages/workflow-util-agent/src/context.ts +```148:154:packages/util-agent/src/context.ts export type BuildContextMeta = { storageRoot: string; store: Store; @@ -327,7 +327,7 @@ agent 输出怎么被处理成结构化数据? Workflow YAML 中每个 role 的 `frontmatter:` 段是 JSON Schema 对象;注册时: -```66:76:packages/cli-workflow/src/commands/workflow.ts +```66:76:packages/cli/src/commands/workflow.ts async function resolveFrontmatterRef(..., frontmatter: unknown): Promise { // 校验为 JSON Schema → putSchema → 返回 CasRef } @@ -337,7 +337,7 @@ async function resolveFrontmatterRef(..., frontmatter: unknown): Promise #### Frontmatter fast-path(createAgent 实际使用的路径) -```148:195:packages/workflow-util-agent/src/frontmatter.ts +```148:195:packages/util-agent/src/frontmatter.ts export async function tryFrontmatterFastPath( raw: string, outputSchema: CasRef, @@ -357,7 +357,7 @@ export async function tryFrontmatterFastPath( #### LLM extract fallback(已实现但未接入 createAgent) -```135:181:packages/workflow-util-agent/src/extract.ts +```135:181:packages/util-agent/src/extract.ts export async function extract( rawOutput: string, outputSchema: CasRef, @@ -374,7 +374,7 @@ export async function extract( #### Correction prompt(retry) -```125:128:packages/workflow-util-agent/src/run.ts +```125:128:packages/util-agent/src/run.ts const correctionMessage = "Your previous response did not contain valid YAML frontmatter matching the role schema.\n" + "You MUST begin your response with a YAML frontmatter block (--- delimited).\n" + @@ -399,7 +399,7 @@ workflow 怎么配置和使用 model? #### WorkflowConfig -```136:160:packages/workflow-protocol/src/types.ts +```136:160:packages/protocol/src/types.ts export type ProviderConfig = { baseUrl: string; apiKey: string; @@ -425,7 +425,7 @@ export type WorkflowConfig = { #### resolveModel -```32:50:packages/workflow-util-agent/src/extract.ts +```32:50:packages/util-agent/src/extract.ts export function resolveModel(config: WorkflowConfig, alias: ModelAlias): ResolvedLlmProvider { const modelEntry = config.models[alias]; const providerEntry = config.providers[modelEntry.provider]; @@ -438,7 +438,7 @@ export function resolveModel(config: WorkflowConfig, alias: ModelAlias): Resolve Extract 专用别名解析: -```18:30:packages/workflow-util-agent/src/extract.ts +```18:30:packages/util-agent/src/extract.ts export function resolveExtractModelAlias(config: WorkflowConfig): ModelAlias { return config.modelOverrides?.extract ?? (config.models.extract ? "extract" : config.models.default ? "default" : config.defaultModel); } @@ -448,7 +448,7 @@ export function resolveExtractModelAlias(config: WorkflowConfig): ModelAlias { #### chatCompletionText -```87:124:packages/workflow-util-agent/src/extract.ts +```87:124:packages/util-agent/src/extract.ts async function chatCompletionText( provider: ResolvedLlmProvider, messages: Array<{ role: "system" | "user"; content: string }>, @@ -463,7 +463,7 @@ async function chatCompletionText( | 多模态 | **无**(仅 text `content`) | | Extract 专用 | `response_format: { type: "json_object" }` | -builtin agent 的 run loop 需要**新写**带 `tools` 的 completion 客户端(可放在 `workflow-agent-builtin` 或扩展 `workflow-util-agent` 的 `llm/` 模块),不能复用当前 `chatCompletionText` 而不改。 +builtin agent 的 run loop 需要**新写**带 `tools` 的 completion 客户端(可放在 `agent-builtin` 或扩展 `util-agent` 的 `llm/` 模块),不能复用当前 `chatCompletionText` 而不改。 --- @@ -481,7 +481,7 @@ builtin agent 的 run loop 需要**新写**带 `tools` 的 completion 客户端 #### Prompt 组装 -```40:53:packages/workflow-agent-hermes/src/hermes.ts +```40:53:packages/agent-hermes/src/hermes.ts export function buildHermesPrompt(ctx: AgentContext): string { const roleDef = ctx.workflow.roles[ctx.role]; const rolePrompt = roleDef !== undefined ? buildRolePrompt(roleDef) : ""; @@ -508,13 +508,13 @@ Hermes 把**整段 prompt 作为单条 user 消息**传给 `hermes chat -q`( 首次: -```88:97:packages/workflow-agent-hermes/src/hermes.ts +```88:97:packages/agent-hermes/src/hermes.ts spawnHermes(["chat", "-q", prompt, "--yolo", "--max-turns", "90", "--quiet"]); ``` 续聊: -```100:114:packages/workflow-agent-hermes/src/hermes.ts +```100:114:packages/agent-hermes/src/hermes.ts spawnHermes(["chat", "--resume", sessionId, "-q", message, "--yolo", "--max-turns", "90", "--quiet"]); ``` @@ -526,7 +526,7 @@ spawnHermes(["chat", "--resume", sessionId, "-q", message, "--yolo", "--max-turn #### 与 createAgent 的衔接 -```157:164:packages/workflow-agent-hermes/src/hermes.ts +```157:164:packages/agent-hermes/src/hermes.ts export function createHermesAgent(): () => Promise { return createAgent({ name: "hermes", run: runHermes, continue: continueHermes }); } @@ -534,7 +534,7 @@ export function createHermesAgent(): () => Promise { `uwf-hermes` 入口:`createHermesAgent()` 即 main。 -Claude Code 包(`workflow-agent-claude-code`)结构相同:`buildClaudeCodePrompt` 同构,`claude -p` + `--resume` + JSON stdout 解析。 +Claude Code 包(`agent-claude-code`)结构相同:`buildClaudeCodePrompt` 同构,`claude -p` + `--resume` + JSON stdout 解析。 --- @@ -591,7 +591,7 @@ Hermes 自带完整 agent runtime(`--yolo`、max-turns),tool 集由 Hermes ```mermaid flowchart TB - subgraph cli ["cli-workflow"] + subgraph cli ["cli"] Step["uwf thread step"] Spawn["spawnAgent(uwf-builtin, threadId, role)"] Step --> Spawn @@ -609,7 +609,7 @@ flowchart TB Loop --> Detail end - subgraph kit ["workflow-util-agent"] + subgraph kit ["util-agent"] Ctx["buildContextWithMeta"] FM["tryFrontmatterFastPath"] Persist["persistStep"] @@ -630,7 +630,7 @@ flowchart TB Spawn -->|"stdout: step hash"| Step ``` -**新包**:`packages/workflow-agent-builtin`,bin `uwf-builtin`,仅依赖 `workflow-util-agent`、`workflow-protocol`、`workflow-util`(可选 `@ocas/core` 写 detail schema)。 +**新包**:`packages/agent-builtin`,bin `uwf-builtin`,仅依赖 `util-agent`、`protocol`、`util`(可选 `@ocas/core` 写 detail schema)。 **分层**: diff --git a/docs/plans/2025-05-07-workflow-as-agent.md b/docs/plans/2025-05-07-workflow-as-agent.md index afa480b..04cc10d 100644 --- a/docs/plans/2025-05-07-workflow-as-agent.md +++ b/docs/plans/2025-05-07-workflow-as-agent.md @@ -43,7 +43,7 @@ Export from `packages/workflow/src/index.ts`. **Objective:** CLI `cas get/put/list/rm` no longer needs threadId for storage location — CAS is global. But keep threadId in CLI for backward compat of planner/coder prompts (they pass threadId). **Files:** -- Modify: `packages/cli-workflow/src/cmd-cas.ts` +- Modify: `packages/cli/src/cmd-cas.ts` **Changes:** - `resolveCasDir` → use `getGlobalCasDir(storageRoot)` instead of deriving from thread data path @@ -73,7 +73,7 @@ export async function cmdCasGet( **Objective:** Since CAS is global, `thread rm` should NOT delete CAS entries. CAS cleanup is GC's job. **Files:** -- Modify: `packages/cli-workflow/src/cmd-thread.ts` +- Modify: `packages/cli/src/cmd-thread.ts` - Check: remove any `rmdir` / `unlink` of `.cas/` directory ### Task 1.4: Rename `createThreadCas` → `createCasStore` @@ -90,7 +90,7 @@ export async function cmdCasGet( **Objective:** All CAS-related tests use global dir instead of thread-local. **Files:** -- Modify: `packages/cli-workflow/__tests__/commands.test.ts` +- Modify: `packages/cli/__tests__/commands.test.ts` - Verify: `bun test` passes ### Task 1.6: Clean up old thread-local `.cas/` references @@ -208,18 +208,18 @@ export async function garbageCollectCas(storageRoot: string): Promise ### Task 3.2: Add `uncaged-workflow gc` CLI command **Files:** -- Create: `packages/cli-workflow/src/cmd-gc.ts` -- Modify: `packages/cli-workflow/src/cli-dispatch.ts` — add `gc` subcommand +- Create: `packages/cli/src/cmd-gc.ts` +- Modify: `packages/cli/src/cli-dispatch.ts` — add `gc` subcommand ### Task 3.3: Run GC on `thread rm` **Files:** -- Modify: `packages/cli-workflow/src/cmd-thread.ts` — after deleting thread data, optionally run GC +- Modify: `packages/cli/src/cmd-thread.ts` — after deleting thread data, optionally run GC ### Task 3.4: Tests for GC **Files:** -- Create: `packages/cli-workflow/__tests__/gc-cli.test.ts` +- Create: `packages/cli/__tests__/gc-cli.test.ts` --- diff --git a/docs/plans/2026-05-09-cas-thread-storage.md b/docs/plans/2026-05-09-cas-thread-storage.md index 6369687..0017abf 100644 --- a/docs/plans/2026-05-09-cas-thread-storage.md +++ b/docs/plans/2026-05-09-cas-thread-storage.md @@ -253,10 +253,10 @@ Breaking change. Old `.data.jsonl` files become incompatible. No backward compat | Package | Changes | |---------|---------| -| `workflow-protocol` | Replace `StartStep`, `RoleStep` types with `StartNode`, `StateNode`. Add `ContentMerkleNode` type. Expand `ExtractResult` to include `refs[]`. | +| `protocol` | Replace `StartStep`, `RoleStep` types with `StartNode`, `StateNode`. Add `ContentMerkleNode` type. Expand `ExtractResult` to include `refs[]`. | | `workflow-cas` | Add `findReachableHashes(roots)` for GC mark phase | | `workflow-execute` | Rewrite engine to write CAS nodes + update `threads.json` instead of appending JSONL. Move completed threads to `history/`. Simplify `gc.ts`. Simplify `fork-thread.ts`. Expand extract phase to produce refs. | | `workflow-runtime` | `ThreadContext` built by walking chain from head. `start.prompt` resolved from CAS via StartNode.refs[0]. | -| `cli-workflow` | `thread list/show/rm` read from `threads.json` + `history/`. SSE watches `threads.json`. | -| `workflow-dashboard` | Watch `threads.json` instead of `.data.jsonl` | +| `cli` | `thread list/show/rm` read from `threads.json` + `history/`. SSE watches `threads.json`. | +| `dashboard` | Watch `threads.json` instead of `.data.jsonl` | | Templates & Agents | Update extract definitions to produce `refs[]`. Update `ctx.start.content` → CAS resolved. | diff --git a/docs/plans/2026-05-11-merkle-call-stack.md b/docs/plans/2026-05-11-merkle-call-stack.md index 953d14e..ba82e2d 100644 --- a/docs/plans/2026-05-11-merkle-call-stack.md +++ b/docs/plans/2026-05-11-merkle-call-stack.md @@ -145,7 +145,7 @@ STATE_D1(父 developer state) ### Phase 1: Protocol + CAS 层 -1. `workflow-protocol/src/cas-types.ts` — `StartNodePayload` 加 `parentState: string | null`,`StateNodePayload` 加 `childThread: string | null` +1. `protocol/src/cas-types.ts` — `StartNodePayload` 加 `parentState: string | null`,`StateNodePayload` 加 `childThread: string | null` 2. `workflow-cas/src/nodes.ts` — `putStartNode` 接受可选 `parentStateHash`,放入 refs;`putStateNode` 接受可选 `childThreadHash`,放入 refs 3. `workflow-cas/src/nodes.ts` — 解析逻辑兼容新字段(缺失时视为 null) diff --git a/docs/plans/2026-05-12-dashboard-workflow-graph.md b/docs/plans/2026-05-12-dashboard-workflow-graph.md index c58c0aa..c2afcb8 100644 --- a/docs/plans/2026-05-12-dashboard-workflow-graph.md +++ b/docs/plans/2026-05-12-dashboard-workflow-graph.md @@ -154,7 +154,7 @@ function getNodeStates(records: ThreadRecord[]): Map Promise; @@ -147,7 +147,7 @@ packages/workflow-agent-react/ ``` 依赖: -- `@uncaged/workflow-protocol` — `ThreadContext`, `LlmProvider` +- `@uncaged/protocol` — `ThreadContext`, `LlmProvider` - `@uncaged/workflow-reactor` — `createLlmFn`, `createThreadReactor`, types ## 影响范围 @@ -162,16 +162,16 @@ packages/workflow-agent-react/ ### 需修改的包 -1. `workflow-protocol` — 删除 `AgentContext`/`AgentFn`/`AgentFnResult`/`AgentBinding`,新增 `AdapterFn`/`RoleFn`/`AdapterBinding` +1. `protocol` — 删除 `AgentContext`/`AgentFn`/`AgentFnResult`/`AgentBinding`,新增 `AdapterFn`/`RoleFn`/`AdapterBinding` 2. `workflow-runtime` — 更新 re-export 3. `workflow-execute` — engine 调用 `adapter(prompt, schema)` 替代 `agent(ctx) + extract` -4. `workflow-util-agent` — `buildAgentPrompt` → `buildThreadInput`,接收 `ThreadContext` +4. `util-agent` — `buildAgentPrompt` → `buildThreadInput`,接收 `ThreadContext` 5. 所有 bundle-entry — `agent:` → `adapter:` ### 不受影响 -- `workflow-cas` / `workflow-register` / `workflow-reactor` / `workflow-dashboard` -- `workflow-agent-hermes` / `workflow-agent-cursor`(内部不改,外部用 `agentToAdapter` 包装) +- `workflow-cas` / `workflow-register` / `workflow-reactor` / `dashboard` +- `agent-hermes` / `workflow-agent-cursor`(内部不改,外部用 `agentToAdapter` 包装) ## Phases diff --git a/docs/superpowers/plans/2026-05-18-office-agent-document-template.md b/docs/superpowers/plans/2026-05-18-office-agent-document-template.md index c5df3bd..c09db04 100644 --- a/docs/superpowers/plans/2026-05-18-office-agent-document-template.md +++ b/docs/superpowers/plans/2026-05-18-office-agent-document-template.md @@ -96,7 +96,7 @@ "zod": "^4.0.0" }, "devDependencies": { - "@uncaged/workflow-protocol": "workspace:^" + "@uncaged/protocol": "workspace:^" }, "publishConfig": { "access": "public" @@ -116,7 +116,7 @@ }, "include": ["src/**/*.ts"], "references": [ - { "path": "../workflow-protocol" }, + { "path": "../protocol" }, { "path": "../workflow-runtime" }, { "path": "../workflow-register" } ] @@ -160,7 +160,7 @@ export {}; ```typescript // __tests__/document-template.test.ts import { describe, expect, test } from "bun:test"; -import { tableToModerator } from "@uncaged/workflow-protocol/moderator-table.js"; +import { tableToModerator } from "@uncaged/protocol/moderator-table.js"; import { validateWorkflowDescriptor } from "@uncaged/workflow-register"; import { END, type ModeratorContext, type RoleStep, START } from "@uncaged/workflow-runtime"; import { buildDocumentDescriptor } from "../src/descriptor.js"; @@ -497,8 +497,8 @@ git commit -m "feat(template): add workflow-template-document with writer/differ }, "dependencies": { "@uncaged/workflow-runtime": "workspace:^", - "@uncaged/workflow-util": "workspace:^", - "@uncaged/workflow-util-agent": "workspace:^" + "@uncaged/util": "workspace:^", + "@uncaged/util-agent": "workspace:^" }, "publishConfig": { "access": "public" @@ -518,10 +518,10 @@ git commit -m "feat(template): add workflow-template-document with writer/differ }, "include": ["src/**/*.ts"], "references": [ - { "path": "../workflow-protocol" }, + { "path": "../protocol" }, { "path": "../workflow-runtime" }, - { "path": "../workflow-util" }, - { "path": "../workflow-util-agent" } + { "path": "../util" }, + { "path": "../util-agent" } ] } ``` @@ -555,11 +555,11 @@ import { mkdirSync, writeFileSync } from "node:fs"; import { join } from "node:path"; import { tmpdir } from "node:os"; import { describe, expect, mock, test } from "bun:test"; -import { ok, err } from "@uncaged/workflow-util"; -import type { SpawnCliConfig } from "@uncaged/workflow-util-agent"; +import { ok, err } from "@uncaged/util"; +import type { SpawnCliConfig } from "@uncaged/util-agent"; import { editDocument, generateDocument } from "../src/runner.js"; -type MockSpawnResult = Awaited>; +type MockSpawnResult = Awaited>; function makeSpawn(result: MockSpawnResult) { return mock(async (_cmd: string, _args: string[], _opts: SpawnCliConfig) => result); @@ -705,7 +705,7 @@ export type OfficeAgentConfig = { ```typescript import { copyFile, mkdir, stat } from "node:fs/promises"; import { join } from "node:path"; -import { spawnCli } from "@uncaged/workflow-util-agent"; +import { spawnCli } from "@uncaged/util-agent"; import type { OfficeAgentConfig } from "./types.js"; type SpawnCliFn = typeof spawnCli; @@ -769,9 +769,9 @@ export async function editDocument( } ``` -> **注意**:`throwSpawnError` 的参数类型可以简化为 `import type { SpawnCliError } from "@uncaged/workflow-util-agent"` 直接 import,避免复杂类型推导。把 `throwSpawnError` 的签名改成: +> **注意**:`throwSpawnError` 的参数类型可以简化为 `import type { SpawnCliError } from "@uncaged/util-agent"` 直接 import,避免复杂类型推导。把 `throwSpawnError` 的签名改成: > ```typescript -> import type { SpawnCliError } from "@uncaged/workflow-util-agent"; +> import type { SpawnCliError } from "@uncaged/util-agent"; > function throwSpawnError(e: SpawnCliError): never { ... } > ``` @@ -839,7 +839,7 @@ Expected:`Cannot find module '../src/agent.js'` import * as z from "zod/v4"; import { join } from "node:path"; import type { AdapterFn, RoleResult, ThreadContext, WorkflowRuntime } from "@uncaged/workflow-runtime"; -import { createLogger } from "@uncaged/workflow-util"; +import { createLogger } from "@uncaged/util"; import { editDocument, generateDocument } from "./runner.js"; import type { OfficeAgentConfig } from "./types.js"; @@ -976,7 +976,7 @@ git commit -m "feat(agent): add workflow-agent-office with generate/edit Adapter }, "dependencies": { "@uncaged/workflow-runtime": "workspace:^", - "@uncaged/workflow-util-agent": "workspace:^", + "@uncaged/util-agent": "workspace:^", "@uncaged/workflow-template-document": "workspace:^" }, "publishConfig": { @@ -997,9 +997,9 @@ git commit -m "feat(agent): add workflow-agent-office with generate/edit Adapter }, "include": ["src/**/*.ts"], "references": [ - { "path": "../workflow-protocol" }, + { "path": "../protocol" }, { "path": "../workflow-runtime" }, - { "path": "../workflow-util-agent" }, + { "path": "../util-agent" }, { "path": "../workflow-template-document" } ] } @@ -1034,11 +1034,11 @@ import { mkdirSync, writeFileSync } from "node:fs"; import { join } from "node:path"; import { tmpdir } from "node:os"; import { describe, expect, mock, test } from "bun:test"; -import { ok, err } from "@uncaged/workflow-util"; -import type { SpawnCliConfig } from "@uncaged/workflow-util-agent"; +import { ok, err } from "@uncaged/util"; +import type { SpawnCliConfig } from "@uncaged/util-agent"; import { runDocxDiff } from "../src/runner.js"; -type MockSpawnResult = Awaited>; +type MockSpawnResult = Awaited>; function makeSpawn(result: MockSpawnResult) { return mock(async (_cmd: string, _args: string[], _opts: SpawnCliConfig) => result); @@ -1165,8 +1165,8 @@ export type DocxDiffAgentConfig = { ```typescript import { stat } from "node:fs/promises"; -import { spawnCli } from "@uncaged/workflow-util-agent"; -import type { SpawnCliError } from "@uncaged/workflow-util-agent"; +import { spawnCli } from "@uncaged/util-agent"; +import type { SpawnCliError } from "@uncaged/util-agent"; import type { DocxDiffAgentConfig } from "./types.js"; type SpawnCliFn = typeof spawnCli; @@ -1365,7 +1365,7 @@ git commit -m "feat(agent): add workflow-agent-docx-diff with docx-diff AdapterF - [ ] **Step 1:在 architecture.md 的 Package map 表格中补充三个包** -在 `Agent adapters` 分组下(`workflow-agent-hermes` 行之后)追加: +在 `Agent adapters` 分组下(`agent-hermes` 行之后)追加: ```markdown | | `@uncaged/workflow-agent-office` → `workflow-agent-office` | `AdapterFn` via `office-agent` CLI; generates or edits Word documents, stores outputs per threadId. | diff --git a/docs/superpowers/specs/2026-05-18-office-agent-document-template.md b/docs/superpowers/specs/2026-05-18-office-agent-document-template.md index 05f6ffd..6a5a32c 100644 --- a/docs/superpowers/specs/2026-05-18-office-agent-document-template.md +++ b/docs/superpowers/specs/2026-05-18-office-agent-document-template.md @@ -107,7 +107,7 @@ packages/workflow-template-document/ ```json { - "@uncaged/workflow-protocol": "workspace:^", + "@uncaged/protocol": "workspace:^", "@uncaged/workflow-runtime": "workspace:^", "@uncaged/workflow-register": "workspace:^", "zod": "^4.0.0" @@ -246,9 +246,9 @@ packages/workflow-agent-office/ ```json { - "@uncaged/workflow-protocol": "workspace:^", - "@uncaged/workflow-util": "workspace:^", - "@uncaged/workflow-util-agent": "workspace:^" + "@uncaged/protocol": "workspace:^", + "@uncaged/util": "workspace:^", + "@uncaged/util-agent": "workspace:^" } ``` @@ -347,8 +347,8 @@ packages/workflow-agent-docx-diff/ ```json { - "@uncaged/workflow-protocol": "workspace:^", - "@uncaged/workflow-util-agent": "workspace:^", + "@uncaged/protocol": "workspace:^", + "@uncaged/util-agent": "workspace:^", "@uncaged/workflow-template-document": "workspace:^" } ``` @@ -365,7 +365,7 @@ import { documentWorkflowDefinition, } from "@uncaged/workflow-template-document"; import { createWorkflow } from "@uncaged/workflow-runtime"; -import { getDefaultWorkflowStorageRoot } from "@uncaged/workflow-util"; +import { getDefaultWorkflowStorageRoot } from "@uncaged/util"; import { join } from "node:path"; const outputDir = join(getDefaultWorkflowStorageRoot(), "outputs"); diff --git a/docs/sync-readme.md b/docs/sync-readme.md index e807006..e70b6d9 100644 --- a/docs/sync-readme.md +++ b/docs/sync-readme.md @@ -16,7 +16,7 @@ The root README should have these sections in order: 3. **Architecture** — dependency layer diagram (text-based) 4. **Packages** — table with ALL packages from packages/ directory, columns: Package, Description, Type (cli/lib/agent/app) 5. **Quick Start** — install, build, register workflow, start thread, run step -6. **CLI Reference** — brief command list, detailed usage in cli-workflow README +6. **CLI Reference** — brief command list, detailed usage in cli README 7. **Development** — bun install / build / check / test ## Per-Package README Structure diff --git a/docs/wf-stateless-design.md b/docs/wf-stateless-design.md index 278a7c5..962fed6 100644 --- a/docs/wf-stateless-design.md +++ b/docs/wf-stateless-design.md @@ -341,11 +341,11 @@ OPENROUTER_API_KEY=sk-or-... ``` packages/ -├── cli-workflow/ # @united-workforce/cli — uwf CLI(thread/workflow 命令,含 src/moderator/) -├── workflow-util-agent/ # @united-workforce/util-agent — Agent CLI 框架(含 extractor) -├── workflow-agent-hermes/ # @united-workforce/agent-hermes — uwf-hermes CLI +├── cli/ # @united-workforce/cli — uwf CLI(thread/workflow 命令,含 src/moderator/) +├── util-agent/ # @united-workforce/util-agent — Agent CLI 框架(含 extractor) +├── agent-hermes/ # @united-workforce/agent-hermes — uwf-hermes CLI ├── workflow-agent-cursor/ # @united-workforce/agent-cursor — uwf-cursor CLI -└── workflow-protocol/ # @united-workforce/protocol — 共享类型定义 +└── protocol/ # @united-workforce/protocol — 共享类型定义 ``` **外部依赖:** diff --git a/package.json b/package.json index 9f26849..c26c8d1 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "packages/*" ], "scripts": { - "uwf": "bun packages/cli-workflow/src/cli.ts", + "uwf": "bun packages/cli/src/cli.ts", "preinstall": "npx only-allow bun", "prepublishOnly": "echo 'Use bun run release instead' && exit 1", "build": "bunx tsc --build", diff --git a/packages/workflow-agent-builtin/README.md b/packages/agent-builtin/README.md similarity index 100% rename from packages/workflow-agent-builtin/README.md rename to packages/agent-builtin/README.md diff --git a/packages/workflow-agent-builtin/__tests__/llm-parse.test.ts b/packages/agent-builtin/__tests__/llm-parse.test.ts similarity index 100% rename from packages/workflow-agent-builtin/__tests__/llm-parse.test.ts rename to packages/agent-builtin/__tests__/llm-parse.test.ts diff --git a/packages/workflow-agent-builtin/__tests__/loop.test.ts b/packages/agent-builtin/__tests__/loop.test.ts similarity index 100% rename from packages/workflow-agent-builtin/__tests__/loop.test.ts rename to packages/agent-builtin/__tests__/loop.test.ts diff --git a/packages/workflow-agent-builtin/__tests__/path.test.ts b/packages/agent-builtin/__tests__/path.test.ts similarity index 100% rename from packages/workflow-agent-builtin/__tests__/path.test.ts rename to packages/agent-builtin/__tests__/path.test.ts diff --git a/packages/workflow-agent-builtin/__tests__/prompt.test.ts b/packages/agent-builtin/__tests__/prompt.test.ts similarity index 100% rename from packages/workflow-agent-builtin/__tests__/prompt.test.ts rename to packages/agent-builtin/__tests__/prompt.test.ts diff --git a/packages/workflow-agent-builtin/package.json b/packages/agent-builtin/package.json similarity index 95% rename from packages/workflow-agent-builtin/package.json rename to packages/agent-builtin/package.json index 6cd40a4..384f6f2 100644 --- a/packages/workflow-agent-builtin/package.json +++ b/packages/agent-builtin/package.json @@ -36,7 +36,7 @@ "repository": { "type": "git", "url": "https://git.shazhou.work/uncaged/workflow.git", - "directory": "packages/workflow-agent-builtin" + "directory": "packages/agent-builtin" }, "homepage": "https://git.shazhou.work/uncaged/workflow#readme", "bugs": { diff --git a/packages/workflow-agent-builtin/src/agent.ts b/packages/agent-builtin/src/agent.ts similarity index 100% rename from packages/workflow-agent-builtin/src/agent.ts rename to packages/agent-builtin/src/agent.ts diff --git a/packages/workflow-agent-builtin/src/cli.ts b/packages/agent-builtin/src/cli.ts similarity index 100% rename from packages/workflow-agent-builtin/src/cli.ts rename to packages/agent-builtin/src/cli.ts diff --git a/packages/workflow-agent-builtin/src/detail.ts b/packages/agent-builtin/src/detail.ts similarity index 100% rename from packages/workflow-agent-builtin/src/detail.ts rename to packages/agent-builtin/src/detail.ts diff --git a/packages/workflow-agent-builtin/src/index.ts b/packages/agent-builtin/src/index.ts similarity index 100% rename from packages/workflow-agent-builtin/src/index.ts rename to packages/agent-builtin/src/index.ts diff --git a/packages/workflow-agent-builtin/src/llm/index.ts b/packages/agent-builtin/src/llm/index.ts similarity index 100% rename from packages/workflow-agent-builtin/src/llm/index.ts rename to packages/agent-builtin/src/llm/index.ts diff --git a/packages/workflow-agent-builtin/src/llm/llm.ts b/packages/agent-builtin/src/llm/llm.ts similarity index 100% rename from packages/workflow-agent-builtin/src/llm/llm.ts rename to packages/agent-builtin/src/llm/llm.ts diff --git a/packages/workflow-agent-builtin/src/llm/types.ts b/packages/agent-builtin/src/llm/types.ts similarity index 100% rename from packages/workflow-agent-builtin/src/llm/types.ts rename to packages/agent-builtin/src/llm/types.ts diff --git a/packages/workflow-agent-builtin/src/loop.ts b/packages/agent-builtin/src/loop.ts similarity index 100% rename from packages/workflow-agent-builtin/src/loop.ts rename to packages/agent-builtin/src/loop.ts diff --git a/packages/workflow-agent-builtin/src/prompt.ts b/packages/agent-builtin/src/prompt.ts similarity index 100% rename from packages/workflow-agent-builtin/src/prompt.ts rename to packages/agent-builtin/src/prompt.ts diff --git a/packages/workflow-agent-builtin/src/schemas.ts b/packages/agent-builtin/src/schemas.ts similarity index 100% rename from packages/workflow-agent-builtin/src/schemas.ts rename to packages/agent-builtin/src/schemas.ts diff --git a/packages/workflow-agent-builtin/src/session.ts b/packages/agent-builtin/src/session.ts similarity index 100% rename from packages/workflow-agent-builtin/src/session.ts rename to packages/agent-builtin/src/session.ts diff --git a/packages/workflow-agent-builtin/src/tools/index.ts b/packages/agent-builtin/src/tools/index.ts similarity index 100% rename from packages/workflow-agent-builtin/src/tools/index.ts rename to packages/agent-builtin/src/tools/index.ts diff --git a/packages/workflow-agent-builtin/src/tools/path.ts b/packages/agent-builtin/src/tools/path.ts similarity index 100% rename from packages/workflow-agent-builtin/src/tools/path.ts rename to packages/agent-builtin/src/tools/path.ts diff --git a/packages/workflow-agent-builtin/src/tools/read-file.ts b/packages/agent-builtin/src/tools/read-file.ts similarity index 100% rename from packages/workflow-agent-builtin/src/tools/read-file.ts rename to packages/agent-builtin/src/tools/read-file.ts diff --git a/packages/workflow-agent-builtin/src/tools/run-command.ts b/packages/agent-builtin/src/tools/run-command.ts similarity index 100% rename from packages/workflow-agent-builtin/src/tools/run-command.ts rename to packages/agent-builtin/src/tools/run-command.ts diff --git a/packages/workflow-agent-builtin/src/tools/types.ts b/packages/agent-builtin/src/tools/types.ts similarity index 100% rename from packages/workflow-agent-builtin/src/tools/types.ts rename to packages/agent-builtin/src/tools/types.ts diff --git a/packages/workflow-agent-builtin/src/tools/write-file.ts b/packages/agent-builtin/src/tools/write-file.ts similarity index 100% rename from packages/workflow-agent-builtin/src/tools/write-file.ts rename to packages/agent-builtin/src/tools/write-file.ts diff --git a/packages/workflow-agent-builtin/src/types.ts b/packages/agent-builtin/src/types.ts similarity index 100% rename from packages/workflow-agent-builtin/src/types.ts rename to packages/agent-builtin/src/types.ts diff --git a/packages/workflow-util-agent/tsconfig.json b/packages/agent-builtin/tsconfig.json similarity index 61% rename from packages/workflow-util-agent/tsconfig.json rename to packages/agent-builtin/tsconfig.json index 27c4bed..b82a166 100644 --- a/packages/workflow-util-agent/tsconfig.json +++ b/packages/agent-builtin/tsconfig.json @@ -5,5 +5,5 @@ "outDir": "dist" }, "include": ["src"], - "references": [{ "path": "../workflow-protocol" }, { "path": "../workflow-util" }] + "references": [{ "path": "../util-agent" }, { "path": "../util" }] } diff --git a/packages/workflow-agent-claude-code/README.md b/packages/agent-claude-code/README.md similarity index 100% rename from packages/workflow-agent-claude-code/README.md rename to packages/agent-claude-code/README.md diff --git a/packages/workflow-agent-claude-code/__tests__/claude-code.test.ts b/packages/agent-claude-code/__tests__/claude-code.test.ts similarity index 100% rename from packages/workflow-agent-claude-code/__tests__/claude-code.test.ts rename to packages/agent-claude-code/__tests__/claude-code.test.ts diff --git a/packages/workflow-agent-claude-code/__tests__/session-detail.test.ts b/packages/agent-claude-code/__tests__/session-detail.test.ts similarity index 100% rename from packages/workflow-agent-claude-code/__tests__/session-detail.test.ts rename to packages/agent-claude-code/__tests__/session-detail.test.ts diff --git a/packages/workflow-agent-claude-code/package.json b/packages/agent-claude-code/package.json similarity index 94% rename from packages/workflow-agent-claude-code/package.json rename to packages/agent-claude-code/package.json index ff78f8e..d9df03d 100644 --- a/packages/workflow-agent-claude-code/package.json +++ b/packages/agent-claude-code/package.json @@ -36,7 +36,7 @@ "repository": { "type": "git", "url": "https://git.shazhou.work/uncaged/workflow.git", - "directory": "packages/workflow-agent-claude-code" + "directory": "packages/agent-claude-code" }, "homepage": "https://git.shazhou.work/uncaged/workflow#readme", "bugs": { diff --git a/packages/workflow-agent-claude-code/src/claude-code.ts b/packages/agent-claude-code/src/claude-code.ts similarity index 100% rename from packages/workflow-agent-claude-code/src/claude-code.ts rename to packages/agent-claude-code/src/claude-code.ts diff --git a/packages/workflow-agent-claude-code/src/cli.ts b/packages/agent-claude-code/src/cli.ts similarity index 100% rename from packages/workflow-agent-claude-code/src/cli.ts rename to packages/agent-claude-code/src/cli.ts diff --git a/packages/workflow-agent-claude-code/src/index.ts b/packages/agent-claude-code/src/index.ts similarity index 100% rename from packages/workflow-agent-claude-code/src/index.ts rename to packages/agent-claude-code/src/index.ts diff --git a/packages/workflow-agent-claude-code/src/schemas.ts b/packages/agent-claude-code/src/schemas.ts similarity index 100% rename from packages/workflow-agent-claude-code/src/schemas.ts rename to packages/agent-claude-code/src/schemas.ts diff --git a/packages/workflow-agent-claude-code/src/session-detail.ts b/packages/agent-claude-code/src/session-detail.ts similarity index 100% rename from packages/workflow-agent-claude-code/src/session-detail.ts rename to packages/agent-claude-code/src/session-detail.ts diff --git a/packages/workflow-agent-claude-code/src/types.ts b/packages/agent-claude-code/src/types.ts similarity index 100% rename from packages/workflow-agent-claude-code/src/types.ts rename to packages/agent-claude-code/src/types.ts diff --git a/packages/workflow-agent-claude-code/tsconfig.json b/packages/agent-claude-code/tsconfig.json similarity index 69% rename from packages/workflow-agent-claude-code/tsconfig.json rename to packages/agent-claude-code/tsconfig.json index 30bdbfb..7aa6c57 100644 --- a/packages/workflow-agent-claude-code/tsconfig.json +++ b/packages/agent-claude-code/tsconfig.json @@ -2,5 +2,5 @@ "extends": "../../tsconfig.json", "compilerOptions": { "rootDir": "src", "outDir": "dist" }, "include": ["src"], - "references": [{ "path": "../workflow-util-agent" }] + "references": [{ "path": "../util-agent" }] } diff --git a/packages/workflow-agent-hermes/README.md b/packages/agent-hermes/README.md similarity index 100% rename from packages/workflow-agent-hermes/README.md rename to packages/agent-hermes/README.md diff --git a/packages/workflow-agent-hermes/__tests__/acp-client.test.ts b/packages/agent-hermes/__tests__/acp-client.test.ts similarity index 100% rename from packages/workflow-agent-hermes/__tests__/acp-client.test.ts rename to packages/agent-hermes/__tests__/acp-client.test.ts diff --git a/packages/workflow-agent-hermes/__tests__/hermes-prompt.test.ts b/packages/agent-hermes/__tests__/hermes-prompt.test.ts similarity index 100% rename from packages/workflow-agent-hermes/__tests__/hermes-prompt.test.ts rename to packages/agent-hermes/__tests__/hermes-prompt.test.ts diff --git a/packages/workflow-agent-hermes/__tests__/integration/acp-client.integration.test.ts b/packages/agent-hermes/__tests__/integration/acp-client.integration.test.ts similarity index 100% rename from packages/workflow-agent-hermes/__tests__/integration/acp-client.integration.test.ts rename to packages/agent-hermes/__tests__/integration/acp-client.integration.test.ts diff --git a/packages/workflow-agent-hermes/__tests__/integration/resume-e2e.integration.test.ts b/packages/agent-hermes/__tests__/integration/resume-e2e.integration.test.ts similarity index 100% rename from packages/workflow-agent-hermes/__tests__/integration/resume-e2e.integration.test.ts rename to packages/agent-hermes/__tests__/integration/resume-e2e.integration.test.ts diff --git a/packages/workflow-agent-hermes/__tests__/issue-551.test.ts b/packages/agent-hermes/__tests__/issue-551.test.ts similarity index 100% rename from packages/workflow-agent-hermes/__tests__/issue-551.test.ts rename to packages/agent-hermes/__tests__/issue-551.test.ts diff --git a/packages/workflow-agent-hermes/__tests__/session-detail.test.ts b/packages/agent-hermes/__tests__/session-detail.test.ts similarity index 100% rename from packages/workflow-agent-hermes/__tests__/session-detail.test.ts rename to packages/agent-hermes/__tests__/session-detail.test.ts diff --git a/packages/workflow-agent-hermes/package.json b/packages/agent-hermes/package.json similarity index 95% rename from packages/workflow-agent-hermes/package.json rename to packages/agent-hermes/package.json index eef869b..2b8743e 100644 --- a/packages/workflow-agent-hermes/package.json +++ b/packages/agent-hermes/package.json @@ -37,7 +37,7 @@ "repository": { "type": "git", "url": "https://git.shazhou.work/uncaged/workflow.git", - "directory": "packages/workflow-agent-hermes" + "directory": "packages/agent-hermes" }, "homepage": "https://git.shazhou.work/uncaged/workflow#readme", "bugs": { diff --git a/packages/workflow-agent-hermes/src/acp-client.ts b/packages/agent-hermes/src/acp-client.ts similarity index 100% rename from packages/workflow-agent-hermes/src/acp-client.ts rename to packages/agent-hermes/src/acp-client.ts diff --git a/packages/workflow-agent-hermes/src/cli.ts b/packages/agent-hermes/src/cli.ts similarity index 100% rename from packages/workflow-agent-hermes/src/cli.ts rename to packages/agent-hermes/src/cli.ts diff --git a/packages/workflow-agent-hermes/src/hermes.ts b/packages/agent-hermes/src/hermes.ts similarity index 100% rename from packages/workflow-agent-hermes/src/hermes.ts rename to packages/agent-hermes/src/hermes.ts diff --git a/packages/workflow-agent-hermes/src/index.ts b/packages/agent-hermes/src/index.ts similarity index 100% rename from packages/workflow-agent-hermes/src/index.ts rename to packages/agent-hermes/src/index.ts diff --git a/packages/workflow-agent-hermes/src/schemas.ts b/packages/agent-hermes/src/schemas.ts similarity index 100% rename from packages/workflow-agent-hermes/src/schemas.ts rename to packages/agent-hermes/src/schemas.ts diff --git a/packages/workflow-agent-hermes/src/session-cache.ts b/packages/agent-hermes/src/session-cache.ts similarity index 100% rename from packages/workflow-agent-hermes/src/session-cache.ts rename to packages/agent-hermes/src/session-cache.ts diff --git a/packages/workflow-agent-hermes/src/session-detail.ts b/packages/agent-hermes/src/session-detail.ts similarity index 100% rename from packages/workflow-agent-hermes/src/session-detail.ts rename to packages/agent-hermes/src/session-detail.ts diff --git a/packages/workflow-agent-hermes/src/types.ts b/packages/agent-hermes/src/types.ts similarity index 100% rename from packages/workflow-agent-hermes/src/types.ts rename to packages/agent-hermes/src/types.ts diff --git a/packages/workflow-agent-hermes/tsconfig.json b/packages/agent-hermes/tsconfig.json similarity index 70% rename from packages/workflow-agent-hermes/tsconfig.json rename to packages/agent-hermes/tsconfig.json index 55a2878..91ce95d 100644 --- a/packages/workflow-agent-hermes/tsconfig.json +++ b/packages/agent-hermes/tsconfig.json @@ -5,5 +5,5 @@ "outDir": "dist" }, "include": ["src"], - "references": [{ "path": "../workflow-util-agent" }] + "references": [{ "path": "../util-agent" }] } diff --git a/packages/cli-workflow/README.md b/packages/cli/README.md similarity index 99% rename from packages/cli-workflow/README.md rename to packages/cli/README.md index ec765cf..4b64ec3 100644 --- a/packages/cli-workflow/README.md +++ b/packages/cli/README.md @@ -29,7 +29,7 @@ Included as the `uwf` binary when you install `@united-workforce/cli`: ```bash bun add -g @united-workforce/cli # or from the monorepo: -bun link packages/cli-workflow +bun link packages/cli ``` ## CLI Usage diff --git a/packages/cli-workflow/package.json b/packages/cli/package.json similarity index 96% rename from packages/cli-workflow/package.json rename to packages/cli/package.json index d750423..395208c 100644 --- a/packages/cli-workflow/package.json +++ b/packages/cli/package.json @@ -35,7 +35,7 @@ "repository": { "type": "git", "url": "https://git.shazhou.work/uncaged/workflow.git", - "directory": "packages/cli-workflow" + "directory": "packages/cli" }, "homepage": "https://git.shazhou.work/uncaged/workflow#readme", "bugs": { diff --git a/packages/cli-workflow/src/__tests__/adapter-json-roundtrip.test.ts b/packages/cli/src/__tests__/adapter-json-roundtrip.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/adapter-json-roundtrip.test.ts rename to packages/cli/src/__tests__/adapter-json-roundtrip.test.ts diff --git a/packages/cli-workflow/src/__tests__/config.test.ts b/packages/cli/src/__tests__/config.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/config.test.ts rename to packages/cli/src/__tests__/config.test.ts diff --git a/packages/cli-workflow/src/__tests__/current-role.test.ts b/packages/cli/src/__tests__/current-role.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/current-role.test.ts rename to packages/cli/src/__tests__/current-role.test.ts diff --git a/packages/cli-workflow/src/__tests__/include-tag.test.ts b/packages/cli/src/__tests__/include-tag.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/include-tag.test.ts rename to packages/cli/src/__tests__/include-tag.test.ts diff --git a/packages/cli-workflow/src/__tests__/log.test.ts b/packages/cli/src/__tests__/log.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/log.test.ts rename to packages/cli/src/__tests__/log.test.ts diff --git a/packages/cli-workflow/src/__tests__/moderator-evaluate.test.ts b/packages/cli/src/__tests__/moderator-evaluate.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/moderator-evaluate.test.ts rename to packages/cli/src/__tests__/moderator-evaluate.test.ts diff --git a/packages/cli-workflow/src/__tests__/preload.ts b/packages/cli/src/__tests__/preload.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/preload.ts rename to packages/cli/src/__tests__/preload.ts diff --git a/packages/cli-workflow/src/__tests__/prompt.test.ts b/packages/cli/src/__tests__/prompt.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/prompt.test.ts rename to packages/cli/src/__tests__/prompt.test.ts diff --git a/packages/cli-workflow/src/__tests__/resolve-head-hash.test.ts b/packages/cli/src/__tests__/resolve-head-hash.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/resolve-head-hash.test.ts rename to packages/cli/src/__tests__/resolve-head-hash.test.ts diff --git a/packages/cli-workflow/src/__tests__/setup-agent-discovery.test.ts b/packages/cli/src/__tests__/setup-agent-discovery.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/setup-agent-discovery.test.ts rename to packages/cli/src/__tests__/setup-agent-discovery.test.ts diff --git a/packages/cli-workflow/src/__tests__/setup-complexity.test.ts b/packages/cli/src/__tests__/setup-complexity.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/setup-complexity.test.ts rename to packages/cli/src/__tests__/setup-complexity.test.ts diff --git a/packages/cli-workflow/src/__tests__/setup-validate.test.ts b/packages/cli/src/__tests__/setup-validate.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/setup-validate.test.ts rename to packages/cli/src/__tests__/setup-validate.test.ts diff --git a/packages/cli-workflow/src/__tests__/solve-issue-tea-worktree.test.ts b/packages/cli/src/__tests__/solve-issue-tea-worktree.test.ts similarity index 98% rename from packages/cli-workflow/src/__tests__/solve-issue-tea-worktree.test.ts rename to packages/cli/src/__tests__/solve-issue-tea-worktree.test.ts index 0c17462..23b592e 100644 --- a/packages/cli-workflow/src/__tests__/solve-issue-tea-worktree.test.ts +++ b/packages/cli/src/__tests__/solve-issue-tea-worktree.test.ts @@ -13,7 +13,7 @@ import { parse } from "yaml"; */ describe("solve-issue workflow: Gitea API PR creation", () => { - // Navigate up from packages/cli-workflow/src/__tests__ to repo root + // Navigate up from packages/cli/src/__tests__ to repo root const workflowPath = join( import.meta.dirname, "..", diff --git a/packages/cli-workflow/src/__tests__/spawn-agent-json.test.ts b/packages/cli/src/__tests__/spawn-agent-json.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/spawn-agent-json.test.ts rename to packages/cli/src/__tests__/spawn-agent-json.test.ts diff --git a/packages/cli-workflow/src/__tests__/step-read.test.ts b/packages/cli/src/__tests__/step-read.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/step-read.test.ts rename to packages/cli/src/__tests__/step-read.test.ts diff --git a/packages/cli-workflow/src/__tests__/step-show-json.test.ts b/packages/cli/src/__tests__/step-show-json.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/step-show-json.test.ts rename to packages/cli/src/__tests__/step-show-json.test.ts diff --git a/packages/cli-workflow/src/__tests__/step-timing.test.ts b/packages/cli/src/__tests__/step-timing.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/step-timing.test.ts rename to packages/cli/src/__tests__/step-timing.test.ts diff --git a/packages/cli-workflow/src/__tests__/store-global-cas.test.ts b/packages/cli/src/__tests__/store-global-cas.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/store-global-cas.test.ts rename to packages/cli/src/__tests__/store-global-cas.test.ts diff --git a/packages/cli-workflow/src/__tests__/store-storage-root.test.ts b/packages/cli/src/__tests__/store-storage-root.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/store-storage-root.test.ts rename to packages/cli/src/__tests__/store-storage-root.test.ts diff --git a/packages/cli-workflow/src/__tests__/thread-cancel-status.test.ts b/packages/cli/src/__tests__/thread-cancel-status.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/thread-cancel-status.test.ts rename to packages/cli/src/__tests__/thread-cancel-status.test.ts diff --git a/packages/cli-workflow/src/__tests__/thread-list-filters.test.ts b/packages/cli/src/__tests__/thread-list-filters.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/thread-list-filters.test.ts rename to packages/cli/src/__tests__/thread-list-filters.test.ts diff --git a/packages/cli-workflow/src/__tests__/thread-location.test.ts b/packages/cli/src/__tests__/thread-location.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/thread-location.test.ts rename to packages/cli/src/__tests__/thread-location.test.ts diff --git a/packages/cli-workflow/src/__tests__/thread-read-quota.test.ts b/packages/cli/src/__tests__/thread-read-quota.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/thread-read-quota.test.ts rename to packages/cli/src/__tests__/thread-read-quota.test.ts diff --git a/packages/cli-workflow/src/__tests__/thread-read-xml-tags.test.ts b/packages/cli/src/__tests__/thread-read-xml-tags.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/thread-read-xml-tags.test.ts rename to packages/cli/src/__tests__/thread-read-xml-tags.test.ts diff --git a/packages/cli-workflow/src/__tests__/thread-resume.test.ts b/packages/cli/src/__tests__/thread-resume.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/thread-resume.test.ts rename to packages/cli/src/__tests__/thread-resume.test.ts diff --git a/packages/cli-workflow/src/__tests__/thread-show-status.test.ts b/packages/cli/src/__tests__/thread-show-status.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/thread-show-status.test.ts rename to packages/cli/src/__tests__/thread-show-status.test.ts diff --git a/packages/cli-workflow/src/__tests__/thread-start-cwd-cli.test.ts b/packages/cli/src/__tests__/thread-start-cwd-cli.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/thread-start-cwd-cli.test.ts rename to packages/cli/src/__tests__/thread-start-cwd-cli.test.ts diff --git a/packages/cli-workflow/src/__tests__/thread-step-count.test.ts b/packages/cli/src/__tests__/thread-step-count.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/thread-step-count.test.ts rename to packages/cli/src/__tests__/thread-step-count.test.ts diff --git a/packages/cli-workflow/src/__tests__/thread-suspend-step.test.ts b/packages/cli/src/__tests__/thread-suspend-step.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/thread-suspend-step.test.ts rename to packages/cli/src/__tests__/thread-suspend-step.test.ts diff --git a/packages/cli-workflow/src/__tests__/thread-suspended-display.test.ts b/packages/cli/src/__tests__/thread-suspended-display.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/thread-suspended-display.test.ts rename to packages/cli/src/__tests__/thread-suspended-display.test.ts diff --git a/packages/cli-workflow/src/__tests__/thread-test-helpers.ts b/packages/cli/src/__tests__/thread-test-helpers.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/thread-test-helpers.ts rename to packages/cli/src/__tests__/thread-test-helpers.ts diff --git a/packages/cli-workflow/src/__tests__/thread.test.ts b/packages/cli/src/__tests__/thread.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/thread.test.ts rename to packages/cli/src/__tests__/thread.test.ts diff --git a/packages/cli-workflow/src/__tests__/validate-semantic.test.ts b/packages/cli/src/__tests__/validate-semantic.test.ts similarity index 100% rename from packages/cli-workflow/src/__tests__/validate-semantic.test.ts rename to packages/cli/src/__tests__/validate-semantic.test.ts diff --git a/packages/cli-workflow/src/__tests__/workflow-resolution.test.ts b/packages/cli/src/__tests__/workflow-resolution.test.ts similarity index 99% rename from packages/cli-workflow/src/__tests__/workflow-resolution.test.ts rename to packages/cli/src/__tests__/workflow-resolution.test.ts index aa9ea1f..873f8b3 100644 --- a/packages/cli-workflow/src/__tests__/workflow-resolution.test.ts +++ b/packages/cli/src/__tests__/workflow-resolution.test.ts @@ -200,7 +200,7 @@ describe("Strategy 3: Local Discovery", () => { await mkdir(workflowDir, { recursive: true }); await writeFile(join(workflowDir, "solve-issue.yaml"), await createWorkflowYaml("solve-issue")); - const subdir = join(projectRoot, "packages", "cli-workflow", "src"); + const subdir = join(projectRoot, "packages", "cli", "src"); await mkdir(subdir, { recursive: true }); const result = await cmdThreadStart(storageRoot, "solve-issue", "prompt", subdir); diff --git a/packages/cli-workflow/src/background/background.ts b/packages/cli/src/background/background.ts similarity index 100% rename from packages/cli-workflow/src/background/background.ts rename to packages/cli/src/background/background.ts diff --git a/packages/cli-workflow/src/background/index.ts b/packages/cli/src/background/index.ts similarity index 100% rename from packages/cli-workflow/src/background/index.ts rename to packages/cli/src/background/index.ts diff --git a/packages/cli-workflow/src/background/types.ts b/packages/cli/src/background/types.ts similarity index 100% rename from packages/cli-workflow/src/background/types.ts rename to packages/cli/src/background/types.ts diff --git a/packages/cli-workflow/src/cli.ts b/packages/cli/src/cli.ts similarity index 100% rename from packages/cli-workflow/src/cli.ts rename to packages/cli/src/cli.ts diff --git a/packages/cli-workflow/src/commands/config.ts b/packages/cli/src/commands/config.ts similarity index 100% rename from packages/cli-workflow/src/commands/config.ts rename to packages/cli/src/commands/config.ts diff --git a/packages/cli-workflow/src/commands/log.ts b/packages/cli/src/commands/log.ts similarity index 100% rename from packages/cli-workflow/src/commands/log.ts rename to packages/cli/src/commands/log.ts diff --git a/packages/cli-workflow/src/commands/prompt.ts b/packages/cli/src/commands/prompt.ts similarity index 100% rename from packages/cli-workflow/src/commands/prompt.ts rename to packages/cli/src/commands/prompt.ts diff --git a/packages/cli-workflow/src/commands/setup.ts b/packages/cli/src/commands/setup.ts similarity index 99% rename from packages/cli-workflow/src/commands/setup.ts rename to packages/cli/src/commands/setup.ts index 9b41241..f7efe5e 100644 --- a/packages/cli-workflow/src/commands/setup.ts +++ b/packages/cli/src/commands/setup.ts @@ -43,7 +43,7 @@ export async function validateModel( /** * Preset provider list — embedded to avoid runtime YAML loading dependency. - * Keep in sync with providers.yaml in cli-workflow. + * Keep in sync with providers.yaml in cli. */ const PRESET_PROVIDERS = [ // International diff --git a/packages/cli-workflow/src/commands/shared.ts b/packages/cli/src/commands/shared.ts similarity index 100% rename from packages/cli-workflow/src/commands/shared.ts rename to packages/cli/src/commands/shared.ts diff --git a/packages/cli-workflow/src/commands/step.ts b/packages/cli/src/commands/step.ts similarity index 100% rename from packages/cli-workflow/src/commands/step.ts rename to packages/cli/src/commands/step.ts diff --git a/packages/cli-workflow/src/commands/thread-time-parser.ts b/packages/cli/src/commands/thread-time-parser.ts similarity index 100% rename from packages/cli-workflow/src/commands/thread-time-parser.ts rename to packages/cli/src/commands/thread-time-parser.ts diff --git a/packages/cli-workflow/src/commands/thread.ts b/packages/cli/src/commands/thread.ts similarity index 100% rename from packages/cli-workflow/src/commands/thread.ts rename to packages/cli/src/commands/thread.ts diff --git a/packages/cli-workflow/src/commands/workflow.ts b/packages/cli/src/commands/workflow.ts similarity index 100% rename from packages/cli-workflow/src/commands/workflow.ts rename to packages/cli/src/commands/workflow.ts diff --git a/packages/cli-workflow/src/format.ts b/packages/cli/src/format.ts similarity index 100% rename from packages/cli-workflow/src/format.ts rename to packages/cli/src/format.ts diff --git a/packages/cli-workflow/src/include.ts b/packages/cli/src/include.ts similarity index 100% rename from packages/cli-workflow/src/include.ts rename to packages/cli/src/include.ts diff --git a/packages/cli-workflow/src/moderator/__tests__/evaluate.test.ts b/packages/cli/src/moderator/__tests__/evaluate.test.ts similarity index 100% rename from packages/cli-workflow/src/moderator/__tests__/evaluate.test.ts rename to packages/cli/src/moderator/__tests__/evaluate.test.ts diff --git a/packages/cli-workflow/src/moderator/evaluate.ts b/packages/cli/src/moderator/evaluate.ts similarity index 100% rename from packages/cli-workflow/src/moderator/evaluate.ts rename to packages/cli/src/moderator/evaluate.ts diff --git a/packages/cli-workflow/src/moderator/index.ts b/packages/cli/src/moderator/index.ts similarity index 100% rename from packages/cli-workflow/src/moderator/index.ts rename to packages/cli/src/moderator/index.ts diff --git a/packages/cli-workflow/src/moderator/types.ts b/packages/cli/src/moderator/types.ts similarity index 100% rename from packages/cli-workflow/src/moderator/types.ts rename to packages/cli/src/moderator/types.ts diff --git a/packages/cli-workflow/src/schemas.ts b/packages/cli/src/schemas.ts similarity index 100% rename from packages/cli-workflow/src/schemas.ts rename to packages/cli/src/schemas.ts diff --git a/packages/cli-workflow/src/store.ts b/packages/cli/src/store.ts similarity index 100% rename from packages/cli-workflow/src/store.ts rename to packages/cli/src/store.ts diff --git a/packages/cli-workflow/src/validate-semantic.ts b/packages/cli/src/validate-semantic.ts similarity index 100% rename from packages/cli-workflow/src/validate-semantic.ts rename to packages/cli/src/validate-semantic.ts diff --git a/packages/cli-workflow/src/validate.ts b/packages/cli/src/validate.ts similarity index 100% rename from packages/cli-workflow/src/validate.ts rename to packages/cli/src/validate.ts diff --git a/packages/workflow-agent-builtin/tsconfig.json b/packages/cli/tsconfig.json similarity index 60% rename from packages/workflow-agent-builtin/tsconfig.json rename to packages/cli/tsconfig.json index 28acf4f..1a5ddf4 100644 --- a/packages/workflow-agent-builtin/tsconfig.json +++ b/packages/cli/tsconfig.json @@ -5,5 +5,5 @@ "outDir": "dist" }, "include": ["src"], - "references": [{ "path": "../workflow-util-agent" }, { "path": "../workflow-util" }] + "references": [{ "path": "../protocol" }, { "path": "../util-agent" }] } diff --git a/packages/workflow-dashboard/README.md b/packages/dashboard/README.md similarity index 97% rename from packages/workflow-dashboard/README.md rename to packages/dashboard/README.md index b209949..8f45f56 100644 --- a/packages/workflow-dashboard/README.md +++ b/packages/dashboard/README.md @@ -15,7 +15,7 @@ Planned integration: local `uwf connect` over WebSocket to sync YAML between CLI Monorepo-only ( `"private": true` ). Not published to npm. ```bash -cd packages/workflow-dashboard +cd packages/dashboard bun install --no-cache ``` @@ -24,7 +24,7 @@ bun install --no-cache Start the Vite dev server (port 3000): ```bash -cd packages/workflow-dashboard +cd packages/dashboard bun run dev ``` @@ -39,7 +39,7 @@ Open `http://localhost:3000` in a browser. ## Internal Structure ``` -workflow-dashboard/ +dashboard/ ├── server.ts Vite dev server entry (port 3000) ├── vite.config.ts Vite + React + Tailwind + Elysia plugin ├── vite-dev.ts Custom Vite plugin diff --git a/packages/workflow-dashboard/components.json b/packages/dashboard/components.json similarity index 100% rename from packages/workflow-dashboard/components.json rename to packages/dashboard/components.json diff --git a/packages/workflow-dashboard/context.md b/packages/dashboard/context.md similarity index 95% rename from packages/workflow-dashboard/context.md rename to packages/dashboard/context.md index 5910c0f..cb06359 100644 --- a/packages/workflow-dashboard/context.md +++ b/packages/dashboard/context.md @@ -3,7 +3,7 @@ ## 1. 项目定位 -workflow-dashboard 是一个 Web 图形编辑器,用于可视化展示和编辑工作流(Workflow)的结构。 +dashboard 是一个 Web 图形编辑器,用于可视化展示和编辑工作流(Workflow)的结构。 **核心场景**: - 用户本地执行 `uwf connect` 命令,通过 WebSocket 连接到此 Web 服务 @@ -27,7 +27,7 @@ workflow-dashboard 是一个 Web 图形编辑器,用于可视化展示和编 ## 3. 目录结构 ``` -workflow-dashboard/ +dashboard/ ├── server.ts # Vite dev server 入口 (port 3000) ├── vite.config.ts # Vite 配置(react + tailwind + elysia 插件 + @ 别名) ├── vite-dev.ts # 自定义 Vite 插件 @@ -317,7 +317,7 @@ FlowModel.load(steps) / FlowModel(initialSteps) ## 10. 上游数据模型参考 -workflow-dashboard 消费的 YAML 工作流最终映射自 `WorkflowPayload`(定义在 workflow-protocol): +dashboard 消费的 YAML 工作流最终映射自 `WorkflowPayload`(定义在 protocol): ```typescript type WorkflowPayload = { @@ -328,7 +328,7 @@ type WorkflowPayload = { }; ``` -workflow-dashboard 使用 `WorkFlowSteps` 格式作为交换数据,其中 `WorkFlowRole` 的字段与 `RoleDefinition` 对齐(description/identity/prepare/execute/report),`WorkFlowTransition` 对应 graph 中的 `Target`。外部(CLI/server)负责 `WorkflowPayload` ↔ `WorkFlowSteps` 的转换。 +dashboard 使用 `WorkFlowSteps` 格式作为交换数据,其中 `WorkFlowRole` 的字段与 `RoleDefinition` 对齐(description/identity/prepare/execute/report),`WorkFlowTransition` 对应 graph 中的 `Target`。外部(CLI/server)负责 `WorkflowPayload` ↔ `WorkFlowSteps` 的转换。 ## 11. 当前状态与待完善项 @@ -360,7 +360,7 @@ Elysia REST API(`server/api.ts`),通过 Vite 插件(`vite-dev.ts`)集 ### 12.3 数据存储 - 存储目录:`tmp/workflow/`,文件名 `{name}.yaml` -- 存储格式:WorkflowPayload YAML(与上游 workflow-protocol 一致) +- 存储格式:WorkflowPayload YAML(与上游 protocol 一致) - Server 端负责 WorkflowPayload ↔ WorkFlowSteps 转换(`server/workflow.ts`) 字段映射: @@ -384,7 +384,7 @@ Elysia REST API(`server/api.ts`),通过 Vite 插件(`vite-dev.ts`)集 ### 12.5 目录结构更新 ``` -workflow-dashboard/ +dashboard/ ├── server/ │ ├── api.ts # Elysia REST API(health + workflow CRUD) │ └── workflow.ts # Workflow 文件读写 + 格式转换 diff --git a/packages/workflow-dashboard/index.html b/packages/dashboard/index.html similarity index 100% rename from packages/workflow-dashboard/index.html rename to packages/dashboard/index.html diff --git a/packages/workflow-dashboard/package.json b/packages/dashboard/package.json similarity index 100% rename from packages/workflow-dashboard/package.json rename to packages/dashboard/package.json diff --git a/packages/workflow-dashboard/server.ts b/packages/dashboard/server.ts similarity index 100% rename from packages/workflow-dashboard/server.ts rename to packages/dashboard/server.ts diff --git a/packages/workflow-dashboard/server/api.ts b/packages/dashboard/server/api.ts similarity index 100% rename from packages/workflow-dashboard/server/api.ts rename to packages/dashboard/server/api.ts diff --git a/packages/workflow-dashboard/server/workflow.ts b/packages/dashboard/server/workflow.ts similarity index 100% rename from packages/workflow-dashboard/server/workflow.ts rename to packages/dashboard/server/workflow.ts diff --git a/packages/workflow-dashboard/shared/types.ts b/packages/dashboard/shared/types.ts similarity index 100% rename from packages/workflow-dashboard/shared/types.ts rename to packages/dashboard/shared/types.ts diff --git a/packages/workflow-dashboard/src/app.tsx b/packages/dashboard/src/app.tsx similarity index 100% rename from packages/workflow-dashboard/src/app.tsx rename to packages/dashboard/src/app.tsx diff --git a/packages/workflow-dashboard/src/components/ui/button.tsx b/packages/dashboard/src/components/ui/button.tsx similarity index 100% rename from packages/workflow-dashboard/src/components/ui/button.tsx rename to packages/dashboard/src/components/ui/button.tsx diff --git a/packages/workflow-dashboard/src/components/ui/card.tsx b/packages/dashboard/src/components/ui/card.tsx similarity index 100% rename from packages/workflow-dashboard/src/components/ui/card.tsx rename to packages/dashboard/src/components/ui/card.tsx diff --git a/packages/workflow-dashboard/src/components/ui/dialog.tsx b/packages/dashboard/src/components/ui/dialog.tsx similarity index 100% rename from packages/workflow-dashboard/src/components/ui/dialog.tsx rename to packages/dashboard/src/components/ui/dialog.tsx diff --git a/packages/workflow-dashboard/src/components/ui/input.tsx b/packages/dashboard/src/components/ui/input.tsx similarity index 100% rename from packages/workflow-dashboard/src/components/ui/input.tsx rename to packages/dashboard/src/components/ui/input.tsx diff --git a/packages/workflow-dashboard/src/components/ui/label.tsx b/packages/dashboard/src/components/ui/label.tsx similarity index 100% rename from packages/workflow-dashboard/src/components/ui/label.tsx rename to packages/dashboard/src/components/ui/label.tsx diff --git a/packages/workflow-dashboard/src/components/ui/separator.tsx b/packages/dashboard/src/components/ui/separator.tsx similarity index 100% rename from packages/workflow-dashboard/src/components/ui/separator.tsx rename to packages/dashboard/src/components/ui/separator.tsx diff --git a/packages/workflow-dashboard/src/components/ui/textarea.tsx b/packages/dashboard/src/components/ui/textarea.tsx similarity index 100% rename from packages/workflow-dashboard/src/components/ui/textarea.tsx rename to packages/dashboard/src/components/ui/textarea.tsx diff --git a/packages/workflow-dashboard/src/editor/context.tsx b/packages/dashboard/src/editor/context.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/context.tsx rename to packages/dashboard/src/editor/context.tsx diff --git a/packages/workflow-dashboard/src/editor/edges/index.tsx b/packages/dashboard/src/editor/edges/index.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/edges/index.tsx rename to packages/dashboard/src/editor/edges/index.tsx diff --git a/packages/workflow-dashboard/src/editor/edges/status.tsx b/packages/dashboard/src/editor/edges/status.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/edges/status.tsx rename to packages/dashboard/src/editor/edges/status.tsx diff --git a/packages/workflow-dashboard/src/editor/flow.tsx b/packages/dashboard/src/editor/flow.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/flow.tsx rename to packages/dashboard/src/editor/flow.tsx diff --git a/packages/workflow-dashboard/src/editor/injection.ts b/packages/dashboard/src/editor/injection.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/injection.ts rename to packages/dashboard/src/editor/injection.ts diff --git a/packages/workflow-dashboard/src/editor/layout/__tests__/layout.test.ts b/packages/dashboard/src/editor/layout/__tests__/layout.test.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/layout/__tests__/layout.test.ts rename to packages/dashboard/src/editor/layout/__tests__/layout.test.ts diff --git a/packages/workflow-dashboard/src/editor/layout/index.ts b/packages/dashboard/src/editor/layout/index.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/layout/index.ts rename to packages/dashboard/src/editor/layout/index.ts diff --git a/packages/workflow-dashboard/src/editor/model/add-node-view.ts b/packages/dashboard/src/editor/model/add-node-view.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/model/add-node-view.ts rename to packages/dashboard/src/editor/model/add-node-view.ts diff --git a/packages/workflow-dashboard/src/editor/model/edges.ts b/packages/dashboard/src/editor/model/edges.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/model/edges.ts rename to packages/dashboard/src/editor/model/edges.ts diff --git a/packages/workflow-dashboard/src/editor/model/edit-node-view.ts b/packages/dashboard/src/editor/model/edit-node-view.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/model/edit-node-view.ts rename to packages/dashboard/src/editor/model/edit-node-view.ts diff --git a/packages/workflow-dashboard/src/editor/model/handlers.ts b/packages/dashboard/src/editor/model/handlers.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/model/handlers.ts rename to packages/dashboard/src/editor/model/handlers.ts diff --git a/packages/workflow-dashboard/src/editor/model/index.ts b/packages/dashboard/src/editor/model/index.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/model/index.ts rename to packages/dashboard/src/editor/model/index.ts diff --git a/packages/workflow-dashboard/src/editor/model/inject.ts b/packages/dashboard/src/editor/model/inject.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/model/inject.ts rename to packages/dashboard/src/editor/model/inject.ts diff --git a/packages/workflow-dashboard/src/editor/model/nodes.ts b/packages/dashboard/src/editor/model/nodes.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/model/nodes.ts rename to packages/dashboard/src/editor/model/nodes.ts diff --git a/packages/workflow-dashboard/src/editor/nodes/end.tsx b/packages/dashboard/src/editor/nodes/end.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/nodes/end.tsx rename to packages/dashboard/src/editor/nodes/end.tsx diff --git a/packages/workflow-dashboard/src/editor/nodes/index.tsx b/packages/dashboard/src/editor/nodes/index.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/nodes/index.tsx rename to packages/dashboard/src/editor/nodes/index.tsx diff --git a/packages/workflow-dashboard/src/editor/nodes/node-toolbar.tsx b/packages/dashboard/src/editor/nodes/node-toolbar.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/nodes/node-toolbar.tsx rename to packages/dashboard/src/editor/nodes/node-toolbar.tsx diff --git a/packages/workflow-dashboard/src/editor/nodes/nodes.style.tsx b/packages/dashboard/src/editor/nodes/nodes.style.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/nodes/nodes.style.tsx rename to packages/dashboard/src/editor/nodes/nodes.style.tsx diff --git a/packages/workflow-dashboard/src/editor/nodes/role.tsx b/packages/dashboard/src/editor/nodes/role.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/nodes/role.tsx rename to packages/dashboard/src/editor/nodes/role.tsx diff --git a/packages/workflow-dashboard/src/editor/nodes/start.tsx b/packages/dashboard/src/editor/nodes/start.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/nodes/start.tsx rename to packages/dashboard/src/editor/nodes/start.tsx diff --git a/packages/workflow-dashboard/src/editor/panel/add-node.tsx b/packages/dashboard/src/editor/panel/add-node.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/panel/add-node.tsx rename to packages/dashboard/src/editor/panel/add-node.tsx diff --git a/packages/workflow-dashboard/src/editor/panel/edit-node.tsx b/packages/dashboard/src/editor/panel/edit-node.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/panel/edit-node.tsx rename to packages/dashboard/src/editor/panel/edit-node.tsx diff --git a/packages/workflow-dashboard/src/editor/panel/index.tsx b/packages/dashboard/src/editor/panel/index.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/panel/index.tsx rename to packages/dashboard/src/editor/panel/index.tsx diff --git a/packages/workflow-dashboard/src/editor/panel/toolbar.tsx b/packages/dashboard/src/editor/panel/toolbar.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/panel/toolbar.tsx rename to packages/dashboard/src/editor/panel/toolbar.tsx diff --git a/packages/workflow-dashboard/src/editor/trans/__tests__/trans-in.test.ts b/packages/dashboard/src/editor/trans/__tests__/trans-in.test.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/trans/__tests__/trans-in.test.ts rename to packages/dashboard/src/editor/trans/__tests__/trans-in.test.ts diff --git a/packages/workflow-dashboard/src/editor/trans/__tests__/validate.test.ts b/packages/dashboard/src/editor/trans/__tests__/validate.test.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/trans/__tests__/validate.test.ts rename to packages/dashboard/src/editor/trans/__tests__/validate.test.ts diff --git a/packages/workflow-dashboard/src/editor/trans/index.ts b/packages/dashboard/src/editor/trans/index.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/trans/index.ts rename to packages/dashboard/src/editor/trans/index.ts diff --git a/packages/workflow-dashboard/src/editor/trans/trans-in.ts b/packages/dashboard/src/editor/trans/trans-in.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/trans/trans-in.ts rename to packages/dashboard/src/editor/trans/trans-in.ts diff --git a/packages/workflow-dashboard/src/editor/trans/trans-out.ts b/packages/dashboard/src/editor/trans/trans-out.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/trans/trans-out.ts rename to packages/dashboard/src/editor/trans/trans-out.ts diff --git a/packages/workflow-dashboard/src/editor/trans/type.ts b/packages/dashboard/src/editor/trans/type.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/trans/type.ts rename to packages/dashboard/src/editor/trans/type.ts diff --git a/packages/workflow-dashboard/src/editor/trans/validate.ts b/packages/dashboard/src/editor/trans/validate.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/trans/validate.ts rename to packages/dashboard/src/editor/trans/validate.ts diff --git a/packages/workflow-dashboard/src/editor/type.ts b/packages/dashboard/src/editor/type.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/type.ts rename to packages/dashboard/src/editor/type.ts diff --git a/packages/workflow-dashboard/src/editor/utils/eventer.ts b/packages/dashboard/src/editor/utils/eventer.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/utils/eventer.ts rename to packages/dashboard/src/editor/utils/eventer.ts diff --git a/packages/workflow-dashboard/src/editor/utils/index.ts b/packages/dashboard/src/editor/utils/index.ts similarity index 100% rename from packages/workflow-dashboard/src/editor/utils/index.ts rename to packages/dashboard/src/editor/utils/index.ts diff --git a/packages/workflow-dashboard/src/editor/utils/use-click-out.tsx b/packages/dashboard/src/editor/utils/use-click-out.tsx similarity index 100% rename from packages/workflow-dashboard/src/editor/utils/use-click-out.tsx rename to packages/dashboard/src/editor/utils/use-click-out.tsx diff --git a/packages/workflow-dashboard/src/index.css b/packages/dashboard/src/index.css similarity index 100% rename from packages/workflow-dashboard/src/index.css rename to packages/dashboard/src/index.css diff --git a/packages/workflow-dashboard/src/lib/utils.ts b/packages/dashboard/src/lib/utils.ts similarity index 100% rename from packages/workflow-dashboard/src/lib/utils.ts rename to packages/dashboard/src/lib/utils.ts diff --git a/packages/workflow-dashboard/src/main.tsx b/packages/dashboard/src/main.tsx similarity index 100% rename from packages/workflow-dashboard/src/main.tsx rename to packages/dashboard/src/main.tsx diff --git a/packages/workflow-dashboard/src/pages/detail.tsx b/packages/dashboard/src/pages/detail.tsx similarity index 100% rename from packages/workflow-dashboard/src/pages/detail.tsx rename to packages/dashboard/src/pages/detail.tsx diff --git a/packages/workflow-dashboard/src/pages/editor.tsx b/packages/dashboard/src/pages/editor.tsx similarity index 100% rename from packages/workflow-dashboard/src/pages/editor.tsx rename to packages/dashboard/src/pages/editor.tsx diff --git a/packages/workflow-dashboard/src/pages/home.tsx b/packages/dashboard/src/pages/home.tsx similarity index 100% rename from packages/workflow-dashboard/src/pages/home.tsx rename to packages/dashboard/src/pages/home.tsx diff --git a/packages/workflow-dashboard/src/router.tsx b/packages/dashboard/src/router.tsx similarity index 100% rename from packages/workflow-dashboard/src/router.tsx rename to packages/dashboard/src/router.tsx diff --git a/packages/workflow-dashboard/task.md b/packages/dashboard/task.md similarity index 100% rename from packages/workflow-dashboard/task.md rename to packages/dashboard/task.md diff --git a/packages/workflow-dashboard/tsconfig.json b/packages/dashboard/tsconfig.json similarity index 100% rename from packages/workflow-dashboard/tsconfig.json rename to packages/dashboard/tsconfig.json diff --git a/packages/workflow-dashboard/vite-dev.ts b/packages/dashboard/vite-dev.ts similarity index 100% rename from packages/workflow-dashboard/vite-dev.ts rename to packages/dashboard/vite-dev.ts diff --git a/packages/workflow-dashboard/vite.config.ts b/packages/dashboard/vite.config.ts similarity index 100% rename from packages/workflow-dashboard/vite.config.ts rename to packages/dashboard/vite.config.ts diff --git a/packages/workflow-protocol/README.md b/packages/protocol/README.md similarity index 100% rename from packages/workflow-protocol/README.md rename to packages/protocol/README.md diff --git a/packages/workflow-protocol/package.json b/packages/protocol/package.json similarity index 95% rename from packages/workflow-protocol/package.json rename to packages/protocol/package.json index 5318866..ced161d 100644 --- a/packages/workflow-protocol/package.json +++ b/packages/protocol/package.json @@ -32,7 +32,7 @@ "repository": { "type": "git", "url": "https://git.shazhou.work/uncaged/workflow.git", - "directory": "packages/workflow-protocol" + "directory": "packages/protocol" }, "homepage": "https://git.shazhou.work/uncaged/workflow#readme", "bugs": { diff --git a/packages/workflow-protocol/src/__tests__/thread-index.test.ts b/packages/protocol/src/__tests__/thread-index.test.ts similarity index 100% rename from packages/workflow-protocol/src/__tests__/thread-index.test.ts rename to packages/protocol/src/__tests__/thread-index.test.ts diff --git a/packages/workflow-protocol/src/__tests__/types.test.ts b/packages/protocol/src/__tests__/types.test.ts similarity index 100% rename from packages/workflow-protocol/src/__tests__/types.test.ts rename to packages/protocol/src/__tests__/types.test.ts diff --git a/packages/workflow-protocol/src/index.ts b/packages/protocol/src/index.ts similarity index 100% rename from packages/workflow-protocol/src/index.ts rename to packages/protocol/src/index.ts diff --git a/packages/workflow-protocol/src/schemas.ts b/packages/protocol/src/schemas.ts similarity index 100% rename from packages/workflow-protocol/src/schemas.ts rename to packages/protocol/src/schemas.ts diff --git a/packages/workflow-protocol/src/thread-index.ts b/packages/protocol/src/thread-index.ts similarity index 100% rename from packages/workflow-protocol/src/thread-index.ts rename to packages/protocol/src/thread-index.ts diff --git a/packages/workflow-protocol/src/types.ts b/packages/protocol/src/types.ts similarity index 100% rename from packages/workflow-protocol/src/types.ts rename to packages/protocol/src/types.ts diff --git a/packages/workflow-protocol/tsconfig.json b/packages/protocol/tsconfig.json similarity index 100% rename from packages/workflow-protocol/tsconfig.json rename to packages/protocol/tsconfig.json diff --git a/packages/workflow-util-agent/README.md b/packages/util-agent/README.md similarity index 100% rename from packages/workflow-util-agent/README.md rename to packages/util-agent/README.md diff --git a/packages/workflow-util-agent/__tests__/adapter-retry.test.ts b/packages/util-agent/__tests__/adapter-retry.test.ts similarity index 100% rename from packages/workflow-util-agent/__tests__/adapter-retry.test.ts rename to packages/util-agent/__tests__/adapter-retry.test.ts diff --git a/packages/workflow-util-agent/__tests__/adapter-stdout.test.ts b/packages/util-agent/__tests__/adapter-stdout.test.ts similarity index 100% rename from packages/workflow-util-agent/__tests__/adapter-stdout.test.ts rename to packages/util-agent/__tests__/adapter-stdout.test.ts diff --git a/packages/workflow-util-agent/__tests__/build-continuation-prompt.test.ts b/packages/util-agent/__tests__/build-continuation-prompt.test.ts similarity index 100% rename from packages/workflow-util-agent/__tests__/build-continuation-prompt.test.ts rename to packages/util-agent/__tests__/build-continuation-prompt.test.ts diff --git a/packages/workflow-util-agent/__tests__/build-output-format-instruction.test.ts b/packages/util-agent/__tests__/build-output-format-instruction.test.ts similarity index 100% rename from packages/workflow-util-agent/__tests__/build-output-format-instruction.test.ts rename to packages/util-agent/__tests__/build-output-format-instruction.test.ts diff --git a/packages/workflow-util-agent/__tests__/build-role-prompt.test.ts b/packages/util-agent/__tests__/build-role-prompt.test.ts similarity index 100% rename from packages/workflow-util-agent/__tests__/build-role-prompt.test.ts rename to packages/util-agent/__tests__/build-role-prompt.test.ts diff --git a/packages/workflow-util-agent/__tests__/context.test.ts b/packages/util-agent/__tests__/context.test.ts similarity index 100% rename from packages/workflow-util-agent/__tests__/context.test.ts rename to packages/util-agent/__tests__/context.test.ts diff --git a/packages/workflow-util-agent/__tests__/frontmatter-fast-path.test.ts b/packages/util-agent/__tests__/frontmatter-fast-path.test.ts similarity index 100% rename from packages/workflow-util-agent/__tests__/frontmatter-fast-path.test.ts rename to packages/util-agent/__tests__/frontmatter-fast-path.test.ts diff --git a/packages/workflow-util-agent/__tests__/resolve-extract-model.test.ts b/packages/util-agent/__tests__/resolve-extract-model.test.ts similarity index 100% rename from packages/workflow-util-agent/__tests__/resolve-extract-model.test.ts rename to packages/util-agent/__tests__/resolve-extract-model.test.ts diff --git a/packages/workflow-util-agent/__tests__/session-cache.test.ts b/packages/util-agent/__tests__/session-cache.test.ts similarity index 100% rename from packages/workflow-util-agent/__tests__/session-cache.test.ts rename to packages/util-agent/__tests__/session-cache.test.ts diff --git a/packages/workflow-util-agent/package.json b/packages/util-agent/package.json similarity index 95% rename from packages/workflow-util-agent/package.json rename to packages/util-agent/package.json index 9787940..1f3e2c7 100644 --- a/packages/workflow-util-agent/package.json +++ b/packages/util-agent/package.json @@ -36,7 +36,7 @@ "repository": { "type": "git", "url": "https://git.shazhou.work/uncaged/workflow.git", - "directory": "packages/workflow-util-agent" + "directory": "packages/util-agent" }, "homepage": "https://git.shazhou.work/uncaged/workflow#readme", "bugs": { diff --git a/packages/workflow-util-agent/src/__tests__/parseArgv.test.ts b/packages/util-agent/src/__tests__/parseArgv.test.ts similarity index 100% rename from packages/workflow-util-agent/src/__tests__/parseArgv.test.ts rename to packages/util-agent/src/__tests__/parseArgv.test.ts diff --git a/packages/workflow-util-agent/src/build-continuation-prompt.ts b/packages/util-agent/src/build-continuation-prompt.ts similarity index 100% rename from packages/workflow-util-agent/src/build-continuation-prompt.ts rename to packages/util-agent/src/build-continuation-prompt.ts diff --git a/packages/workflow-util-agent/src/build-output-format-instruction.ts b/packages/util-agent/src/build-output-format-instruction.ts similarity index 100% rename from packages/workflow-util-agent/src/build-output-format-instruction.ts rename to packages/util-agent/src/build-output-format-instruction.ts diff --git a/packages/workflow-util-agent/src/build-role-prompt.ts b/packages/util-agent/src/build-role-prompt.ts similarity index 100% rename from packages/workflow-util-agent/src/build-role-prompt.ts rename to packages/util-agent/src/build-role-prompt.ts diff --git a/packages/workflow-util-agent/src/context.ts b/packages/util-agent/src/context.ts similarity index 99% rename from packages/workflow-util-agent/src/context.ts rename to packages/util-agent/src/context.ts index 9717318..3e6cf40 100644 --- a/packages/workflow-util-agent/src/context.ts +++ b/packages/util-agent/src/context.ts @@ -92,7 +92,7 @@ function extractStepContent(store: Store, detailRef: CasRef): string | null { if (!Array.isArray(turns) || turns.length === 0) { return null; } - // Find last assistant content (same logic as extractLastAssistantContent in cli-workflow) + // Find last assistant content (same logic as extractLastAssistantContent in cli) for (let i = turns.length - 1; i >= 0; i--) { const turnRef = turns[i]; if (typeof turnRef !== "string") { diff --git a/packages/workflow-util-agent/src/extract.ts b/packages/util-agent/src/extract.ts similarity index 100% rename from packages/workflow-util-agent/src/extract.ts rename to packages/util-agent/src/extract.ts diff --git a/packages/workflow-util-agent/src/frontmatter.ts b/packages/util-agent/src/frontmatter.ts similarity index 100% rename from packages/workflow-util-agent/src/frontmatter.ts rename to packages/util-agent/src/frontmatter.ts diff --git a/packages/workflow-util-agent/src/index.ts b/packages/util-agent/src/index.ts similarity index 100% rename from packages/workflow-util-agent/src/index.ts rename to packages/util-agent/src/index.ts diff --git a/packages/workflow-util-agent/src/run.ts b/packages/util-agent/src/run.ts similarity index 100% rename from packages/workflow-util-agent/src/run.ts rename to packages/util-agent/src/run.ts diff --git a/packages/workflow-util-agent/src/schemas.ts b/packages/util-agent/src/schemas.ts similarity index 100% rename from packages/workflow-util-agent/src/schemas.ts rename to packages/util-agent/src/schemas.ts diff --git a/packages/workflow-util-agent/src/session-cache.ts b/packages/util-agent/src/session-cache.ts similarity index 100% rename from packages/workflow-util-agent/src/session-cache.ts rename to packages/util-agent/src/session-cache.ts diff --git a/packages/workflow-util-agent/src/storage.ts b/packages/util-agent/src/storage.ts similarity index 100% rename from packages/workflow-util-agent/src/storage.ts rename to packages/util-agent/src/storage.ts diff --git a/packages/workflow-util-agent/src/types.ts b/packages/util-agent/src/types.ts similarity index 100% rename from packages/workflow-util-agent/src/types.ts rename to packages/util-agent/src/types.ts diff --git a/packages/cli-workflow/tsconfig.json b/packages/util-agent/tsconfig.json similarity index 59% rename from packages/cli-workflow/tsconfig.json rename to packages/util-agent/tsconfig.json index 2a29095..e8bf6d5 100644 --- a/packages/cli-workflow/tsconfig.json +++ b/packages/util-agent/tsconfig.json @@ -5,5 +5,5 @@ "outDir": "dist" }, "include": ["src"], - "references": [{ "path": "../workflow-protocol" }, { "path": "../workflow-util-agent" }] + "references": [{ "path": "../protocol" }, { "path": "../util" }] } diff --git a/packages/workflow-util/README.md b/packages/util/README.md similarity index 100% rename from packages/workflow-util/README.md rename to packages/util/README.md diff --git a/packages/workflow-util/__tests__/env.test.ts b/packages/util/__tests__/env.test.ts similarity index 100% rename from packages/workflow-util/__tests__/env.test.ts rename to packages/util/__tests__/env.test.ts diff --git a/packages/workflow-util/__tests__/frontmatter-markdown.test.ts b/packages/util/__tests__/frontmatter-markdown.test.ts similarity index 100% rename from packages/workflow-util/__tests__/frontmatter-markdown.test.ts rename to packages/util/__tests__/frontmatter-markdown.test.ts diff --git a/packages/workflow-util/__tests__/process-logger.test.ts b/packages/util/__tests__/process-logger.test.ts similarity index 100% rename from packages/workflow-util/__tests__/process-logger.test.ts rename to packages/util/__tests__/process-logger.test.ts diff --git a/packages/workflow-util/package.json b/packages/util/package.json similarity index 95% rename from packages/workflow-util/package.json rename to packages/util/package.json index 69160cd..19a12b6 100644 --- a/packages/workflow-util/package.json +++ b/packages/util/package.json @@ -29,7 +29,7 @@ "repository": { "type": "git", "url": "https://git.shazhou.work/uncaged/workflow.git", - "directory": "packages/workflow-util" + "directory": "packages/util" }, "homepage": "https://git.shazhou.work/uncaged/workflow#readme", "bugs": { diff --git a/packages/workflow-util/src/__tests__/ulid-timestamp.test.ts b/packages/util/src/__tests__/ulid-timestamp.test.ts similarity index 100% rename from packages/workflow-util/src/__tests__/ulid-timestamp.test.ts rename to packages/util/src/__tests__/ulid-timestamp.test.ts diff --git a/packages/workflow-util/src/actor-reference.ts b/packages/util/src/actor-reference.ts similarity index 100% rename from packages/workflow-util/src/actor-reference.ts rename to packages/util/src/actor-reference.ts diff --git a/packages/workflow-util/src/adapter-reference.ts b/packages/util/src/adapter-reference.ts similarity index 100% rename from packages/workflow-util/src/adapter-reference.ts rename to packages/util/src/adapter-reference.ts diff --git a/packages/workflow-util/src/architecture-reference.ts b/packages/util/src/architecture-reference.ts similarity index 100% rename from packages/workflow-util/src/architecture-reference.ts rename to packages/util/src/architecture-reference.ts diff --git a/packages/workflow-util/src/author-reference.ts b/packages/util/src/author-reference.ts similarity index 100% rename from packages/workflow-util/src/author-reference.ts rename to packages/util/src/author-reference.ts diff --git a/packages/workflow-util/src/base32.ts b/packages/util/src/base32.ts similarity index 100% rename from packages/workflow-util/src/base32.ts rename to packages/util/src/base32.ts diff --git a/packages/workflow-util/src/bootstrap-reference.ts b/packages/util/src/bootstrap-reference.ts similarity index 100% rename from packages/workflow-util/src/bootstrap-reference.ts rename to packages/util/src/bootstrap-reference.ts diff --git a/packages/workflow-util/src/cli-reference.ts b/packages/util/src/cli-reference.ts similarity index 100% rename from packages/workflow-util/src/cli-reference.ts rename to packages/util/src/cli-reference.ts diff --git a/packages/workflow-util/src/developer-reference.ts b/packages/util/src/developer-reference.ts similarity index 85% rename from packages/workflow-util/src/developer-reference.ts rename to packages/util/src/developer-reference.ts index 476a656..bfdc597 100644 --- a/packages/workflow-util/src/developer-reference.ts +++ b/packages/util/src/developer-reference.ts @@ -7,17 +7,17 @@ Guide for contributing to the workflow engine codebase. \`\`\` packages/ - workflow-protocol/ # Shared types (WorkflowPayload, StepNodePayload, etc.) - workflow-util/ # Base32, ULID, logger, frontmatter parsing, skill references - workflow-util-agent/ # createAgent factory, context builder, extract pipeline - workflow-agent-hermes/ # uwf-hermes CLI (spawns Hermes chat sessions) - workflow-agent-builtin/ # uwf-builtin CLI (direct LLM calls via OpenAI API) - cli-workflow/ # uwf CLI (moderator, thread/step/cas/config commands) + protocol/ # Shared types (WorkflowPayload, StepNodePayload, etc.) + util/ # Base32, ULID, logger, frontmatter parsing, skill references + util-agent/ # createAgent factory, context builder, extract pipeline + agent-hermes/ # uwf-hermes CLI (spawns Hermes chat sessions) + agent-builtin/ # uwf-builtin CLI (direct LLM calls via OpenAI API) + cli/ # uwf CLI (moderator, thread/step/cas/config commands) \`\`\` Dependency layers (each only imports from packages above it): \`\`\` -protocol → util → util-agent → agent-hermes / agent-builtin / cli-workflow +protocol → util → util-agent → agent-hermes / agent-builtin / cli \`\`\` External CAS: \`@ocas/core\` (store API, hashing, schema validation) + \`@ocas/fs\` (filesystem backend). @@ -84,7 +84,7 @@ Before committing: \`bun run check\` + \`bun test\` must both pass. ### Testing -- \`cli-workflow\`: vitest +- \`cli\`: vitest - Other packages: \`bun test\` - Test files live in \`__tests__/\` directories @@ -100,11 +100,11 @@ bun release # build + test + publish to npmjs ## Key Modules -### Moderator (\`cli-workflow/src/moderator/\`) +### Moderator (\`cli/src/moderator/\`) Status-based graph evaluator. Reads \`graph[lastRole][output.$status]\` to determine the next role. Zero LLM cost. -### Extract Pipeline (\`workflow-util-agent/src/\`) +### Extract Pipeline (\`util-agent/src/\`) 1. Agent produces frontmatter markdown 2. \`parseFrontmatterMarkdown()\` extracts YAML frontmatter @@ -112,7 +112,7 @@ Status-based graph evaluator. Reads \`graph[lastRole][output.$status]\` to deter 4. If fast path fails, retries up to 2 times via agent continue 5. Validated output stored as CAS node -### createAgent Factory (\`workflow-util-agent/src/run.ts\`) +### createAgent Factory (\`util-agent/src/run.ts\`) Shared entry point for all agent CLIs. Handles: - Argument parsing (\`--thread\`, \`--role\`, \`--prompt\`) diff --git a/packages/workflow-util/src/env.ts b/packages/util/src/env.ts similarity index 100% rename from packages/workflow-util/src/env.ts rename to packages/util/src/env.ts diff --git a/packages/workflow-util/src/frontmatter-markdown/frontmatter-markdown.ts b/packages/util/src/frontmatter-markdown/frontmatter-markdown.ts similarity index 99% rename from packages/workflow-util/src/frontmatter-markdown/frontmatter-markdown.ts rename to packages/util/src/frontmatter-markdown/frontmatter-markdown.ts index e787c16..dd48598 100644 --- a/packages/workflow-util/src/frontmatter-markdown/frontmatter-markdown.ts +++ b/packages/util/src/frontmatter-markdown/frontmatter-markdown.ts @@ -53,7 +53,7 @@ function splitFrontmatter(raw: string): { yaml: string | null; body: string } { // ── Minimal YAML scalar parser ─────────────────────────────────────────────── // -// We intentionally avoid a full YAML library dependency inside workflow-util. +// We intentionally avoid a full YAML library dependency inside util. // The frontmatter schema is flat and uses only scalars + simple string lists. // This parser handles exactly what the spec needs and nothing more. diff --git a/packages/workflow-util/src/frontmatter-markdown/index.ts b/packages/util/src/frontmatter-markdown/index.ts similarity index 100% rename from packages/workflow-util/src/frontmatter-markdown/index.ts rename to packages/util/src/frontmatter-markdown/index.ts diff --git a/packages/workflow-util/src/frontmatter-markdown/types.ts b/packages/util/src/frontmatter-markdown/types.ts similarity index 100% rename from packages/workflow-util/src/frontmatter-markdown/types.ts rename to packages/util/src/frontmatter-markdown/types.ts diff --git a/packages/workflow-util/src/index.ts b/packages/util/src/index.ts similarity index 100% rename from packages/workflow-util/src/index.ts rename to packages/util/src/index.ts diff --git a/packages/workflow-util/src/logger.ts b/packages/util/src/logger.ts similarity index 100% rename from packages/workflow-util/src/logger.ts rename to packages/util/src/logger.ts diff --git a/packages/workflow-util/src/moderator-reference.ts b/packages/util/src/moderator-reference.ts similarity index 100% rename from packages/workflow-util/src/moderator-reference.ts rename to packages/util/src/moderator-reference.ts diff --git a/packages/workflow-util/src/process-logger/index.ts b/packages/util/src/process-logger/index.ts similarity index 100% rename from packages/workflow-util/src/process-logger/index.ts rename to packages/util/src/process-logger/index.ts diff --git a/packages/workflow-util/src/process-logger/log-tag.ts b/packages/util/src/process-logger/log-tag.ts similarity index 100% rename from packages/workflow-util/src/process-logger/log-tag.ts rename to packages/util/src/process-logger/log-tag.ts diff --git a/packages/workflow-util/src/process-logger/process-logger.ts b/packages/util/src/process-logger/process-logger.ts similarity index 100% rename from packages/workflow-util/src/process-logger/process-logger.ts rename to packages/util/src/process-logger/process-logger.ts diff --git a/packages/workflow-util/src/process-logger/types.ts b/packages/util/src/process-logger/types.ts similarity index 100% rename from packages/workflow-util/src/process-logger/types.ts rename to packages/util/src/process-logger/types.ts diff --git a/packages/workflow-util/src/refs-field.ts b/packages/util/src/refs-field.ts similarity index 100% rename from packages/workflow-util/src/refs-field.ts rename to packages/util/src/refs-field.ts diff --git a/packages/workflow-util/src/result.ts b/packages/util/src/result.ts similarity index 100% rename from packages/workflow-util/src/result.ts rename to packages/util/src/result.ts diff --git a/packages/workflow-util/src/storage-root.ts b/packages/util/src/storage-root.ts similarity index 100% rename from packages/workflow-util/src/storage-root.ts rename to packages/util/src/storage-root.ts diff --git a/packages/workflow-util/src/types.ts b/packages/util/src/types.ts similarity index 100% rename from packages/workflow-util/src/types.ts rename to packages/util/src/types.ts diff --git a/packages/workflow-util/src/ulid.ts b/packages/util/src/ulid.ts similarity index 100% rename from packages/workflow-util/src/ulid.ts rename to packages/util/src/ulid.ts diff --git a/packages/workflow-util/src/user-reference.ts b/packages/util/src/user-reference.ts similarity index 100% rename from packages/workflow-util/src/user-reference.ts rename to packages/util/src/user-reference.ts diff --git a/packages/workflow-util/src/yaml-reference.ts b/packages/util/src/yaml-reference.ts similarity index 100% rename from packages/workflow-util/src/yaml-reference.ts rename to packages/util/src/yaml-reference.ts diff --git a/packages/workflow-util/tsconfig.json b/packages/util/tsconfig.json similarity index 100% rename from packages/workflow-util/tsconfig.json rename to packages/util/tsconfig.json diff --git a/scripts/batch-solve.sh b/scripts/batch-solve.sh index 76cdbe5..6426008 100755 --- a/scripts/batch-solve.sh +++ b/scripts/batch-solve.sh @@ -6,7 +6,7 @@ # # Examples: # ./scripts/batch-solve.sh 448 449 -# ./scripts/batch-solve.sh --agent "bun run $(pwd)/packages/workflow-agent-claude-code/src/cli.ts" 448 449 +# ./scripts/batch-solve.sh --agent "bun run $(pwd)/packages/agent-claude-code/src/cli.ts" 448 449 # ./scripts/batch-solve.sh --repo uncaged/workflow --count 15 448 449 set -euo pipefail diff --git a/scripts/check-dev-env.sh b/scripts/check-dev-env.sh index 273b198..072b67d 100755 --- a/scripts/check-dev-env.sh +++ b/scripts/check-dev-env.sh @@ -53,7 +53,7 @@ echo "=== Workflow ===" # Check repo location REPO_DIR="${WORKFLOW_REPO:-$(cd "$(dirname "$0")/.." && pwd)}" check "repo at ~/repos/workflow or WORKFLOW_REPO set" \ - "[ -f '$REPO_DIR/packages/cli-workflow/src/cli.ts' ]" \ + "[ -f '$REPO_DIR/packages/cli/src/cli.ts' ]" \ "Clone the repo: git clone https://git.shazhou.work/uncaged/workflow ~/repos/workflow" # Check bun install @@ -63,27 +63,27 @@ check "node_modules installed" \ # Check build check "packages built (dist/)" \ - "[ -f '$REPO_DIR/packages/cli-workflow/dist/cli.js' ]" \ + "[ -f '$REPO_DIR/packages/cli/dist/cli.js' ]" \ "cd $REPO_DIR && bun run build" # Check uwf is runnable -check_version "uwf" "bun $REPO_DIR/packages/cli-workflow/src/cli.ts --version" \ +check_version "uwf" "bun $REPO_DIR/packages/cli/src/cli.ts --version" \ "cd $REPO_DIR && bun install && bun run build" # Check uwf symlink check "uwf in PATH" \ "command -v uwf" \ - "sudo ln -sf $REPO_DIR/packages/cli-workflow/dist/cli.js /usr/bin/uwf && sudo chmod +x /usr/bin/uwf" + "sudo ln -sf $REPO_DIR/packages/cli/dist/cli.js /usr/bin/uwf && sudo chmod +x /usr/bin/uwf" # Check uwf-hermes check "uwf-hermes in PATH" \ "command -v uwf-hermes" \ - "bun link in packages/workflow-agent-hermes, or: echo '#!/usr/bin/env bun' > ~/.local/bin/uwf-hermes && echo 'import \"$REPO_DIR/packages/workflow-agent-hermes/src/cli.ts\"' >> ~/.local/bin/uwf-hermes && chmod +x ~/.local/bin/uwf-hermes" + "bun link in packages/agent-hermes, or: echo '#!/usr/bin/env bun' > ~/.local/bin/uwf-hermes && echo 'import \"$REPO_DIR/packages/agent-hermes/src/cli.ts\"' >> ~/.local/bin/uwf-hermes && chmod +x ~/.local/bin/uwf-hermes" # Check uwf-claude-code check "uwf-claude-code in PATH" \ "command -v uwf-claude-code" \ - "Create wrapper: echo '#!/bin/bash\nexec bun run $REPO_DIR/packages/workflow-agent-claude-code/src/cli.ts \"\$@\"' > ~/.local/bin/uwf-claude-code && chmod +x ~/.local/bin/uwf-claude-code" + "Create wrapper: echo '#!/bin/bash\nexec bun run $REPO_DIR/packages/agent-claude-code/src/cli.ts \"\$@\"' > ~/.local/bin/uwf-claude-code && chmod +x ~/.local/bin/uwf-claude-code" echo "" echo "=== Config ===" diff --git a/scripts/e2e-walkthrough.sh b/scripts/e2e-walkthrough.sh index ba3dafb..f966d73 100755 --- a/scripts/e2e-walkthrough.sh +++ b/scripts/e2e-walkthrough.sh @@ -85,7 +85,7 @@ export HOME="$REAL_HOME" export PATH="$REAL_HOME/.bun/bin:$REAL_HOME/.hermes/hermes-agent/venv/bin:$REAL_HOME/.local/share/npm/bin:$PATH" # Resolve uwf and ocas -UWF="bun $REPO_DIR/packages/cli-workflow/src/cli.ts" +UWF="bun $REPO_DIR/packages/cli/src/cli.ts" OCAS="ocas" PASS=0 diff --git a/tsconfig.json b/tsconfig.json index 78fa99c..474cc6f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,12 +18,12 @@ "types": ["bun-types", "node"] }, "references": [ - { "path": "packages/workflow-util" }, - { "path": "packages/workflow-protocol" }, - { "path": "packages/workflow-util-agent" }, - { "path": "packages/workflow-agent-hermes" }, - { "path": "packages/workflow-agent-builtin" }, - { "path": "packages/workflow-agent-claude-code" }, - { "path": "packages/cli-workflow" } + { "path": "packages/util" }, + { "path": "packages/protocol" }, + { "path": "packages/util-agent" }, + { "path": "packages/agent-hermes" }, + { "path": "packages/agent-builtin" }, + { "path": "packages/agent-claude-code" }, + { "path": "packages/cli" } ] } diff --git a/workflows/solve-issue.yaml b/workflows/solve-issue.yaml index 9ad9b0a..86179be 100644 --- a/workflows/solve-issue.yaml +++ b/workflows/solve-issue.yaml @@ -148,7 +148,7 @@ roles: - Crockford Base32 log tags (8-char, unique per call site) - - No `console.log` in production code (use createLogger from @uncaged/workflow-util) + - No `console.log` in production code (use createLogger from @uncaged/util) - No dynamic imports in production code