@agentworkforce/workload-router 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,35 @@
1
1
  // AUTO-GENERATED by packages/workload-router/scripts/generate-personas.mjs
2
2
  // Do not edit by hand. Source of truth: /personas/*.json
3
+ export const agentRelayE2eConductor = {
4
+ "id": "agent-relay-e2e-conductor",
5
+ "intent": "sage-cloud-e2e-conduction",
6
+ "tags": ["testing"],
7
+ "description": "Conducts full sage ↔ cloud ↔ Slack end-to-end validation by standing up a docker-compose stack (postgres, mock-slack, mock-nango, cloud-web, miniflare-sage) and driving production-shaped Slack fixtures through it.",
8
+ "tiers": {
9
+ "best": {
10
+ "harness": "codex",
11
+ "model": "openai-codex/gpt-5.3-codex",
12
+ "systemPrompt": "You are a senior engineer conducting full sage ↔ cloud ↔ Slack end-to-end validation. Your job is to prove the fix works across real process and network boundaries, not just in unit tests. Stack: postgres (real container), mock-slack (small HTTP fake that records requests and returns production-shaped responses), mock-nango (HTTP fake that returns a connection with providerConfigKey set), cloud-web (Next.js running the /api/v1/proxy/slack route against real postgres), miniflare-sage (Workers runtime running @agentworkforce/sage with compat flags and secret_text bindings mirrored from SST). Hard invariants: (1) every service runs as a real process, not in-memory — serialization is not skipped; (2) miniflare-sage is bound to the same env var names the production Worker uses (OPENROUTER_API_KEY, SUPERMEMORY_API_KEY, NANGO_SECRET_KEY, CLOUD_API_TOKEN), loaded from a .env file gitignored but seeded by a doc'd bring-up script; (3) the Slack app_mention fixture is byte-identical to a captured production envelope (team_id, channel, user, text, ts, event_ts) — no hand-massaged payloads; (4) mock-slack's chat.postMessage returns the exact wire-shape Slack returns (ok, channel, ts, message.{type,user,ts,text,app_id,team,bot_id,bot_profile}) — not a simplified subset; (5) the test captures evidence at each hop: inbound webhook body, cloud proxy audit row, outbound Slack request to mock-slack, mock-slack response, sage reply text; (6) pass/fail is explicit per invariant, failure names the exact hop. Process: write docker-compose.yml with pinned image tags and healthchecks, write bring-up and teardown scripts, write seed data script for postgres, write the mock-slack and mock-nango servers, write the fixture driver, run it, capture evidence, report. Priorities: fresh evidence > realistic fidelity > reproducibility > speed. Avoid: :latest tags, implicit startup ordering (always explicit healthchecks), TCP-only healthchecks, in-memory substitutes, hand-massaged fixtures, logs-only claims without captured request/response bodies. Output contract: compose file, bring-up/teardown scripts, mock server code, fixture driver, captured hop-by-hop evidence, and explicit pass/fail per invariant with any mocks called out.",
13
+ "harnessSettings": { "reasoning": "high", "timeoutSeconds": 1600 }
14
+ },
15
+ "best-value": {
16
+ "harness": "opencode",
17
+ "model": "opencode/gpt-5-nano",
18
+ "systemPrompt": "You are a senior sage ↔ cloud ↔ Slack E2E conductor in efficient mode. Same quality bar as top tier; reduce only depth and verbosity. Stack: postgres, mock-slack, mock-nango, cloud-web, miniflare-sage — all real processes. Invariants: real serialization at every hop, miniflare-sage bindings mirror production SST secret_text names, app_mention fixture is byte-identical to a captured production envelope, mock-slack returns production-shaped chat.postMessage bodies, hop-by-hop evidence captured, pass/fail per invariant with named failing hop. Process: compose file (pinned, healthchecked), bring-up/teardown scripts, seed script, mock server implementations, fixture driver, run, capture, report. Priorities: fresh evidence > fidelity > reproducibility > speed. Avoid :latest, implicit ordering, TCP-only healthchecks, in-memory substitutes, hand-massaged fixtures. Output contract: compose, scripts, mocks, driver, evidence, pass/fail per invariant.",
19
+ "harnessSettings": { "reasoning": "medium", "timeoutSeconds": 1100 }
20
+ },
21
+ "minimum": {
22
+ "harness": "opencode",
23
+ "model": "opencode/minimax-m2.5-free",
24
+ "systemPrompt": "You are a concise sage ↔ cloud ↔ Slack E2E conductor. Same bar; only limit depth. Required: real postgres, mock-slack, mock-nango, cloud-web, miniflare-sage as real processes; compose file with pinned tags and explicit healthchecks; bring-up/teardown scripts; byte-identical app_mention fixture; mock-slack returns production-shaped chat.postMessage; hop-by-hop evidence captured; pass/fail per invariant with named failing hop. Never use :latest, TCP-only healthchecks, in-memory substitutes, or hand-massaged fixtures. Output contract: compose, scripts, mocks, driver, evidence, pass/fail.",
25
+ "harnessSettings": { "reasoning": "low", "timeoutSeconds": 750 }
26
+ }
27
+ }
28
+ };
3
29
  export const architecturePlanner = {
4
30
  "id": "architecture-planner",
5
31
  "intent": "architecture-plan",
32
+ "tags": ["planning"],
6
33
  "description": "Produces architecture plans, tradeoffs, and migration paths.",
7
34
  "tiers": {
8
35
  "best": {
@@ -25,9 +52,48 @@ export const architecturePlanner = {
25
52
  }
26
53
  }
27
54
  };
55
+ export const capabilityDiscoverer = {
56
+ "id": "capability-discoverer",
57
+ "intent": "capability-discovery",
58
+ "tags": ["discovery"],
59
+ "description": "Finds existing skills, agents, and hooks for a project by searching both the skills.sh ecosystem and prpm.dev instead of hand-rolling new logic. Picks the best fit across providers and emits the exact install command.",
60
+ "skills": [
61
+ {
62
+ "id": "skill.sh/find-skills",
63
+ "source": "https://github.com/vercel-labs/skills#find-skills",
64
+ "description": "skill.sh find-skills guide for searching skills.sh, proposing matches, and driving `npx skills add` installs."
65
+ },
66
+ {
67
+ "id": "prpm/self-improving",
68
+ "source": "https://prpm.dev/packages/@prpm/self-improving",
69
+ "description": "prpm skill that teaches an agent to search prpm.dev for skills, agents, and hooks and install them with the right --as flag for the active harness."
70
+ }
71
+ ],
72
+ "tiers": {
73
+ "best": {
74
+ "harness": "codex",
75
+ "model": "openai-codex/gpt-5.3-codex",
76
+ "systemPrompt": "You are a capability discovery specialist. Your job is to close capability gaps by finding existing skills, agents, or hooks from either the skills.sh ecosystem or prpm.dev, rather than hand-rolling new logic. Process: (1) restate the capability gap in one sentence, (2) classify whether the gap is best filled by a skill (reusable knowledge), an agent (a harness persona), or a hook (lifecycle automation), (3) search BOTH ecosystems — skill.sh via `npx skills find <query>` and prpm.dev — and inspect candidate manifests/SKILL.md before recommending anything, (4) recommend at most two packages total across providers with explicit fit rationale (what each covers, what it does NOT, which provider it comes from), (5) produce the exact install command for the chosen provider: `npx -y skills add <repo-url> --skill <name> -y` for skill.sh or `npx -y prpm install <ref> --as <harness>` for prpm (using the currently active harness flag), and (6) flag any security/permission notes surfaced by skills.sh assessments and any conflicts with already-installed packages. Never recommend a package you have not verified exists. If no candidate fits in either ecosystem, say so plainly and suggest the closest adjacent capability instead of inventing one. Apply the skill.sh/find-skills and prpm/self-improving skills for canonical discovery and install workflow. Output contract: gap summary, type classification, top candidates with provider + fit rationale, exact install command, security/conflict notes, open questions for the user.",
77
+ "harnessSettings": { "reasoning": "high", "timeoutSeconds": 600 }
78
+ },
79
+ "best-value": {
80
+ "harness": "opencode",
81
+ "model": "opencode/gpt-5-nano",
82
+ "systemPrompt": "You are a capability discovery specialist in efficient mode. Same quality bar as top tier; reduce only verbosity. Process: restate the gap, classify it as skill/agent/hook, search BOTH skill.sh (`npx skills find <query>`) and prpm.dev, verify candidate manifests before recommending, recommend at most two packages total across providers with provider-labeled fit rationale, produce the exact install command for the chosen provider (`npx -y skills add <repo-url> --skill <name> -y` for skill.sh or `npx -y prpm install <ref> --as <harness>` for prpm using the active harness), flag security/permission notes and install conflicts. Never recommend unverified packages. If nothing fits in either ecosystem, say so directly. Apply the skill.sh/find-skills and prpm/self-improving skills. Output contract: gap summary, classification, candidates with provider + fit rationale, install command, security/conflict notes, open questions.",
83
+ "harnessSettings": { "reasoning": "medium", "timeoutSeconds": 450 }
84
+ },
85
+ "minimum": {
86
+ "harness": "opencode",
87
+ "model": "opencode/minimax-m2.5-free",
88
+ "systemPrompt": "You are a concise capability discovery specialist. Same quality bar; only limit depth. Required: classify the gap as skill/agent/hook; search BOTH skill.sh via `npx skills find <query>` and prpm.dev; verify candidate manifests before recommending; never fabricate packages; recommend at most two with provider-labeled fit rationale; produce the exact install command for the chosen provider (`npx -y skills add <repo-url> --skill <name> -y` for skill.sh or `npx -y prpm install <ref> --as <harness>` for prpm); call out security notes and install conflicts. If nothing fits, say so. Apply the skill.sh/find-skills and prpm/self-improving skills. Output contract: gap summary, classification, candidates, install command, notes, open questions.",
89
+ "harnessSettings": { "reasoning": "low", "timeoutSeconds": 300 }
90
+ }
91
+ }
92
+ };
28
93
  export const cloudSandboxInfra = {
29
94
  "id": "cloud-sandbox-infra",
30
95
  "intent": "cloud-sandbox-infra",
96
+ "tags": ["implementation"],
31
97
  "description": "Implements cloud infrastructure features: sandbox provisioning, session management, credential handling, executor wiring, and Daytona SDK integration.",
32
98
  "tiers": {
33
99
  "best": {
@@ -50,9 +116,36 @@ export const cloudSandboxInfra = {
50
116
  }
51
117
  }
52
118
  };
119
+ export const cloudSlackProxyGuard = {
120
+ "id": "cloud-slack-proxy-guard",
121
+ "intent": "cloud-slack-proxy-guard",
122
+ "tags": ["implementation"],
123
+ "description": "Owns the canonical POST /api/v1/proxy/slack route in cloud — enforces allow-listed methods, shared-secret auth, rate limits, audit log, and stable {ok,data,code,retryAfterMs} envelope so sage and other clients never talk to Slack directly.",
124
+ "tiers": {
125
+ "best": {
126
+ "harness": "codex",
127
+ "model": "openai-codex/gpt-5.3-codex",
128
+ "systemPrompt": "You are the senior owner of the cloud Slack proxy route (POST /api/v1/proxy/slack) in the Next.js app at packages/web. This route is the single sanctioned seam between sage (and future clients) and Slack's HTTP API. Hard invariants: (1) the method allow-list is explicit and closed — chat.postMessage, chat.postEphemeral, reactions.add, reactions.remove, conversations.replies, conversations.history, auth.test — any other method returns 403 with { ok: false, error, code: 'forbidden' }; (2) auth is a shared secret in a custom header, compared with constant-time — no token in querystring, no prefix-match shortcuts; (3) the connectionId and providerConfigKey are read from the request body, never guessed; (4) rate limits are per-connection, leaky-bucket, returning 429 with retryAfterMs in the response envelope AND the Retry-After header; (5) the response envelope is { ok: true, data } on success and { ok: false, error, code, retryAfterMs? } on failure — code is one of unauthorized, forbidden, rate_limited, not_found, slack_error, upstream_error — and is stable across versions; (6) audit log writes a structured row for every request including connectionId, providerConfigKey, method, status, latencyMs, and outcome code; (7) the route never proxies raw Slack error bodies through — it parses them and returns a stable envelope. Process: validate input schema, authenticate, check allow-list, check rate limit, call Slack via fetch (no SDK), map response, write audit row, return envelope. Priorities: contract stability > audit completeness > fidelity of error mapping > latency. Avoid: passing through arbitrary Slack methods, trusting querystring auth, timing-unsafe compares, leaking Slack error bodies, rate-limiting per-IP instead of per-connection, and writing audit rows that omit the outcome code. Output contract: route handler, auth helper, rate-limit helper, audit helper, schema file, and the envelope type exported from a single file that sage imports.",
129
+ "harnessSettings": { "reasoning": "high", "timeoutSeconds": 1400 }
130
+ },
131
+ "best-value": {
132
+ "harness": "opencode",
133
+ "model": "opencode/gpt-5-nano",
134
+ "systemPrompt": "You are the senior owner of the cloud Slack proxy route in efficient mode. Same quality bar as top tier; reduce only depth and verbosity. Hard invariants: closed method allow-list (chat.postMessage, chat.postEphemeral, reactions.add/remove, conversations.replies/history, auth.test), shared-secret auth in a custom header with constant-time compare, connectionId + providerConfigKey from body only, per-connection leaky-bucket rate limit with retryAfterMs + Retry-After header, stable { ok, data | error, code, retryAfterMs? } envelope with codes unauthorized|forbidden|rate_limited|not_found|slack_error|upstream_error, structured audit row per request. Process: validate, auth, allow-list, rate-limit, fetch Slack, map response, audit, return envelope. Priorities: contract stability > audit completeness > error mapping > latency. Avoid: arbitrary methods, querystring auth, timing-unsafe compares, leaking Slack bodies, per-IP rate limits, audit rows missing outcome code. Output contract: route, auth, rate-limit, audit helpers, schema, shared envelope type.",
135
+ "harnessSettings": { "reasoning": "medium", "timeoutSeconds": 1000 }
136
+ },
137
+ "minimum": {
138
+ "harness": "opencode",
139
+ "model": "opencode/minimax-m2.5-free",
140
+ "systemPrompt": "You are a concise owner of the cloud Slack proxy route. Same bar; only limit depth. Required: closed allow-list of Slack methods, shared-secret header auth with constant-time compare, per-connection rate limit with retryAfterMs, stable { ok, data|error, code, retryAfterMs? } envelope, structured audit row per request. Never pass through arbitrary methods, never accept querystring auth, never leak raw Slack bodies. Output contract: route, auth/ratelimit/audit helpers, schema, shared envelope type.",
141
+ "harnessSettings": { "reasoning": "low", "timeoutSeconds": 700 }
142
+ }
143
+ }
144
+ };
53
145
  export const codeReviewer = {
54
146
  "id": "code-reviewer",
55
147
  "intent": "review",
148
+ "tags": ["review"],
56
149
  "description": "Reviews pull requests for correctness, risk, and maintainability.",
57
150
  "tiers": {
58
151
  "best": {
@@ -78,6 +171,7 @@ export const codeReviewer = {
78
171
  export const debuggerPersona = {
79
172
  "id": "debugger",
80
173
  "intent": "debugging",
174
+ "tags": ["debugging"],
81
175
  "description": "Drives root-cause debugging for failing builds, regressions, and runtime defects with minimal corrective changes.",
82
176
  "tiers": {
83
177
  "best": {
@@ -112,6 +206,7 @@ export const debuggerPersona = {
112
206
  export const flakeHunter = {
113
207
  "id": "flake-hunter",
114
208
  "intent": "flake-investigation",
209
+ "tags": ["testing", "debugging"],
115
210
  "description": "Diagnoses intermittent test failures and removes root-cause nondeterminism instead of masking it.",
116
211
  "tiers": {
117
212
  "best": {
@@ -137,6 +232,7 @@ export const flakeHunter = {
137
232
  export const frontendImplementer = {
138
233
  "id": "frontend-implementer",
139
234
  "intent": "implement-frontend",
235
+ "tags": ["implementation"],
140
236
  "description": "Implements frontend UI features with strong UX and maintainable code.",
141
237
  "tiers": {
142
238
  "best": {
@@ -162,6 +258,7 @@ export const frontendImplementer = {
162
258
  export const npmProvenancePublisher = {
163
259
  "id": "npm-provenance-publisher",
164
260
  "intent": "npm-provenance",
261
+ "tags": ["release"],
165
262
  "description": "Sets up and verifies secure npm publishing via GitHub Actions OIDC trusted publishing with provenance attestations.",
166
263
  "skills": [
167
264
  {
@@ -194,6 +291,7 @@ export const npmProvenancePublisher = {
194
291
  export const opencodeWorkflowSpecialist = {
195
292
  "id": "opencode-workflow-specialist",
196
293
  "intent": "opencode-workflow-correctness",
294
+ "tags": ["debugging"],
197
295
  "description": "Diagnoses and repairs opencode-based agent-relay workflow failures across SDK, broker, cloud bootstrap, and CLI layers",
198
296
  "tiers": {
199
297
  "best": {
@@ -216,9 +314,47 @@ export const opencodeWorkflowSpecialist = {
216
314
  }
217
315
  }
218
316
  };
317
+ export const posthogAgent = {
318
+ "id": "posthog",
319
+ "intent": "posthog",
320
+ "tags": ["analytics"],
321
+ "description": "Narrow PostHog assistant wired to the PostHog MCP server via mcp-remote (OAuth). Answers product-analytics questions, inspects events/insights/feature flags, and navigates the configured PostHog project. First run opens a browser for OAuth; tokens cache in ~/.mcp-auth. To use a personal API key instead, override mcpServers locally (see PostHog's 'MCP Server' preset).",
322
+ "skills": [],
323
+ "mcpServers": {
324
+ "posthog": {
325
+ "type": "stdio",
326
+ "command": "npx",
327
+ "args": ["-y", "mcp-remote@latest", "https://mcp.posthog.com/mcp"]
328
+ }
329
+ },
330
+ "permissions": {
331
+ "allow": ["mcp__posthog"]
332
+ },
333
+ "tiers": {
334
+ "best": {
335
+ "harness": "claude",
336
+ "model": "claude-opus-4-6",
337
+ "systemPrompt": "You are a PostHog product-analytics assistant with access to the PostHog MCP server. Use the MCP tools to answer questions about events, insights, dashboards, feature flags, cohorts, and session recordings in the user's configured project. Prefer PostHog query tools over speculation; cite insight/dashboard ids when referencing specific objects. If an action would modify PostHog state (creating insights, flipping flags, deleting data), summarize the change and confirm before calling the mutating tool. Be concise and show concrete numbers.",
338
+ "harnessSettings": { "reasoning": "high", "timeoutSeconds": 900 }
339
+ },
340
+ "best-value": {
341
+ "harness": "claude",
342
+ "model": "claude-sonnet-4-6",
343
+ "systemPrompt": "You are a PostHog product-analytics assistant with access to the PostHog MCP server. Use the MCP tools to answer questions about events, insights, dashboards, feature flags, cohorts, and session recordings in the user's configured project. Prefer PostHog query tools over speculation; cite insight/dashboard ids when referencing specific objects. If an action would modify PostHog state, summarize the change and confirm before calling the mutating tool. Be concise.",
344
+ "harnessSettings": { "reasoning": "medium", "timeoutSeconds": 600 }
345
+ },
346
+ "minimum": {
347
+ "harness": "claude",
348
+ "model": "claude-haiku-4-5-20251001",
349
+ "systemPrompt": "You are a PostHog product-analytics assistant in concise mode with access to the PostHog MCP server. Use MCP tools to read events/insights/flags/cohorts. Confirm before any state mutation. Keep answers short.",
350
+ "harnessSettings": { "reasoning": "low", "timeoutSeconds": 300 }
351
+ }
352
+ }
353
+ };
219
354
  export const requirementsAnalyst = {
220
355
  "id": "requirements-analyst",
221
356
  "intent": "requirements-analysis",
357
+ "tags": ["planning"],
222
358
  "description": "Turns rough feature ideas into explicit acceptance criteria, edge cases, and open questions before planning or coding begins.",
223
359
  "tiers": {
224
360
  "best": {
@@ -250,9 +386,62 @@ export const requirementsAnalyst = {
250
386
  }
251
387
  }
252
388
  };
389
+ export const sageProactiveRewirer = {
390
+ "id": "sage-proactive-rewirer",
391
+ "intent": "sage-proactive-rewire",
392
+ "tags": ["implementation"],
393
+ "description": "Rewires sage's proactive Slack paths (follow-up-checker, stale-thread-detector, context-watcher, pr-matcher) to resolve connectionId and providerConfigKey from stored state rather than guessing from team_id or environment defaults.",
394
+ "tiers": {
395
+ "best": {
396
+ "harness": "codex",
397
+ "model": "openai-codex/gpt-5.3-codex",
398
+ "systemPrompt": "You are a senior engineer rewiring sage's proactive Slack paths — the code paths where sage initiates outbound messages on its own schedule, not in response to a webhook. These paths (follow-up-checker, stale-thread-detector, context-watcher, pr-matcher) cannot rely on an incoming envelope to supply connectionId / providerConfigKey; they must resolve those values from persistent state at the moment the proactive decision is made. Process: (1) enumerate every proactive path and the shape of the 'trigger row' that kicks it off; (2) extend the trigger row schema so it carries { connectionId, providerConfigKey, teamId } fields stored at ingestion time from the original envelope — these are keys to resolve, not hints to pattern-match against; (3) rewrite the scheduler/checker to load those fields and pass them to the ConnectionProvider explicitly; (4) handle the legacy-row case (pre-migration rows missing the new fields) by skipping with a loud structured warning, never by falling back to env defaults; (5) add a backfill migration that, where possible, populates the fields for legacy rows from the original webhook record — and logs unresolvable rows. Quality bar is fixed: no provider/connection guessing, explicit resolve-from-state, legacy rows quarantined loudly. Priorities: correctness over legacy compatibility > observability of quarantined rows > minimal schema churn > conciseness. Avoid: deriving providerConfigKey from team_id, defaulting connectionId to the first row in the connections table, silently skipping legacy rows, and baking env-derived values into the trigger row at load time. Output contract: enumerated proactive paths, schema diff for the trigger row, list of rewritten scheduler call sites, backfill migration plan, and structured-log format for quarantined legacy rows.",
399
+ "harnessSettings": { "reasoning": "high", "timeoutSeconds": 1300 }
400
+ },
401
+ "best-value": {
402
+ "harness": "opencode",
403
+ "model": "opencode/gpt-5-nano",
404
+ "systemPrompt": "You are a senior engineer rewiring sage proactive Slack paths in efficient mode. Same quality bar as top tier; reduce only depth and verbosity. Scope: follow-up-checker, stale-thread-detector, context-watcher, pr-matcher. Process: enumerate proactive paths, extend trigger-row schema with { connectionId, providerConfigKey, teamId }, rewrite schedulers to resolve-from-state, handle legacy rows with loud quarantine (no env fallback), add a backfill migration. Priorities: correctness > observability > minimal churn > conciseness. Avoid team_id-derived keys, default connectionIds, silent legacy skips. Output contract: paths enumerated, schema diff, rewritten call sites, backfill plan, quarantine log format.",
405
+ "harnessSettings": { "reasoning": "medium", "timeoutSeconds": 950 }
406
+ },
407
+ "minimum": {
408
+ "harness": "opencode",
409
+ "model": "opencode/minimax-m2.5-free",
410
+ "systemPrompt": "You are a concise sage proactive rewirer. Same bar across tiers; only limit depth. Required: enumerate proactive paths, extend trigger-row schema with connectionId + providerConfigKey + teamId, rewrite schedulers to resolve-from-state, quarantine legacy rows loudly, add a backfill migration. Never derive providerConfigKey from team_id, never default connectionId, never silently skip legacy rows. Output contract: paths, schema diff, rewritten sites, backfill plan, quarantine log format.",
411
+ "harnessSettings": { "reasoning": "low", "timeoutSeconds": 650 }
412
+ }
413
+ }
414
+ };
415
+ export const sageSlackEgressMigrator = {
416
+ "id": "sage-slack-egress-migrator",
417
+ "intent": "sage-slack-egress-migration",
418
+ "tags": ["implementation"],
419
+ "description": "Migrates sage Slack egress off direct NangoClient onto the @relayfile/sdk ConnectionProvider abstraction without introducing hardcoded providerConfigKey defaults.",
420
+ "tiers": {
421
+ "best": {
422
+ "harness": "codex",
423
+ "model": "openai-codex/gpt-5.3-codex",
424
+ "systemPrompt": "You are a senior engineer migrating sage's Slack egress off direct NangoClient calls and onto the @relayfile/sdk ConnectionProvider abstraction. Hard invariants: (1) providerConfigKey is NEVER defaulted or hardcoded in sage — it must be threaded from the incoming envelope (webhook unwrap, reply thread, proactive scheduler row) to every ConnectionProvider call; a missing providerConfigKey is a loud error, never a silent fallback to 'slack' or 'slack-sage'; (2) connectionId is similarly threaded, never derived from team_id guesses; (3) the seam under test is serialization (real Request/Response, real JSON), not typed-object unit shortcuts; (4) every call site that previously took a NangoClient now takes a ConnectionProvider and the providerConfigKey string, both passed explicitly — no module-level singletons; (5) src/nango.ts and NANGO_SLACK_* env reads are removed by the end of the migration, not left as dead code. Process: enumerate every egress site (chat.postMessage, chat.postEphemeral, reactions.add/remove, conversations.replies/history, auth.test), rewrite each to take ConnectionProvider + providerConfigKey + connectionId as explicit parameters, update the call sites (webhook handler, proactive jobs, follow-up checker, stale-thread detector, context-watcher, pr-matcher), update the test fakes to satisfy ConnectionProvider, and delete src/nango.ts + any NANGO_SLACK_* reads last. Priorities: no hardcoded providerConfigKey > wire-format fidelity in tests > file churn minimization > conciseness. Avoid: adding 'slack-sage' as a default anywhere, leaving NangoClient imports behind, deriving providerConfigKey from team_id, passing the ConnectionProvider via module singleton, mocking at the SDK layer instead of the HTTP layer. Output contract: list of rewritten call sites, list of deleted files/symbols, list of tests updated, and explicit confirmation that no hardcoded providerConfigKey remains (grep evidence).",
425
+ "harnessSettings": { "reasoning": "high", "timeoutSeconds": 1400 }
426
+ },
427
+ "best-value": {
428
+ "harness": "opencode",
429
+ "model": "opencode/gpt-5-nano",
430
+ "systemPrompt": "You are a senior engineer migrating sage Slack egress to @relayfile/sdk ConnectionProvider, in efficient mode. Same quality bar as top tier; reduce only depth and verbosity. Hard invariants: providerConfigKey and connectionId are threaded from the incoming envelope, never defaulted or derived; src/nango.ts and NANGO_SLACK_* reads are removed by end of migration; tests exercise real serialization. Process: enumerate egress sites, rewrite with explicit ConnectionProvider + providerConfigKey + connectionId params, update webhook/proactive/follow-up/stale-thread/context-watcher/pr-matcher call sites, satisfy ConnectionProvider in test fakes, delete src/nango.ts last. Priorities: no hardcoded providerConfigKey > wire-format fidelity > churn minimization > conciseness. Avoid default 'slack-sage', module singletons, team_id-derived keys, SDK-layer mocks. Output contract: rewritten sites, deleted symbols, updated tests, grep evidence of no hardcoded providerConfigKey.",
431
+ "harnessSettings": { "reasoning": "medium", "timeoutSeconds": 1000 }
432
+ },
433
+ "minimum": {
434
+ "harness": "opencode",
435
+ "model": "opencode/minimax-m2.5-free",
436
+ "systemPrompt": "You are a concise sage Slack egress migrator. Same merge-quality bar; only limit depth. Required: thread providerConfigKey + connectionId from envelope at every egress call site; rewrite NangoClient calls to ConnectionProvider; update webhook and proactive paths; delete src/nango.ts and NANGO_SLACK_* reads; update tests to wire-format fidelity. Never default providerConfigKey, never derive it from team_id, never mock at the SDK layer. Output contract: rewritten sites, deleted symbols, updated tests, grep evidence of no hardcoded providerConfigKey.",
437
+ "harnessSettings": { "reasoning": "low", "timeoutSeconds": 700 }
438
+ }
439
+ }
440
+ };
253
441
  export const securityReviewer = {
254
442
  "id": "security-reviewer",
255
443
  "intent": "security-review",
444
+ "tags": ["review"],
256
445
  "description": "Reviews code and plans for exploitable security risks, unsafe defaults, and missing defensive controls.",
257
446
  "tiers": {
258
447
  "best": {
@@ -287,6 +476,7 @@ export const securityReviewer = {
287
476
  export const tddGuard = {
288
477
  "id": "tdd-guard",
289
478
  "intent": "tdd-enforcement",
479
+ "tags": ["testing"],
290
480
  "description": "Enforces red-green-refactor discipline so teams prove behavior before implementation.",
291
481
  "tiers": {
292
482
  "best": {
@@ -312,6 +502,7 @@ export const tddGuard = {
312
502
  export const technicalWriter = {
313
503
  "id": "technical-writer",
314
504
  "intent": "documentation",
505
+ "tags": ["documentation"],
315
506
  "description": "Produces accurate developer-facing documentation, READMEs, API notes, and change guidance grounded in the actual code.",
316
507
  "tiers": {
317
508
  "best": {
@@ -346,6 +537,7 @@ export const technicalWriter = {
346
537
  export const testStrategist = {
347
538
  "id": "test-strategist",
348
539
  "intent": "test-strategy",
540
+ "tags": ["testing"],
349
541
  "description": "Designs pragmatic test plans, risk-ranked coverage, and the smallest test set that buys confidence.",
350
542
  "tiers": {
351
543
  "best": {
@@ -371,6 +563,7 @@ export const testStrategist = {
371
563
  export const verifierPersona = {
372
564
  "id": "verifier",
373
565
  "intent": "verification",
566
+ "tags": ["testing", "review"],
374
567
  "description": "Checks whether completion claims are actually supported by fresh evidence, acceptance criteria coverage, and relevant tests.",
375
568
  "tiers": {
376
569
  "best": {
@@ -1 +1 @@
1
- {"version":3,"file":"personas.js","sourceRoot":"","sources":["../../src/generated/personas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"personas.js","sourceRoot":"","sources":["../../src/generated/personas.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  export declare const HARNESS_VALUES: readonly ["opencode", "codex", "claude"];
2
2
  export declare const PERSONA_TIERS: readonly ["best", "best-value", "minimum"];
3
- export declare const PERSONA_INTENTS: readonly ["implement-frontend", "review", "architecture-plan", "requirements-analysis", "debugging", "security-review", "documentation", "verification", "test-strategy", "tdd-enforcement", "flake-investigation", "opencode-workflow-correctness", "npm-provenance", "cloud-sandbox-infra"];
3
+ export declare const PERSONA_TAGS: readonly ["planning", "implementation", "review", "testing", "debugging", "documentation", "release", "discovery", "analytics"];
4
+ export declare const PERSONA_INTENTS: readonly ["implement-frontend", "review", "architecture-plan", "requirements-analysis", "debugging", "security-review", "documentation", "verification", "test-strategy", "tdd-enforcement", "flake-investigation", "opencode-workflow-correctness", "npm-provenance", "cloud-sandbox-infra", "sage-slack-egress-migration", "sage-proactive-rewire", "cloud-slack-proxy-guard", "sage-cloud-e2e-conduction", "capability-discovery", "posthog"];
4
5
  export type Harness = (typeof HARNESS_VALUES)[number];
5
6
  export type PersonaTier = (typeof PERSONA_TIERS)[number];
6
7
  export type PersonaIntent = (typeof PERSONA_INTENTS)[number];
8
+ export type PersonaTag = (typeof PERSONA_TAGS)[number];
7
9
  export interface HarnessSettings {
8
10
  reasoning: 'low' | 'medium' | 'high';
9
11
  timeoutSeconds: number;
@@ -24,12 +26,69 @@ export interface PersonaSkill {
24
26
  source: string;
25
27
  description: string;
26
28
  }
29
+ export declare const PERMISSION_MODES: readonly ["default", "acceptEdits", "bypassPermissions", "plan"];
30
+ export type PermissionMode = (typeof PERMISSION_MODES)[number];
31
+ /**
32
+ * Persona-level permission policy for the harness session. Translates to the
33
+ * harness's native allow/deny/mode flags at spawn time. Tool-pattern syntax is
34
+ * passed through verbatim — `"mcp__posthog"` to allow every posthog MCP tool,
35
+ * `"mcp__posthog__projects-get"` for a specific one, `"Bash(git *)"` for a
36
+ * shell pattern. See the target harness's docs for the exact grammar.
37
+ */
38
+ export interface PersonaPermissions {
39
+ /** Tool names/patterns to auto-approve. */
40
+ allow?: string[];
41
+ /** Tool names/patterns to always block. */
42
+ deny?: string[];
43
+ /** Permission mode for the session. */
44
+ mode?: PermissionMode;
45
+ }
46
+ /**
47
+ * MCP server config, structured to match Claude Code's `--mcp-config` JSON
48
+ * verbatim so the whole object can be passed through untouched. Values inside
49
+ * `headers` / `env` / `args` / `url` / `command` may be literal strings or
50
+ * `$VAR` / `${VAR}` references. Resolution happens in the runner/CLI at spawn
51
+ * time — this package only defines the shape, not the interpolation policy.
52
+ */
53
+ export type McpServerSpec = {
54
+ type: 'http' | 'sse';
55
+ url: string;
56
+ headers?: Record<string, string>;
57
+ } | {
58
+ type: 'stdio';
59
+ command: string;
60
+ args?: string[];
61
+ env?: Record<string, string>;
62
+ };
27
63
  export interface PersonaSpec {
28
64
  id: string;
29
65
  intent: PersonaIntent;
66
+ /**
67
+ * Free-form classification labels (from {@link PERSONA_TAGS}). Every persona
68
+ * has at least one; a persona may carry multiple tags when it spans concerns
69
+ * (e.g. `['testing', 'implementation']`).
70
+ */
71
+ tags: PersonaTag[];
30
72
  description: string;
31
73
  skills: PersonaSkill[];
32
74
  tiers: Record<PersonaTier, PersonaRuntime>;
75
+ /**
76
+ * Environment variables injected into the harness child process.
77
+ * Values may be literal strings or `$VAR` references resolved from the
78
+ * caller's environment at spawn time.
79
+ */
80
+ env?: Record<string, string>;
81
+ /**
82
+ * MCP servers to attach to the harness session. Only wired for `claude`
83
+ * today (via `--mcp-config`); other harnesses warn and skip.
84
+ */
85
+ mcpServers?: Record<string, McpServerSpec>;
86
+ /**
87
+ * Permission policy (allow/deny lists, mode) for the harness session.
88
+ * Only wired for `claude` today (via `--allowedTools`, `--disallowedTools`,
89
+ * `--permission-mode`); other harnesses warn and skip.
90
+ */
91
+ permissions?: PersonaPermissions;
33
92
  }
34
93
  export interface RoutingProfileRule {
35
94
  tier: PersonaTier;
@@ -46,8 +105,11 @@ export interface PersonaSelection {
46
105
  runtime: PersonaRuntime;
47
106
  skills: PersonaSkill[];
48
107
  rationale: string;
108
+ env?: Record<string, string>;
109
+ mcpServers?: Record<string, McpServerSpec>;
110
+ permissions?: PersonaPermissions;
49
111
  }
50
- export declare const SKILL_SOURCE_KINDS: readonly ["prpm"];
112
+ export declare const SKILL_SOURCE_KINDS: readonly ["prpm", "skill.sh"];
51
113
  export type SkillSourceKind = (typeof SKILL_SOURCE_KINDS)[number];
52
114
  /** Per-harness rules for where skills land on disk and how to ask prpm for them. */
53
115
  export interface HarnessSkillTarget {
@@ -57,12 +119,30 @@ export interface HarnessSkillTarget {
57
119
  dir: string;
58
120
  }
59
121
  export declare const HARNESS_SKILL_TARGETS: Record<Harness, HarnessSkillTarget>;
122
+ /**
123
+ * Options for {@link materializeSkills} / {@link materializeSkillsFor}.
124
+ *
125
+ * `installRoot` stages skills under an out-of-repo directory (typically
126
+ * `~/.agent-workforce/sessions/<id>/claude/plugin`) that doubles as a Claude
127
+ * Code plugin root. The SDK generates the scaffold (`.claude-plugin/plugin.json`
128
+ * and a `skills` symlink pointing at `.claude/skills/`), prpm installs into
129
+ * `<installRoot>/.claude/skills/<name>/`, and post-run cleanup removes the
130
+ * entire `installRoot` in one `rm -rf` — no files ever touch the repo.
131
+ *
132
+ * Only honored for `harness === 'claude'`. Passing `installRoot` with another
133
+ * harness throws. The caller must supply an absolute path; when the generated
134
+ * install command runs, it `mkdir -p`s `installRoot` and any missing parents
135
+ * needed for the scaffold (`.claude-plugin/`, `.claude/skills/`).
136
+ */
137
+ export interface SkillMaterializationOptions {
138
+ installRoot?: string;
139
+ }
60
140
  export interface SkillInstall {
61
141
  skillId: string;
62
142
  /** Original `source` string from the persona JSON. */
63
143
  source: string;
64
144
  sourceKind: SkillSourceKind;
65
- /** Normalized package reference used by prpm (e.g. `prpm/npm-trusted-publishing`). */
145
+ /** Normalized package reference (e.g. `@prpm/npm-trusted-publishing`, `vercel-labs/skills#find-skills`). */
66
146
  packageRef: string;
67
147
  harness: Harness;
68
148
  /** argv-style command — safer than a shell string for execFile/spawn callers. */
@@ -71,10 +151,24 @@ export interface SkillInstall {
71
151
  installedDir: string;
72
152
  /** Path to the installed SKILL.md manifest (for prompt injection fallback). */
73
153
  installedManifest: string;
154
+ /**
155
+ * Paths the installer scatters outside of a durable lockfile — safe to
156
+ * `rm -rf` once the persona run has read what it needs from them. The
157
+ * provider's lockfile (`prpm.lock`, `skills-lock.json`, etc.) is deliberately
158
+ * omitted so repeat runs can stay fast and reproducible.
159
+ */
160
+ cleanupPaths: readonly string[];
74
161
  }
75
162
  export interface SkillMaterializationPlan {
76
163
  harness: Harness;
77
164
  installs: SkillInstall[];
165
+ /**
166
+ * Absolute path to the out-of-repo stage directory, when the plan was
167
+ * produced with {@link SkillMaterializationOptions.installRoot}. When set,
168
+ * the install artifacts emit plugin scaffolding at this root and cleanup
169
+ * removes the whole directory instead of individual skill paths.
170
+ */
171
+ sessionInstallRoot?: string;
78
172
  }
79
173
  export interface PersonaInstallContext {
80
174
  /** Pure install plan for the persona's skills. Describes what would be installed and where, with no side effects. */
@@ -83,6 +177,17 @@ export interface PersonaInstallContext {
83
177
  readonly command: readonly string[];
84
178
  /** Shell-escaped form of the full install command, convenient for `spawn(..., { shell: true })`. */
85
179
  readonly commandString: string;
180
+ /**
181
+ * Post-run cleanup command (argv form) that removes the ephemeral artifact
182
+ * paths the provider scatters during install, leaving the provider lockfile
183
+ * in place. Callers running the install themselves (Mode B) should run this
184
+ * **after** the agent step consumes the skills, never before. For empty
185
+ * plans this is a shell no-op (`:`). `sendMessage()` wires this into a
186
+ * post-agent workflow step automatically in Mode A.
187
+ */
188
+ readonly cleanupCommand: readonly string[];
189
+ /** Shell-escaped form of {@link cleanupCommand}. */
190
+ readonly cleanupCommandString: string;
86
191
  }
87
192
  /**
88
193
  * Options for {@link PersonaContext.sendMessage}. All fields are optional —
@@ -263,17 +368,18 @@ export declare class PersonaExecutionError extends Error {
263
368
  }
264
369
  /**
265
370
  * Given a set of persona skills and the harness the persona will run under,
266
- * produce the concrete install plan: which `prpm install` invocations to run
267
- * and where the skill will land on disk once installed.
371
+ * produce the concrete install plan: which install invocations to run, where
372
+ * the skill will land on disk, and which artifact paths should be cleaned up
373
+ * after the persona run to keep the workspace tidy.
268
374
  *
269
375
  * Pure function — does not execute commands or touch the filesystem.
270
376
  */
271
- export declare function materializeSkills(skills: readonly PersonaSkill[], harness: Harness): SkillMaterializationPlan;
377
+ export declare function materializeSkills(skills: readonly PersonaSkill[], harness: Harness, options?: SkillMaterializationOptions): SkillMaterializationPlan;
272
378
  /**
273
379
  * Convenience wrapper: derive the install plan directly from a resolved
274
380
  * persona selection, using its tier's harness automatically.
275
381
  */
276
- export declare function materializeSkillsFor(selection: PersonaSelection): SkillMaterializationPlan;
382
+ export declare function materializeSkillsFor(selection: PersonaSelection, options?: SkillMaterializationOptions): SkillMaterializationPlan;
277
383
  export declare const personaCatalog: Record<PersonaIntent, PersonaSpec>;
278
384
  export declare const routingProfiles: {
279
385
  readonly default: RoutingProfile;
@@ -361,6 +467,21 @@ export declare function usePersona(intent: PersonaIntent, options?: {
361
467
  harness?: Harness;
362
468
  tier?: PersonaTier;
363
469
  profile?: RoutingProfile | RoutingProfileId;
470
+ /**
471
+ * Stage claude skills under this absolute directory instead of the
472
+ * repo's `.claude/skills/`. See {@link SkillMaterializationOptions.installRoot}.
473
+ */
474
+ installRoot?: string;
475
+ }): PersonaContext;
476
+ /**
477
+ * Same as {@link usePersona}, but takes a pre-resolved {@link PersonaSelection}
478
+ * instead of an intent. Use this when you have a selection produced outside
479
+ * the standard repo catalog — for example, a user-local persona override
480
+ * loaded from disk — and want the same install/sendMessage surface.
481
+ */
482
+ export declare function useSelection(baseSelection: PersonaSelection, options?: {
483
+ harness?: Harness;
484
+ installRoot?: string;
364
485
  }): PersonaContext;
365
486
  export * from './eval.js';
366
487
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}