Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion examples/openclaw-routing.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { resolvePersona, type PersonaIntent } from '../packages/workload-router/src/index.js';
import { resolvePersona } from '../packages/workload-router/src/index.js';
import type { PersonaIntent } from '../packages/persona-kit/src/index.js';

type OpenClawSpawnPayload = {
runtime: 'subagent' | 'acp';
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/src/launch-metadata.test.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import test from 'node:test';
import assert from 'node:assert/strict';

import type { PersonaSelection, PersonaSpec } from '@agentworkforce/workload-router';
import type { PersonaSelection, PersonaSpec } from '@agentworkforce/persona-kit';
import {
buildLaunchMetadata,
canonicalJson,
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/src/launch-metadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { createHash } from 'node:crypto';
import { homedir } from 'node:os';
import { join } from 'node:path';

import type { Harness, PersonaSelection } from '@agentworkforce/workload-router';
import type { Harness, PersonaSelection } from '@agentworkforce/persona-kit';
import * as launchMetadataBackendSdk from '@relayburn/sdk';

export const LAUNCH_METADATA_INTERVAL_MS = 1_000;
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/src/local-personas.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
loadPersonaSourceConfig,
type LocalPersonaOverride
} from './local-personas.js';
import type { PersonaSpec } from '@agentworkforce/workload-router';
import type { PersonaSpec } from '@agentworkforce/persona-kit';

type Dirs = { cwd: string; home: string; pwdDir: string; homeDir: string };

Expand Down
2 changes: 1 addition & 1 deletion packages/harness-kit/src/runner.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { chmodSync, existsSync, mkdtempSync, readFileSync, realpathSync, rmSync,
import { tmpdir } from 'node:os';
import { join } from 'node:path';

import type { PersonaSelection } from '@agentworkforce/workload-router';
import type { PersonaSelection } from '@agentworkforce/persona-kit';
import {
buildNonInteractiveSpec,
useRunnableSelection
Expand Down
12 changes: 6 additions & 6 deletions packages/harness-kit/src/runner.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@ import { randomUUID } from 'node:crypto';
import {
usePersona,
useSelection,
type Harness,
type PersonaContext,
type PersonaIntent,
type PersonaSelection,
type PersonaTier,
type RoutingProfile,
type RoutingProfileId
} from '@agentworkforce/workload-router';
Expand All @@ -22,7 +17,12 @@ import {
resolveMcpServersLenient,
resolvePersonaInputs,
resolveStringMapLenient,
type BuildInteractiveSpecInput
type BuildInteractiveSpecInput,
type Harness,
type PersonaContext,
type PersonaIntent,
type PersonaSelection,
type PersonaTier
} from '@agentworkforce/persona-kit';

export interface PersonaSendOptions {
Expand Down
2 changes: 1 addition & 1 deletion packages/persona-kit/src/interactive-spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ export interface BuildInteractiveSpecInput {
* Absolute paths of directories to load as Claude Code plugins for this
* session (`--plugin-dir <path>` per entry). Used to wire in out-of-repo
* skill stages produced by
* {@link import('@agentworkforce/workload-router').SkillMaterializationOptions.installRoot}.
* {@link SkillMaterializationOptions.installRoot}.
* Claude-only: other harnesses emit a warning and ignore the field.
*/
pluginDirs?: readonly string[];
Expand Down
16 changes: 16 additions & 0 deletions packages/workload-router/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.0.0] - 2026-05-11

### Changed (BREAKING)

- Drop all persona-domain re-exports that used to be forwarded from
`@agentworkforce/persona-kit`. Consumers must now import persona constants,
types, and functions (e.g. `HARNESS_VALUES`, `PERSONA_TIERS`,
`PERSONA_TAGS`, `PERMISSION_MODES`, `Harness`, `PersonaSpec`,
`PersonaSelection`, `PersonaSkill`, `materializeSkills`,
`parsePersonaSpec`, …) directly from `@agentworkforce/persona-kit`.
- The remaining public surface is routing-only: `RoutingProfile`,
`RoutingProfileRule`, `RoutingProfileId`, `personaCatalog`,
`listBuiltInPersonas`, `routingProfiles`, `resolvePersona`,
`resolvePersonaByTier`, `usePersona`, `useSelection`, and the evidence /
owner-decision exports from `./eval`.

## [0.19.0] - 2026-05-08

### Changed
Expand Down
2 changes: 1 addition & 1 deletion packages/workload-router/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@agentworkforce/workload-router",
"version": "0.19.0",
"version": "1.0.0",
"private": false,
"type": "module",
"main": "dist/index.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/workload-router/src/eval.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { PersonaIntent, PersonaTier } from './index.js';
import type { PersonaIntent, PersonaTier } from '@agentworkforce/persona-kit';

export interface EvalCase {
id: string;
Expand Down
8 changes: 5 additions & 3 deletions packages/workload-router/src/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,17 @@ import test from 'node:test';
import assert from 'node:assert/strict';
import {
PERSONA_INTENTS,
listBuiltInPersonas,
materializeSkillsFor,
type PersonaSelection
} from '@agentworkforce/persona-kit';
import {
listBuiltInPersonas,
personaCatalog,
resolvePersona,
resolvePersonaByTier,
routingProfiles,
usePersona,
useSelection,
type PersonaSelection
useSelection
} from './index.js';

const prpmSkill = {
Expand Down
58 changes: 0 additions & 58 deletions packages/workload-router/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,64 +24,6 @@ import {
import { personaImprover, personaMaker } from './generated/personas.js';
import defaultRoutingProfileJson from '../routing-profiles/default.json' with { type: 'json' };

// ---------------------------------------------------------------------------
// Re-exports of persona-shape symbols moved into @agentworkforce/persona-kit.
// These keep workload-router's external surface stable while the canonical
// implementations live in persona-kit. Issues 5/8 and 6/8 will delete these
// re-exports and the consumers that still depend on them.
// ---------------------------------------------------------------------------

export {
// Constants
BUILT_IN_PERSONA_INTENTS,
CODEX_APPROVAL_POLICIES,
CODEX_SANDBOX_MODES,
HARNESS_SKILL_TARGETS,
HARNESS_VALUES,
PERMISSION_MODES,
PERSONA_INTENTS,
PERSONA_TAGS,
PERSONA_TIERS,
SIDECAR_MD_MODES,
SKILL_SOURCE_KINDS,
// Skill materialization
materializeSkills,
materializeSkillsFor,
resolveSkillSource,
// Parsers + sidecar resolver
parsePersonaSpec,
parseSkills,
resolveSidecar
} from '@agentworkforce/persona-kit';

export type {
// Types
CodexApprovalPolicy,
CodexSandboxMode,
Harness,
HarnessSettings,
HarnessSkillTarget,
McpServerSpec,
PermissionMode,
PersonaContext,
PersonaInputSpec,
PersonaInstallContext,
PersonaIntent,
PersonaMount,
PersonaPermissions,
PersonaRuntime,
PersonaSelection,
PersonaSkill,
PersonaSpec,
PersonaTag,
PersonaTier,
SidecarMdMode,
SkillInstall,
SkillMaterializationOptions,
SkillMaterializationPlan,
SkillSourceKind
} from '@agentworkforce/persona-kit';

// ---------------------------------------------------------------------------
// Routing profile + built-in persona catalog (workload-router's own concern).
// ---------------------------------------------------------------------------
Expand Down
Loading