@guyghost/swarm-dao-herdr-adapter 0.4.2 → 0.5.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.
package/dist/adapter.d.ts CHANGED
@@ -44,6 +44,11 @@ export interface HerdrAdapterOptions {
44
44
  /** herdr agent kind: pi, claude, codex, gemini, cursor, grok, opencode…
45
45
  * Required for deliberation — the kind's executable must be installed. */
46
46
  kind?: string;
47
+ /** Project-level runtime.defaultHarness — used when a spawn carries no
48
+ * explicit harness (D1 fallback, overrides the legacy kind). */
49
+ defaultHarness?: string;
50
+ /** Per-harness model flag overrides (runtime.harnessModelFlag). */
51
+ harnessModelFlag?: Record<string, string>;
47
52
  /** Extra arguments passed to the agent executable (after herdr's --). */
48
53
  agentArgs?: readonly string[];
49
54
  /** Per-agent prompt timeout in ms (default 5 min; herdr max 300000). */
@@ -61,6 +66,10 @@ export interface HerdrAdapterOptions {
61
66
  stalledPollIntervalMs?: number;
62
67
  /** Keep the herdr workspaces alive after harvest (default false). */
63
68
  keepPanes?: boolean;
69
+ /** Parent herdr workspace id for child-session linkage (default:
70
+ * HERDR_WORKSPACE_ID when running inside a herdr pane). Worktree children
71
+ * open nested under it; same-checkout children get a parent token. */
72
+ parentWorkspaceId?: string;
64
73
  /** Injectable command runner (tests). */
65
74
  runner?: HerdrRunner;
66
75
  /** Agent name / workspace label prefix (default "swarm-dao"). */
@@ -94,8 +103,48 @@ export declare function promptAgentUntilSettled(runner: HerdrRunner, request: Ag
94
103
  stderr: string;
95
104
  exitCode: number;
96
105
  }>;
106
+ /** Resolve adapter file access against workDir, contained (like other hosts).
107
+ * Symlinks are resolved: a repo symlink cannot escape the root. Returns the
108
+ * RESOLVED path — the lexical path could be re-symlinked between this check
109
+ * and the actual read/write (TOCTOU symlink escape, issue #162). */
110
+ export declare function resolveHerdrContainedPath(workDir: string, file: string): Promise<string>;
97
111
  /** herdr machine-readable error code from a failed command response, if any. */
98
112
  export declare function herdrErrorCode(stderr: string, stdout: string): string | null;
113
+ /** Parent herdr workspace for child-session linkage: herdr injects
114
+ * HERDR_ENV=1 and HERDR_WORKSPACE_ID into panes it manages, so a process
115
+ * spawned from a herdr pane (this CLI, an orchestrator) inherits the parent
116
+ * context its children can be linked to. Returns undefined outside herdr. */
117
+ export declare function herdrParentWorkspaceId(env?: Record<string, string | undefined>): string | undefined;
118
+ export interface ChildWorkspaceRequest {
119
+ /** Directory the child agent works in (repo checkout or git worktree). */
120
+ readonly workDir: string;
121
+ /** Workspace label (the sanitized child agent name). */
122
+ readonly label: string;
123
+ /** Parent herdr workspace id (see herdrParentWorkspaceId). When set, the
124
+ * child is linked to the parent session; when absent nothing changes. */
125
+ readonly parentWorkspaceId?: string;
126
+ }
127
+ export type ChildWorkspaceResult = {
128
+ ok: true;
129
+ paneId: string;
130
+ workspaceId: string;
131
+ } | {
132
+ ok: false;
133
+ error: string;
134
+ };
135
+ /**
136
+ * Create the herdr workspace a child agent runs in, linked to the parent
137
+ * session when one is given:
138
+ * - git-worktree checkout + parent → `worktree open` nests the child under
139
+ * the parent workspace in the Spaces sidebar (herdr's parent/children
140
+ * view), so a spawned agent's owner is visible at a glance;
141
+ * - same-checkout child + parent → plain workspace stamped with a `parent`
142
+ * provenance token (renderable as $parent in Space sidebar rows);
143
+ * - no parent → exactly the plain workspace create.
144
+ * Linking is presentation-only and best-effort: every linking failure falls
145
+ * back to the plain workspace, and only a create failure fails the child.
146
+ */
147
+ export declare function createChildWorkspace(runner: HerdrRunner, request: ChildWorkspaceRequest): Promise<ChildWorkspaceResult>;
99
148
  export interface AgentStartRequest {
100
149
  /** Unique herdr agent name ([a-z][a-z0-9_-]{0,31}). */
101
150
  readonly agentName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
package/dist/adapter.js CHANGED
@@ -9,6 +9,11 @@
9
9
  //
10
10
  // Lifecycle per agent (packages/herdr-adapter):
11
11
  // herdr workspace create --cwd <repo> --label <name> --no-focus (isolated pane)
12
+ // — or, for a git-worktree cwd under a detectable parent session:
13
+ // herdr worktree open --workspace <parent> --path <checkout> …
14
+ // (the child nests under the parent in the Spaces sidebar, so the
15
+ // spawned agent's owner is visible at a glance); same-checkout
16
+ // children get a `parent` workspace token instead
12
17
  // herdr agent start <name> --kind <kind> --pane <id> --timeout (blocks until ready)
13
18
  // herdr agent prompt <name> '<prompt>' --wait --timeout (settles on idle/done/blocked)
14
19
  // herdr agent read <name> --source recent-unwrapped --lines N (ANSI-stripped output)
@@ -30,11 +35,10 @@
30
35
  //
31
36
  // Prerequisites: the herdr server must be running (`herdr` once) and the
32
37
  // chosen kind's executable installed and authenticated.
33
- import { exec as execCallback, execFile } from "node:child_process";
38
+ import { execFile } from "node:child_process";
34
39
  import { promises as fs } from "node:fs";
35
40
  import path from "node:path";
36
- import { promisify } from "node:util";
37
- const execAsync = promisify(execCallback);
41
+ import { execCommand, HARNESS_MODEL_FLAGS, isValidModelId } from "@guyghost/swarm-dao-core";
38
42
  /** execFile with utf8 strings, promise-shaped. Failures reject with the child
39
43
  * error carrying .code/.stdout/.stderr (same shape the exec-based runner had). */
40
44
  const execFileAsync = (file, args, options) => new Promise((resolve, reject) => {
@@ -205,12 +209,135 @@ function agentState(result) {
205
209
  return result?.agent?.agent_status ?? result?.agent?.status ?? result?.agent?.state ?? null;
206
210
  }
207
211
  const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
212
+ /** Resolve adapter file access against workDir, contained (like other hosts).
213
+ * Symlinks are resolved: a repo symlink cannot escape the root. Returns the
214
+ * RESOLVED path — the lexical path could be re-symlinked between this check
215
+ * and the actual read/write (TOCTOU symlink escape, issue #162). */
216
+ export async function resolveHerdrContainedPath(workDir, file) {
217
+ const root = await fs.realpath(path.resolve(workDir)).catch(() => path.resolve(workDir));
218
+ // Deepest EXISTING ancestor's realpath, then rejoin the rest — containment
219
+ // must hold even for files that do not exist yet.
220
+ const realPathOf = async (target) => {
221
+ let current = target;
222
+ const tail = [];
223
+ for (;;) {
224
+ const real = await fs.realpath(current).catch(() => null);
225
+ if (real !== null) {
226
+ return tail.length === 0 ? real : path.join(real, ...[...tail].reverse());
227
+ }
228
+ const parent = path.dirname(current);
229
+ if (parent === current)
230
+ return target;
231
+ tail.push(path.basename(current));
232
+ current = parent;
233
+ }
234
+ };
235
+ const resolved = await realPathOf(path.resolve(root, file));
236
+ if (resolved !== root && !resolved.startsWith(`${root}${path.sep}`)) {
237
+ throw new Error(`path escapes the working directory: ${file}`);
238
+ }
239
+ return resolved;
240
+ }
208
241
  /** herdr machine-readable error code from a failed command response, if any. */
209
242
  export function herdrErrorCode(stderr, stdout) {
210
243
  const parsed = parseHerdrJson(stderr.trim()) ?? parseHerdrJson(stdout.trim());
211
244
  const code = parsed?.error?.code;
212
245
  return typeof code === "string" ? code : null;
213
246
  }
247
+ /** Parent herdr workspace for child-session linkage: herdr injects
248
+ * HERDR_ENV=1 and HERDR_WORKSPACE_ID into panes it manages, so a process
249
+ * spawned from a herdr pane (this CLI, an orchestrator) inherits the parent
250
+ * context its children can be linked to. Returns undefined outside herdr. */
251
+ export function herdrParentWorkspaceId(env = process.env) {
252
+ return env.HERDR_ENV === "1" && env.HERDR_WORKSPACE_ID ? env.HERDR_WORKSPACE_ID : undefined;
253
+ }
254
+ /** A registered git worktree checkout carries a .git FILE pointing at the
255
+ * primary repo's worktree metadata; a primary checkout has a .git directory
256
+ * (or none). */
257
+ async function isGitWorktreeCheckout(workDir) {
258
+ try {
259
+ return (await fs.stat(path.join(workDir, ".git"))).isFile();
260
+ }
261
+ catch {
262
+ return false;
263
+ }
264
+ }
265
+ /**
266
+ * Create the herdr workspace a child agent runs in, linked to the parent
267
+ * session when one is given:
268
+ * - git-worktree checkout + parent → `worktree open` nests the child under
269
+ * the parent workspace in the Spaces sidebar (herdr's parent/children
270
+ * view), so a spawned agent's owner is visible at a glance;
271
+ * - same-checkout child + parent → plain workspace stamped with a `parent`
272
+ * provenance token (renderable as $parent in Space sidebar rows);
273
+ * - no parent → exactly the plain workspace create.
274
+ * Linking is presentation-only and best-effort: every linking failure falls
275
+ * back to the plain workspace, and only a create failure fails the child.
276
+ */
277
+ export async function createChildWorkspace(runner, request) {
278
+ if (request.parentWorkspaceId && (await isGitWorktreeCheckout(request.workDir))) {
279
+ const opened = await runner.exec([
280
+ "herdr",
281
+ "worktree",
282
+ "open",
283
+ "--workspace",
284
+ request.parentWorkspaceId,
285
+ "--path",
286
+ request.workDir,
287
+ "--label",
288
+ request.label,
289
+ "--no-focus",
290
+ ]);
291
+ const openedPane = parseHerdrJson(opened.stdout)?.result?.root_pane?.pane_id ?? null;
292
+ const openedWorkspace = parseHerdrJson(opened.stdout)?.result?.workspace?.workspace_id ?? null;
293
+ if (opened.exitCode === 0 && openedPane && openedWorkspace) {
294
+ return { ok: true, paneId: openedPane, workspaceId: openedWorkspace };
295
+ }
296
+ // Linking is presentation-only — fall back to the plain workspace below.
297
+ }
298
+ const created = await runner.exec([
299
+ "herdr",
300
+ "workspace",
301
+ "create",
302
+ "--cwd",
303
+ request.workDir,
304
+ "--label",
305
+ request.label,
306
+ "--no-focus",
307
+ ]);
308
+ if (created.exitCode !== 0) {
309
+ return { ok: false, error: `herdr workspace create failed: ${herdrErrorDetail(created.stderr, created.stdout)}` };
310
+ }
311
+ const paneId = parseHerdrJson(created.stdout)?.result?.root_pane?.pane_id ?? null;
312
+ const workspaceId = parseHerdrJson(created.stdout)?.result?.workspace?.workspace_id ?? null;
313
+ if (!paneId || !workspaceId) {
314
+ return {
315
+ ok: false,
316
+ error: `herdr workspace create returned no pane/workspace id: ${created.stdout.slice(0, 200)}`,
317
+ };
318
+ }
319
+ if (request.parentWorkspaceId) {
320
+ // Worktree children are already nested; same-checkout children only get
321
+ // the provenance token. Human-readable parent label, id as fallback —
322
+ // and never a run failure over display metadata.
323
+ const parent = parseHerdrJson((await runner.exec(["herdr", "workspace", "get", request.parentWorkspaceId]).catch(() => ({ stdout: "" })))
324
+ .stdout)?.result;
325
+ const parentLabel = parent?.workspace?.label ?? parent?.label ?? request.parentWorkspaceId;
326
+ await runner
327
+ .exec([
328
+ "herdr",
329
+ "workspace",
330
+ "report-metadata",
331
+ workspaceId,
332
+ "--source",
333
+ "swarm-dao",
334
+ "--token",
335
+ `parent=${parentLabel}`,
336
+ ])
337
+ .catch(() => undefined);
338
+ }
339
+ return { ok: true, paneId, workspaceId };
340
+ }
214
341
  /**
215
342
  * Start an agent in a pane, retrying on the SAME pane while herdr reports the
216
343
  * transient agent_pane_busy (a fresh pane is not yet at its interactive shell
@@ -255,35 +382,10 @@ export function createHerdrHostAdapter(options) {
255
382
  const readLines = options.readLines ?? DEFAULT_READ_LINES;
256
383
  const prefix = sanitizeHerdrName(options.prefix ?? "swarm-dao");
257
384
  const keepPanes = options.keepPanes === true;
385
+ const parentWorkspaceId = options.parentWorkspaceId ?? herdrParentWorkspaceId();
258
386
  const agentArgs = options.agentArgs ?? [];
259
- /** Resolve the deepest EXISTING ancestor's realpath, then rejoin the rest —
260
- * containment must hold even for files that do not exist yet. */
261
- const realPathOf = async (target) => {
262
- let current = target;
263
- const tail = [];
264
- for (;;) {
265
- const real = await fs.realpath(current).catch(() => null);
266
- if (real !== null) {
267
- return tail.length === 0 ? real : path.join(real, ...[...tail].reverse());
268
- }
269
- const parent = path.dirname(current);
270
- if (parent === current)
271
- return target;
272
- tail.push(path.basename(current));
273
- current = parent;
274
- }
275
- };
276
- /** Resolve adapter file access against workDir, contained (like other hosts).
277
- * Symlinks are resolved: a repo symlink cannot escape the root. */
278
- const containedPath = async (file) => {
279
- const root = await fs.realpath(path.resolve(options.workDir)).catch(() => path.resolve(options.workDir));
280
- const resolved = await realPathOf(path.resolve(root, file));
281
- if (resolved !== root && !resolved.startsWith(`${root}${path.sep}`)) {
282
- throw new Error(`path escapes the working directory: ${file}`);
283
- }
284
- return path.resolve(root, file);
285
- };
286
- const harvest = async (proposal, agent, prompt, timeoutMs, startedAt) => {
387
+ const containedPath = (file) => resolveHerdrContainedPath(options.workDir, file);
388
+ const harvest = async (proposal, agent, prompt, timeoutMs, startedAt, runtime) => {
287
389
  // Duration is stamped at RETURN time — base carries only identity.
288
390
  const base = () => ({
289
391
  agentId: agent.id,
@@ -297,54 +399,66 @@ export function createHerdrHostAdapter(options) {
297
399
  ...fields,
298
400
  durationMs: Date.now() - startedAt,
299
401
  });
300
- if (!options.kind || options.kind.trim().length === 0) {
402
+ // Harness resolution (models/agent-runtime.md D1): explicit per-spawn
403
+ // harness → project runtime.defaultHarness → legacy herdr.kind.
404
+ const kind = runtime?.harness ?? options.defaultHarness ?? options.kind;
405
+ if (!kind || kind.trim().length === 0) {
301
406
  return finish({
302
- error: 'herdr.kind is not configured: set { "herdr": { "kind": "pi" } } in .dao/config.json (a supported herdr agent kind whose executable is installed).',
407
+ error: 'herdr.kind is not configured: set { "herdr": { "kind": "pi" } } or { "runtime": { "defaultHarness": "pi" } } in .dao/config.json (a supported herdr agent kind whose executable is installed).',
303
408
  });
304
409
  }
305
- if (!SAFE_KIND.test(options.kind)) {
410
+ if (!SAFE_KIND.test(kind)) {
306
411
  // Never interpolate an arbitrary value into the shell command line.
307
- return finish({ error: `herdr.kind '${options.kind}' is not a valid agent kind identifier.` });
412
+ return finish({ error: `herdr.kind '${kind}' is not a valid agent kind identifier.` });
308
413
  }
309
- const name = herdrAgentName(prefix, proposal.id, agent.id);
310
- let workspaceId = null;
311
- try {
312
- // 1. Isolated workspace with one root pane (never touches the user's layout).
313
- const created = await runner.exec([
314
- "herdr",
315
- "workspace",
316
- "create",
317
- "--cwd",
318
- options.workDir,
319
- "--label",
320
- name,
321
- "--no-focus",
322
- ]);
323
- if (created.exitCode !== 0) {
414
+ // Model flag resolution (models/agent-runtime.md D3): a non-default model
415
+ // is forwarded as [flag, model] after herdr's --, using the per-harness
416
+ // flag table (runtime.harnessModelFlag override first, frozen core table
417
+ // second). Unknown harness + no override typed E4 failure, no spawn.
418
+ let modelFlagArgs = [];
419
+ if (runtime?.model && runtime.model !== "default") {
420
+ if (!isValidModelId(runtime.model)) {
421
+ return finish({ error: `invalid model id '${runtime.model}' (E3)` });
422
+ }
423
+ const flag = options.harnessModelFlag?.[kind] ?? HARNESS_MODEL_FLAGS[kind];
424
+ if (!flag) {
324
425
  return finish({
325
- error: `herdr workspace create failed: ${herdrErrorDetail(created.stderr, created.stdout)} (is the herdr server running? start it with \`herdr\`)`,
426
+ error: `no model flag configured for harness '${kind}': set runtime.harnessModelFlag["${kind}"] to the flag its executable accepts (E4, harnessModelFlag).`,
326
427
  });
327
428
  }
328
- const paneId = parseHerdrJson(created.stdout)?.result?.root_pane?.pane_id ?? null;
329
- workspaceId = parseHerdrJson(created.stdout)?.result?.workspace?.workspace_id ?? null;
330
- if (!paneId || !workspaceId) {
429
+ modelFlagArgs = [flag, runtime.model];
430
+ }
431
+ const name = herdrAgentName(prefix, proposal.id, agent.id);
432
+ let workspaceId = null;
433
+ try {
434
+ // 1. Isolated workspace with one root pane (never touches the user's
435
+ // layout), linked to the parent herdr session when one is detectable
436
+ // (worktree children nest under it in the Spaces sidebar).
437
+ const created = await createChildWorkspace(runner, {
438
+ workDir: options.workDir,
439
+ label: name,
440
+ parentWorkspaceId,
441
+ });
442
+ if (!created.ok) {
331
443
  return finish({
332
- error: `herdr workspace create returned no pane/workspace id: ${created.stdout.slice(0, 200)}`,
444
+ error: `${created.error} (is the herdr server running? start it with \`herdr\`)`,
333
445
  });
334
446
  }
447
+ const paneId = created.paneId;
448
+ workspaceId = created.workspaceId;
335
449
  // 2. Start the agent (blocks until herdr detects it ready for input;
336
450
  // same-pane retries while the fresh pane is still busy).
337
451
  const started = await startAgentUntilReady(runner, {
338
452
  agentName: name,
339
- kind: options.kind,
453
+ kind,
340
454
  paneId,
341
455
  timeoutMs: startTimeoutMs,
342
- agentArgs,
456
+ agentArgs: [...agentArgs, ...modelFlagArgs],
343
457
  retryDelayMs,
344
458
  });
345
459
  if (started.exitCode !== 0) {
346
460
  return finish({
347
- error: `herdr agent start (${options.kind}) failed: ${herdrErrorDetail(started.stderr, started.stdout)}`,
461
+ error: `herdr agent start (${kind}) failed: ${herdrErrorDetail(started.stderr, started.stdout)}`,
348
462
  });
349
463
  }
350
464
  // 3. Prompt and wait for a settled state (idle | done | blocked),
@@ -396,13 +510,18 @@ export function createHerdrHostAdapter(options) {
396
510
  };
397
511
  return {
398
512
  hostId: "herdr",
399
- spawnAgent: async ({ agent, proposal, systemPrompt, timeoutMs }) => harvest(proposal, agent, systemPrompt, Math.min(timeoutMs ?? defaultTimeoutMs, 300_000), Date.now()),
513
+ spawnAgent: async ({ agent, proposal, systemPrompt, timeoutMs, model, harness }) => harvest(proposal, agent, systemPrompt, Math.min(timeoutMs ?? defaultTimeoutMs, 300_000), Date.now(), {
514
+ model,
515
+ harness,
516
+ }),
400
517
  spawnAgents: async ({ agents, proposal, maxConcurrent }) => {
401
518
  const outputs = [];
402
519
  for (let i = 0; i < agents.length; i += Math.max(1, maxConcurrent)) {
403
520
  const batch = agents.slice(i, i + Math.max(1, maxConcurrent));
404
521
  const startedAt = Date.now();
405
- const results = await Promise.all(batch.map((agent) => harvest(proposal, agent, agent.systemPrompt, defaultTimeoutMs, startedAt)));
522
+ const results = await Promise.all(batch.map((agent) => harvest(proposal, agent, agent.systemPrompt, defaultTimeoutMs, startedAt, {
523
+ harness: agent.harness,
524
+ })));
406
525
  outputs.push(...results);
407
526
  }
408
527
  return outputs;
@@ -414,16 +533,10 @@ export function createHerdrHostAdapter(options) {
414
533
  getWorkingDirectory: () => options.workDir,
415
534
  readFile: async (file) => fs.readFile(await containedPath(file), "utf8"),
416
535
  writeFile: async (file, content) => fs.writeFile(await containedPath(file), content, "utf8"),
417
- exec: (command, execOptions) => execAsync(command, { cwd: execOptions?.cwd, timeout: execOptions?.timeout })
418
- .then(({ stdout, stderr }) => ({ stdout: String(stdout), stderr: String(stderr), exitCode: 0 }))
419
- .catch((error) => {
420
- const failure = error;
421
- return {
422
- stdout: failure.stdout ?? "",
423
- stderr: failure.stderr ?? failure.message ?? "command failed",
424
- exitCode: failure.code ?? 1,
425
- };
426
- }),
536
+ // Same shell-free surface as MCP/Pi/OpenCode (issue #165): execCommand
537
+ // rejects metacharacters and spawns with shell: false. The adapter's own
538
+ // herdr calls already used argv via HerdrRunner.
539
+ exec: (command, execOptions) => execCommand(command, { cwd: execOptions?.cwd, timeout: execOptions?.timeout }),
427
540
  hasCapability: (capability) => capability === "parallel-spawn",
428
541
  };
429
542
  }
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export type { AgentPromptRequest, AgentStartRequest, HerdrAdapterOptions, HerdrRunner } from "./adapter.js";
2
- export { createHerdrHostAdapter, herdrAgentName, herdrErrorCode, promptAgentUntilSettled, sanitizeHerdrName, startAgentUntilReady, trimTrailingNewlines, } from "./adapter.js";
1
+ export type { AgentPromptRequest, AgentStartRequest, ChildWorkspaceRequest, ChildWorkspaceResult, HerdrAdapterOptions, HerdrRunner, } from "./adapter.js";
2
+ export { createChildWorkspace, createHerdrHostAdapter, herdrAgentName, herdrErrorCode, herdrParentWorkspaceId, promptAgentUntilSettled, sanitizeHerdrName, startAgentUntilReady, trimTrailingNewlines, } from "./adapter.js";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export { createHerdrHostAdapter, herdrAgentName, herdrErrorCode, promptAgentUntilSettled, sanitizeHerdrName, startAgentUntilReady, trimTrailingNewlines, } from "./adapter.js";
1
+ export { createChildWorkspace, createHerdrHostAdapter, herdrAgentName, herdrErrorCode, herdrParentWorkspaceId, promptAgentUntilSettled, sanitizeHerdrName, startAgentUntilReady, trimTrailingNewlines, } from "./adapter.js";
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guyghost/swarm-dao-herdr-adapter",
3
- "version": "0.4.2",
3
+ "version": "0.5.0",
4
4
  "description": "Swarm DAO herdr host — each deliberation agent runs as a real coding agent in a herdr workspace",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -24,7 +24,7 @@
24
24
  "prepublishOnly": "bun run build"
25
25
  },
26
26
  "dependencies": {
27
- "@guyghost/swarm-dao-core": "^0.16.1"
27
+ "@guyghost/swarm-dao-core": "workspace:*"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@types/bun": "1.3.14",