@agent-relay/sdk 6.0.10 → 6.0.12

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.
Files changed (45) hide show
  1. package/bin/agent-relay-broker-darwin-arm64 +0 -0
  2. package/bin/agent-relay-broker-darwin-x64 +0 -0
  3. package/bin/agent-relay-broker-linux-arm64 +0 -0
  4. package/bin/agent-relay-broker-linux-x64 +0 -0
  5. package/bin/agent-relay-broker-win32-x64.exe +0 -0
  6. package/dist/client.d.ts.map +1 -1
  7. package/dist/client.js +25 -5
  8. package/dist/client.js.map +1 -1
  9. package/dist/examples/persona-spawn.d.ts +2 -0
  10. package/dist/examples/persona-spawn.d.ts.map +1 -0
  11. package/dist/examples/persona-spawn.js +44 -0
  12. package/dist/examples/persona-spawn.js.map +1 -0
  13. package/dist/github.d.ts +9 -1
  14. package/dist/github.d.ts.map +1 -1
  15. package/dist/github.js +9 -1
  16. package/dist/github.js.map +1 -1
  17. package/dist/index.d.ts +3 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +3 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/personas.d.ts +160 -0
  22. package/dist/personas.d.ts.map +1 -0
  23. package/dist/personas.js +401 -0
  24. package/dist/personas.js.map +1 -0
  25. package/dist/relay.d.ts +76 -6
  26. package/dist/relay.d.ts.map +1 -1
  27. package/dist/relay.js +82 -1
  28. package/dist/relay.js.map +1 -1
  29. package/dist/types.d.ts +21 -6
  30. package/dist/types.d.ts.map +1 -1
  31. package/dist/workflows/__tests__/workflow-reliability-contract.test.d.ts +2 -0
  32. package/dist/workflows/__tests__/workflow-reliability-contract.test.d.ts.map +1 -0
  33. package/dist/workflows/__tests__/workflow-reliability-contract.test.js +337 -0
  34. package/dist/workflows/__tests__/workflow-reliability-contract.test.js.map +1 -0
  35. package/dist/workflows/builder.d.ts +2 -0
  36. package/dist/workflows/builder.d.ts.map +1 -1
  37. package/dist/workflows/builder.js +4 -0
  38. package/dist/workflows/builder.js.map +1 -1
  39. package/dist/workflows/runner.d.ts +4 -0
  40. package/dist/workflows/runner.d.ts.map +1 -1
  41. package/dist/workflows/runner.js +151 -3
  42. package/dist/workflows/runner.js.map +1 -1
  43. package/dist/workflows/types.d.ts +4 -0
  44. package/dist/workflows/types.d.ts.map +1 -1
  45. package/package.json +18 -11
@@ -0,0 +1,401 @@
1
+ /**
2
+ * Persona loading and translation.
3
+ *
4
+ * A persona is a JSON file that describes a pre-configured agent: which
5
+ * harness (CLI) to use, which model, what system prompt to inject, plus
6
+ * optional MCP servers and permission flags. Personas live in
7
+ * `<cwd>/agentworkforce/personas`, the AgentWorkforce home directory, or
8
+ * any directory the caller passes explicitly.
9
+ *
10
+ * Translation from a resolved persona to `{bin, args}` delegates to
11
+ * `@agentworkforce/harness-kit#buildInteractiveSpec`, so relay always
12
+ * produces the same launch args the AgentWorkforce CLI does.
13
+ *
14
+ * The schema mirrors the AgentWorkforce persona format
15
+ * (see https://github.com/AgentWorkforce/workforce). Skills installation,
16
+ * mount policy, sidecar markdown, input rendering, and routing profiles
17
+ * are deliberately not handled here — callers needing those should use
18
+ * the `agentworkforce` CLI directly.
19
+ */
20
+ import { existsSync, readFileSync, readdirSync, writeFileSync, mkdirSync, rmSync } from 'node:fs';
21
+ import { homedir } from 'node:os';
22
+ import { dirname, isAbsolute, join, relative, resolve as resolvePath, sep } from 'node:path';
23
+ import { buildInteractiveSpec, } from '@agentworkforce/harness-kit';
24
+ import { HARNESS_VALUES, PERSONA_TIERS, } from '@agentworkforce/workload-router';
25
+ export { HARNESS_VALUES, PERSONA_TIERS };
26
+ // ── Default search dirs ────────────────────────────────────────────────────
27
+ function expandHome(p) {
28
+ if (p === '~')
29
+ return homedir();
30
+ if (p.startsWith('~/') || p.startsWith('~\\'))
31
+ return join(homedir(), p.slice(2));
32
+ return p;
33
+ }
34
+ /**
35
+ * The default cascade. First match wins for a given persona id.
36
+ *
37
+ * 1. `<cwd>/agentworkforce/personas` (the path most projects pick)
38
+ * 2. `<cwd>/.agentworkforce/workforce/personas` (workforce CLI's project default)
39
+ * 3. `<cwd>/agentworkforce/workforce/personas` (alt workforce layout)
40
+ * 4. `$AGENT_WORKFORCE_HOME/personas` if set, else `~/.agentworkforce/workforce/personas`
41
+ */
42
+ export function defaultPersonaSearchDirs(cwd = process.cwd()) {
43
+ const dirs = [
44
+ join(cwd, 'agentworkforce', 'personas'),
45
+ join(cwd, '.agentworkforce', 'workforce', 'personas'),
46
+ join(cwd, 'agentworkforce', 'workforce', 'personas'),
47
+ ];
48
+ const home = process.env.AGENT_WORKFORCE_HOME?.trim();
49
+ if (home) {
50
+ dirs.push(join(expandHome(home), 'personas'));
51
+ }
52
+ else {
53
+ dirs.push(join(homedir(), '.agentworkforce', 'workforce', 'personas'));
54
+ }
55
+ return dirs;
56
+ }
57
+ function effectiveSearchDirs(options) {
58
+ const cwd = options.cwd ?? process.cwd();
59
+ const base = options.searchDirs
60
+ ? options.searchDirs.map((d) => normalizeDir(d, cwd))
61
+ : defaultPersonaSearchDirs(cwd);
62
+ const extras = (options.extraDirs ?? []).map((d) => normalizeDir(d, cwd));
63
+ return dedupe([...base, ...extras]);
64
+ }
65
+ function normalizeDir(input, cwd) {
66
+ const expanded = expandHome(input.trim());
67
+ return isAbsolute(expanded) ? resolvePath(expanded) : resolvePath(cwd, expanded);
68
+ }
69
+ function dedupe(items) {
70
+ const seen = new Set();
71
+ const out = [];
72
+ for (const item of items) {
73
+ if (seen.has(item))
74
+ continue;
75
+ seen.add(item);
76
+ out.push(item);
77
+ }
78
+ return out;
79
+ }
80
+ // ── Discovery ──────────────────────────────────────────────────────────────
81
+ /**
82
+ * List every persona discoverable across the search-dir cascade. When the
83
+ * same id appears in multiple dirs, only the first match (by cascade order)
84
+ * is returned.
85
+ */
86
+ export function listPersonas(options = {}) {
87
+ const dirs = effectiveSearchDirs(options);
88
+ const byId = new Map();
89
+ for (const dir of dirs) {
90
+ if (!existsSync(dir))
91
+ continue;
92
+ let entries;
93
+ try {
94
+ entries = readdirSync(dir);
95
+ }
96
+ catch {
97
+ continue;
98
+ }
99
+ for (const file of entries) {
100
+ if (!file.endsWith('.json'))
101
+ continue;
102
+ const path = join(dir, file);
103
+ let spec;
104
+ try {
105
+ // Single read avoids a TOCTOU between stat and readFileSync — if the
106
+ // entry is a directory, vanished, or unreadable we skip it.
107
+ spec = parsePersonaFile(JSON.parse(readFileSync(path, 'utf8')), path);
108
+ }
109
+ catch {
110
+ continue;
111
+ }
112
+ if (!byId.has(spec.id)) {
113
+ byId.set(spec.id, { id: spec.id, path, spec });
114
+ }
115
+ }
116
+ }
117
+ return [...byId.values()];
118
+ }
119
+ /**
120
+ * Find a persona file by id across the search-dir cascade.
121
+ * Returns undefined if not found.
122
+ */
123
+ export function findPersona(id, options = {}) {
124
+ const dirs = effectiveSearchDirs(options);
125
+ for (const dir of dirs) {
126
+ if (!existsSync(dir))
127
+ continue;
128
+ const candidate = join(dir, `${id}.json`);
129
+ let candidateBytes;
130
+ try {
131
+ // Single read avoids a stat/read TOCTOU. ENOENT (file missing) falls
132
+ // through to a directory scan for personas with mismatched filenames;
133
+ // any other read failure or parse failure on a convention-named file
134
+ // surfaces directly so a typo in the JSON isn't silently treated as
135
+ // "persona not found".
136
+ candidateBytes = readFileSync(candidate, 'utf8');
137
+ }
138
+ catch (err) {
139
+ if (err.code !== 'ENOENT')
140
+ throw err;
141
+ }
142
+ if (candidateBytes !== undefined) {
143
+ const spec = parsePersonaFile(JSON.parse(candidateBytes), candidate);
144
+ if (spec.id === id)
145
+ return { id, path: candidate, spec };
146
+ }
147
+ let entries;
148
+ try {
149
+ entries = readdirSync(dir);
150
+ }
151
+ catch {
152
+ continue;
153
+ }
154
+ for (const file of entries) {
155
+ if (!file.endsWith('.json'))
156
+ continue;
157
+ const path = join(dir, file);
158
+ try {
159
+ const spec = parsePersonaFile(JSON.parse(readFileSync(path, 'utf8')), path);
160
+ if (spec.id === id)
161
+ return { id, path, spec };
162
+ }
163
+ catch {
164
+ continue;
165
+ }
166
+ }
167
+ }
168
+ return undefined;
169
+ }
170
+ // ── Resolution ─────────────────────────────────────────────────────────────
171
+ /**
172
+ * Load and resolve a persona by id. Searches the cascade, applies the
173
+ * chosen tier, and resolves a single level of `extends` against the same
174
+ * cascade. Throws if the persona is missing required fields for the tier.
175
+ */
176
+ export function loadPersona(id, options = {}) {
177
+ const discovered = findPersona(id, options);
178
+ if (!discovered) {
179
+ const dirs = effectiveSearchDirs(options);
180
+ throw new Error(`Persona "${id}" not found. Searched:\n ${dirs.join('\n ')}\n` +
181
+ 'Set searchDirs / extraDirs to include the directory containing the persona file.');
182
+ }
183
+ const tier = options.tier ?? 'best';
184
+ let spec = discovered.spec;
185
+ if (spec.extends) {
186
+ const base = findPersona(spec.extends, options);
187
+ if (!base) {
188
+ throw new Error(`Persona "${id}" extends "${spec.extends}" but the base could not be found in the search cascade.`);
189
+ }
190
+ spec = mergeSpecs(base.spec, spec);
191
+ }
192
+ const tierSpec = spec.tiers?.[tier];
193
+ const harness = (tierSpec?.harness ?? spec.harness);
194
+ const model = tierSpec?.model ?? spec.model;
195
+ const systemPrompt = tierSpec?.systemPrompt ?? spec.systemPrompt;
196
+ if (!harness) {
197
+ throw new Error(`Persona "${id}" tier "${tier}" has no harness; set tiers.${tier}.harness or top-level harness.`);
198
+ }
199
+ if (!HARNESS_VALUES.includes(harness)) {
200
+ throw new Error(`Persona "${id}" tier "${tier}" uses unsupported harness "${String(harness)}". ` +
201
+ `Supported: ${HARNESS_VALUES.join(', ')}.`);
202
+ }
203
+ if (!model) {
204
+ throw new Error(`Persona "${id}" tier "${tier}" has no model; set tiers.${tier}.model or top-level model.`);
205
+ }
206
+ if (!systemPrompt) {
207
+ throw new Error(`Persona "${id}" tier "${tier}" has no systemPrompt; set tiers.${tier}.systemPrompt or top-level systemPrompt.`);
208
+ }
209
+ return {
210
+ id: spec.id,
211
+ source: discovered.path,
212
+ tier,
213
+ harness,
214
+ model,
215
+ systemPrompt,
216
+ description: spec.description,
217
+ permissions: spec.permissions,
218
+ mcpServers: spec.mcpServers,
219
+ };
220
+ }
221
+ // ── Merge (extends) ────────────────────────────────────────────────────────
222
+ function mergeSpecs(base, override) {
223
+ const tiers = {};
224
+ for (const tier of PERSONA_TIERS) {
225
+ const baseTier = base.tiers?.[tier];
226
+ const overrideTier = override.tiers?.[tier];
227
+ if (overrideTier || baseTier) {
228
+ tiers[tier] = { ...(baseTier ?? {}), ...(overrideTier ?? {}) };
229
+ }
230
+ }
231
+ return {
232
+ id: override.id,
233
+ intent: override.intent ?? base.intent,
234
+ description: override.description ?? base.description,
235
+ tags: override.tags ?? base.tags,
236
+ systemPrompt: override.systemPrompt ?? base.systemPrompt,
237
+ harness: override.harness ?? base.harness,
238
+ model: override.model ?? base.model,
239
+ permissions: mergePermissions(base.permissions, override.permissions),
240
+ mcpServers: { ...(base.mcpServers ?? {}), ...(override.mcpServers ?? {}) },
241
+ tiers: Object.keys(tiers).length > 0 ? tiers : undefined,
242
+ };
243
+ }
244
+ function mergePermissions(base, override) {
245
+ if (!base && !override)
246
+ return undefined;
247
+ const allow = dedupe([...(base?.allow ?? []), ...(override?.allow ?? [])]);
248
+ const deny = dedupe([...(base?.deny ?? []), ...(override?.deny ?? [])]);
249
+ return {
250
+ ...(allow.length > 0 ? { allow } : {}),
251
+ ...(deny.length > 0 ? { deny } : {}),
252
+ ...(override?.mode ?? base?.mode ? { mode: override?.mode ?? base?.mode } : {}),
253
+ };
254
+ }
255
+ // ── Validation ─────────────────────────────────────────────────────────────
256
+ function isPlainObject(value) {
257
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
258
+ }
259
+ function parsePersonaFile(value, source) {
260
+ if (!isPlainObject(value)) {
261
+ throw new Error(`${source}: persona must be a JSON object`);
262
+ }
263
+ if (typeof value.id !== 'string' || !value.id.trim()) {
264
+ throw new Error(`${source}: persona.id must be a non-empty string`);
265
+ }
266
+ // Validate harness values up front so a typo in the file fails at load time
267
+ // rather than at spawn — the runtime check in loadPersona stays as a
268
+ // defense-in-depth guard for callers that bypass parsing.
269
+ const topHarness = value.harness;
270
+ if (topHarness !== undefined && !isValidHarness(topHarness)) {
271
+ throw new Error(`${source}: persona.harness must be one of: ${HARNESS_VALUES.join(', ')} (got ${JSON.stringify(topHarness)})`);
272
+ }
273
+ const tiers = value.tiers;
274
+ if (tiers !== undefined) {
275
+ if (!isPlainObject(tiers)) {
276
+ throw new Error(`${source}: persona.tiers must be an object if provided`);
277
+ }
278
+ for (const [tierName, tierSpec] of Object.entries(tiers)) {
279
+ if (!PERSONA_TIERS.includes(tierName))
280
+ continue; // unknown tier names are ignored
281
+ if (!isPlainObject(tierSpec))
282
+ continue;
283
+ const harness = tierSpec.harness;
284
+ if (harness !== undefined && !isValidHarness(harness)) {
285
+ throw new Error(`${source}: persona.tiers.${tierName}.harness must be one of: ${HARNESS_VALUES.join(', ')} (got ${JSON.stringify(harness)})`);
286
+ }
287
+ }
288
+ }
289
+ return value;
290
+ }
291
+ function isValidHarness(value) {
292
+ return typeof value === 'string' && HARNESS_VALUES.includes(value);
293
+ }
294
+ // ── Translation: persona → spawn args ──────────────────────────────────────
295
+ /**
296
+ * Translate a resolved persona into the bin/args spawnPty needs. Delegates
297
+ * to {@link buildInteractiveSpec} from `@agentworkforce/harness-kit` so
298
+ * relay produces the same launch shape the AgentWorkforce CLI does.
299
+ */
300
+ export function buildPersonaSpawnSpec(persona) {
301
+ const input = {
302
+ harness: persona.harness,
303
+ personaId: persona.id,
304
+ model: persona.model,
305
+ systemPrompt: persona.systemPrompt,
306
+ ...(persona.mcpServers ? { mcpServers: persona.mcpServers } : {}),
307
+ ...(persona.permissions ? { permissions: persona.permissions } : {}),
308
+ };
309
+ const spec = buildInteractiveSpec(input);
310
+ return {
311
+ cli: spec.bin,
312
+ model: persona.model,
313
+ args: [...spec.args],
314
+ initialPrompt: spec.initialPrompt,
315
+ configFiles: [...spec.configFiles],
316
+ warnings: [...spec.warnings],
317
+ };
318
+ }
319
+ /**
320
+ * Codex has no system-prompt flag, so the persona's instructions must ride
321
+ * on the task. Combines them in the same shape the agentworkforce
322
+ * harness-kit uses for non-interactive codex runs.
323
+ */
324
+ export function composePersonaTask(spec, userTask) {
325
+ if (!spec.initialPrompt)
326
+ return userTask;
327
+ if (!userTask)
328
+ return spec.initialPrompt;
329
+ return `${spec.initialPrompt}\n\nUser task:\n${userTask}`;
330
+ }
331
+ /**
332
+ * Write each persona config file into `cwd`. Refuses absolute paths or
333
+ * paths that escape `cwd`. Returns handles the caller can pass to
334
+ * {@link restorePersonaConfigFiles}.
335
+ */
336
+ export function materializePersonaConfigFiles(cwd, files) {
337
+ const out = [];
338
+ const cwdAbs = resolvePath(cwd);
339
+ for (const file of files) {
340
+ if (!file.path)
341
+ throw new Error('persona config file path must be non-empty');
342
+ if (isAbsolute(file.path)) {
343
+ throw new Error(`persona config file path must be relative: ${file.path}`);
344
+ }
345
+ const target = resolvePath(cwd, file.path);
346
+ // Use path.relative for separator-agnostic containment so Windows paths
347
+ // (`C:\proj\opencode.json`) aren't falsely rejected by a hardcoded '/' check.
348
+ const rel = relative(cwdAbs, target);
349
+ if (rel.startsWith('..') || (isAbsolute(rel) && rel !== '')) {
350
+ throw new Error(`persona config file path escapes cwd: ${file.path}`);
351
+ }
352
+ if (rel.split(sep).some((segment) => segment === '..')) {
353
+ throw new Error(`persona config file path escapes cwd: ${file.path}`);
354
+ }
355
+ // Single read with ENOENT detection avoids a TOCTOU between `existsSync`
356
+ // and `readFileSync`. Any other read error (permissions, EISDIR) bubbles up
357
+ // — the caller can decide whether to retry or surface to the user.
358
+ let existed = true;
359
+ let previous;
360
+ try {
361
+ previous = readFileSync(target, 'utf8');
362
+ }
363
+ catch (err) {
364
+ if (err.code === 'ENOENT') {
365
+ existed = false;
366
+ }
367
+ else {
368
+ throw err;
369
+ }
370
+ }
371
+ mkdirSync(dirname(target), { recursive: true });
372
+ writeFileSync(target, file.contents, 'utf8');
373
+ out.push({ path: target, existed, ...(previous !== undefined ? { previous } : {}) });
374
+ }
375
+ return out;
376
+ }
377
+ /**
378
+ * Restore the original state of files written by
379
+ * {@link materializePersonaConfigFiles}. Files that did not exist before
380
+ * are removed; files that did exist are written back to their prior
381
+ * contents. Errors are swallowed — restore is best-effort cleanup.
382
+ */
383
+ export function restorePersonaConfigFiles(writes) {
384
+ for (const write of [...writes].reverse()) {
385
+ try {
386
+ if (write.existed) {
387
+ writeFileSync(write.path, write.previous ?? '', 'utf8');
388
+ }
389
+ else {
390
+ rmSync(write.path, { force: true });
391
+ }
392
+ }
393
+ catch (err) {
394
+ // Best-effort: a failed restore shouldn't break the spawn lifecycle, but
395
+ // it can leave a stale opencode.json behind, so surface the failure.
396
+ const msg = err?.message ?? String(err);
397
+ console.warn(`[personas] failed to restore ${write.path}: ${msg}`);
398
+ }
399
+ }
400
+ }
401
+ //# sourceMappingURL=personas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personas.js","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"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"}
package/dist/relay.d.ts CHANGED
@@ -23,6 +23,7 @@
23
23
  * ```
24
24
  */
25
25
  import { type AgentRelayBrokerInitArgs } from './client.js';
26
+ import { type PersonaTier, type ResolvedPersona } from './personas.js';
26
27
  import type { SendMessageInput, SpawnPtyInput } from './types.js';
27
28
  import type { AgentRuntime, BrokerEvent, BrokerStatus, MessageInjectionMode, RestartPolicy } from './protocol.js';
28
29
  import { type FollowLogsOptions, type LogFollowHandle, type LogsResult } from './logs.js';
@@ -99,8 +100,13 @@ export interface SpawnOptions extends SpawnLifecycleHooks {
99
100
  shadowMode?: string;
100
101
  idleThresholdSecs?: number;
101
102
  restartPolicy?: RestartPolicy;
102
- /** JWT token for relayauth/relayfile permissions. When set, the broker
103
- * injects RELAY_AGENT_TOKEN into the agent's environment. */
103
+ /** Optional pre-minted relaycast agent token (`at_live_<hex>`, from
104
+ * `registerAgent(workspaceKey, name)` in `@agent-relay/sdk/http`). The
105
+ * broker plumbs this as `RELAY_AGENT_TOKEN`, which the relaycast MCP
106
+ * authenticates with. When omitted, the relaycast MCP auto-mints a token
107
+ * using `RELAY_API_KEY` + the spawn name; that is the recommended path.
108
+ * Note: this is a relaycast credential, NOT a relayfile/relayauth token —
109
+ * override `env.RELAYFILE_TOKEN` on the constructor for relayfile auth. */
104
110
  agentToken?: string;
105
111
  /** When true, skip injecting the relay MCP configuration and protocol prompt into the spawned agent.
106
112
  * Useful for minor tasks where relay messaging is not needed, saving tokens. */
@@ -110,6 +116,33 @@ export interface SpawnAndWaitOptions extends SpawnOptions {
110
116
  timeoutMs?: number;
111
117
  waitForMessage?: boolean;
112
118
  }
119
+ export interface SpawnPersonaOptions extends SpawnOptions {
120
+ /** Override the spawned agent's name. Defaults to the persona id. */
121
+ name?: string;
122
+ /** Initial task / user prompt for the agent. */
123
+ task?: string;
124
+ /** Persona tier to resolve. Defaults to 'best'. */
125
+ tier?: PersonaTier;
126
+ /**
127
+ * Override the persona search-dir cascade. When set, the default
128
+ * directories (cwd/agentworkforce/personas, ~/.agentworkforce/...) are
129
+ * skipped and only `searchDirs` is consulted.
130
+ */
131
+ searchDirs?: string[];
132
+ /** Extra dirs appended after the default cascade (unioned with searchDirs override). */
133
+ extraDirs?: string[];
134
+ /**
135
+ * cwd to use when resolving relative search dirs. Defaults to the spawn
136
+ * cwd (`options.cwd`) when set, else `process.cwd()`. Independent of
137
+ * the spawn working directory passed to the broker.
138
+ */
139
+ personaCwd?: string;
140
+ /**
141
+ * Override the resolved persona before translation. Useful for callers
142
+ * that want to load+adjust+spawn in one step (e.g. tweak permissions).
143
+ */
144
+ persona?: ResolvedPersona;
145
+ }
113
146
  type AgentOutputPayload = {
114
147
  stream: string;
115
148
  chunk: string;
@@ -178,8 +211,13 @@ export interface SpawnerSpawnOptions extends SpawnLifecycleHooks {
178
211
  model?: string;
179
212
  cwd?: string;
180
213
  idleThresholdSecs?: number;
181
- /** JWT token for relayauth/relayfile permissions. When set, the broker
182
- * injects RELAY_AGENT_TOKEN into the agent's environment. */
214
+ /** Optional pre-minted relaycast agent token (`at_live_<hex>`, from
215
+ * `registerAgent(workspaceKey, name)` in `@agent-relay/sdk/http`). The
216
+ * broker plumbs this as `RELAY_AGENT_TOKEN`, which the relaycast MCP
217
+ * authenticates with. When omitted, the relaycast MCP auto-mints a token
218
+ * using `RELAY_API_KEY` + the spawn name; that is the recommended path.
219
+ * Note: this is a relaycast credential, NOT a relayfile/relayauth token —
220
+ * override `env.RELAYFILE_TOKEN` on the constructor for relayfile auth. */
183
221
  agentToken?: string;
184
222
  /** When true, skip injecting the relay MCP configuration and protocol prompt into the spawned agent.
185
223
  * Useful for minor tasks where relay messaging is not needed, saving tokens. */
@@ -195,8 +233,13 @@ export interface AgentRelayOptions {
195
233
  env?: NodeJS.ProcessEnv;
196
234
  requestTimeoutMs?: number;
197
235
  /**
198
- * Unified workspace ID shared across relayfile, relayauth claims, and
199
- * relaycast key lookup.
236
+ * Relaycast workspace ID. Auto-generated when omitted. This is the id used
237
+ * for relaycast key lookup and surfaced via `RELAY_WORKSPACE_ID` /
238
+ * `RELAY_DEFAULT_WORKSPACE` to spawned agents.
239
+ *
240
+ * NOTE: this is a relaycast id, not a relayfile workspace id. They are
241
+ * independent. If the caller wants spawned agents to talk to a specific
242
+ * relayfile workspace, set `env.RELAYFILE_WORKSPACE` on the constructor.
200
243
  */
201
244
  workspaceId?: string;
202
245
  /**
@@ -213,6 +256,13 @@ export interface AgentRelayOptions {
213
256
  * Defaults to RELAYCAST_BASE_URL env var or https://api.relaycast.dev.
214
257
  */
215
258
  relaycastBaseUrl?: string;
259
+ /**
260
+ * Default persona search-dir cascade for {@link AgentRelay.spawnPersona}.
261
+ * When set, replaces the built-in cascade
262
+ * (`<cwd>/agentworkforce/personas`, `~/.agentworkforce/...`). Per-call
263
+ * `searchDirs` on `spawnPersona` still overrides this.
264
+ */
265
+ personaDirs?: string[];
216
266
  }
217
267
  export declare class AgentRelay {
218
268
  onMessageReceived: EventHook<Message>;
@@ -251,6 +301,7 @@ export declare class AgentRelay {
251
301
  private readonly requestedWorkspaceId?;
252
302
  private readonly workspaceName?;
253
303
  private readonly relaycastBaseUrl?;
304
+ private readonly defaultPersonaDirs?;
254
305
  private relayApiKey?;
255
306
  private resolvedWorkspaceId?;
256
307
  private client?;
@@ -288,6 +339,25 @@ export declare class AgentRelay {
288
339
  spawnPty(input: SpawnPtyInput & SpawnLifecycleHooks): Promise<Agent>;
289
340
  spawn(name: string, cli: string, task?: string, options?: SpawnOptions): Promise<Agent>;
290
341
  spawnAndWait(name: string, cli: string, task: string, options?: SpawnAndWaitOptions): Promise<Agent>;
342
+ /**
343
+ * Spawn an agent from a named AgentWorkforce persona.
344
+ *
345
+ * Looks up the persona JSON in the search-dir cascade
346
+ * (`<cwd>/agentworkforce/personas`, `<cwd>/.agentworkforce/workforce/personas`,
347
+ * `~/.agentworkforce/workforce/personas`, plus `AGENT_WORKFORCE_HOME`),
348
+ * resolves the requested tier, and translates it to spawnPty args via
349
+ * `@agentworkforce/harness-kit#buildInteractiveSpec`.
350
+ *
351
+ * For opencode, an `opencode.json` is materialized in the spawn cwd and
352
+ * automatically restored when the agent exits. For codex, the persona's
353
+ * systemPrompt is folded into the initial task (codex has no
354
+ * system-prompt flag). Translation warnings are surfaced via console.warn.
355
+ *
356
+ * @param personaId — id of the persona to load
357
+ * @param options — overrides for tier, search dirs, name, task, and the
358
+ * underlying spawn options
359
+ */
360
+ spawnPersona(personaId: string, options?: SpawnPersonaOptions): Promise<Agent>;
291
361
  human(opts: {
292
362
  name: string;
293
363
  }): HumanHandle;
@@ -1 +1 @@
1
- {"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relay.d.ts","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"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"}