thoth-agents 0.2.9 → 0.2.11

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/README.md CHANGED
@@ -22,8 +22,9 @@ surface that fits it best.
22
22
  OpenCode remains the stable default path: native plugin install, native `task`
23
23
  delegation, optional tmux monitoring, and generated config. Codex is supported
24
24
  through an explicit agent-pack and Personal plugin setup path, with documented
25
- trust review and instruction-level governance caveats where Codex does not
26
- provide the same hard runtime controls. Claude Code is a first-class path: a
25
+ trust review and the current `collaboration.*` delegation surface. Codex can
26
+ spawn and coordinate generic tasks programmatically, while named installed-role
27
+ selection and per-role enforcement remain instruction-level. Claude Code is a first-class path: a
27
28
  single auto-discovered plugin package with native subagents, harness-enforced
28
29
  hooks, MCP, skills, and per-agent tool permissions.
29
30
 
@@ -55,7 +56,7 @@ hooks, MCP, skills, and per-agent tool permissions.
55
56
  | Harness | Status | Setup path | Notes |
56
57
  | ----------- | -------------------------- | --------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
57
58
  | OpenCode | Stable default | `npx thoth-agents@latest install` or `npx thoth-agents@latest install --agent=opencode` | Native plugin config, native`task` delegation, optional tmux panes, OpenCode provider auth. |
58
- | Codex | Supported explicit path | `npx thoth-agents@latest install --agent=codex` | Installs ambient/root guidance, six role subagents, and a Personal plugin source. Requires`/plugins` and `/hooks` trust review. Some governance remains instruction-level. |
59
+ | Codex | Supported explicit path | `npx thoth-agents@latest install --agent=codex` | Installs ambient/root guidance, six role subagents, and a Personal plugin source. Uses the current `collaboration.*` tools for generic delegation; named-role selection and per-role enforcement remain instruction-level. Requires `/plugins` and `/hooks` trust review. |
59
60
  | Claude Code | Supported first-class path | `npx thoth-agents@latest install --agent=claude` | Installs one Claude Code plugin: six specialist subagents (`Task(subagent_type: ...)`), an `orchestrator` agent activated as the main thread via `settings.json`, `.mcp.json`, and bundled skills. Role permissions are enforced by subagent `tools`. |
60
61
 
61
62
  OpenCode can load the plugin with:
@@ -128,6 +129,12 @@ Codex install does not create a selectable orchestrator TOML, does not bypass
128
129
  trust review, and does not make role permissions or memory governance hard
129
130
  runtime guarantees unless Codex exposes those controls.
130
131
 
132
+ Generated root guidance binds delegation to direct `collaboration.*` tools:
133
+ `spawn_agent({ task_name, message, fork_turns? })`, mailbox-oriented
134
+ `wait_agent`, live status through `list_agents`, non-triggering `send_message`,
135
+ turn-triggering `followup_task`, and explicit `interrupt_agent`. A wait timeout
136
+ or silence remains in progress; it is not a collected result body.
137
+
131
138
  ### Claude Code
132
139
 
133
140
  Preview, then install the plugin package:
@@ -363,7 +370,7 @@ supports that delivery surface.
363
370
  | ---------------- | ---------------------------------------------- | ------------------------------------------------------------ | ---------------------------------------------------------------- | ----------------------------------------------------------------- |
364
371
  | Skills | Requirements, SDD, review, execution workflows | Copied into the OpenCode skills directory when`--skills=yes` | Packaged as plugin-bundled skills for the Personal plugin source | Bundled in the plugin`skills/` directory |
365
372
  | MCPs | `exa`, `context7`, `grep_app`, `thoth_mem` | Registered by generated OpenCode plugin config | Packaged/configured only on validated Codex surfaces | Bundled in the plugin`.mcp.json` (`type: "http"` for URL servers) |
366
- | Delegation | Seven-role specialist workflow | Native`task` tool | Custom agents plus prompt/plugin guidance | Native`Task(subagent_type: ...)` over auto-discovered subagents |
373
+ | Delegation | Seven-role specialist workflow | Native`task` tool | Direct `collaboration.*` generic task delegation; role behavior carried by task name/message | Native`Task(subagent_type: ...)` over auto-discovered subagents |
367
374
  | Blocking choices | Use a structured question surface | OpenCode`question` tool | `request_user_input` when enabled and available | `AskUserQuestion` tool |
368
375
 
369
376
  See [docs/skills-and-mcps.md](docs/skills-and-mcps.md) for the detailed matrix.
@@ -1,6 +1,13 @@
1
1
  import type { AgentDispatchMethod, AgentRoleName } from '../harness/core/agent-pack';
2
2
  import type { HarnessCapabilities, HarnessId } from '../harness/types';
3
3
  export type AgentPromptRole = AgentRoleName;
4
+ export interface LifecycleNomenclature {
5
+ statusAction: string;
6
+ terminalState: string;
7
+ nonterminalState: string;
8
+ sameSessionProbe: string;
9
+ enforcement: 'runtime-supported' | 'instruction-only' | 'unknown';
10
+ }
4
11
  export interface ToolNomenclature {
5
12
  delegationTool: string;
6
13
  backgroundDelegationTool?: string;
@@ -8,6 +15,7 @@ export interface ToolNomenclature {
8
15
  userQuestionTool: string;
9
16
  progressTool: string;
10
17
  hostStatusSurface?: string;
18
+ lifecycle: LifecycleNomenclature;
11
19
  roleReference(role: AgentPromptRole): string;
12
20
  }
13
21
  export interface CapabilityProfile {
@@ -13,7 +13,7 @@ import {
13
13
  getStepBudgetPromptSection,
14
14
  loadAgentPrompt,
15
15
  renderRolePrompt
16
- } from "./chunk-YLRPDTU7.js";
16
+ } from "./chunk-OZE7JVGS.js";
17
17
 
18
18
  // src/agents/deep.ts
19
19
  var DEEP_PROMPT = renderRolePrompt(