drizzy-agent 0.6.2 → 0.7.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.
Files changed (47) hide show
  1. package/README.md +3 -3
  2. package/dist/agents/builtin-agents/{atlas-agent.d.ts → orchestrator-agent.d.ts} +1 -1
  3. package/dist/agents/{atlas → orchestrator}/agent.d.ts +9 -9
  4. package/dist/agents/{atlas → orchestrator}/default.d.ts +3 -3
  5. package/dist/agents/{atlas → orchestrator}/gemini.d.ts +3 -3
  6. package/dist/agents/{atlas → orchestrator}/gpt.d.ts +3 -3
  7. package/dist/agents/orchestrator/index.d.ts +2 -0
  8. package/dist/agents/{atlas → orchestrator}/prompt-section-builder.d.ts +1 -1
  9. package/dist/agents/types.d.ts +2 -2
  10. package/dist/cli/index.js +26 -26
  11. package/dist/config/schema/agent-names.d.ts +3 -3
  12. package/dist/config/schema/agent-overrides.d.ts +1 -1
  13. package/dist/config/schema/drizzy-agent-config.d.ts +2 -2
  14. package/dist/config/schema/hooks.d.ts +1 -1
  15. package/dist/create-hooks.d.ts +1 -1
  16. package/dist/drizzy-agent.schema.json +2 -2
  17. package/dist/features/boulder-state/types.d.ts +1 -1
  18. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -1
  19. package/dist/features/hook-message-injector/injector.d.ts +1 -1
  20. package/dist/hooks/index.d.ts +1 -1
  21. package/dist/hooks/{atlas → orchestrator}/event-handler.d.ts +3 -3
  22. package/dist/hooks/orchestrator/hook-name.d.ts +1 -0
  23. package/dist/hooks/orchestrator/idle-event.d.ts +8 -0
  24. package/dist/hooks/orchestrator/index.d.ts +3 -0
  25. package/dist/hooks/{atlas/atlas-hook.d.ts → orchestrator/orchestrator-hook.d.ts} +2 -2
  26. package/dist/hooks/{atlas → orchestrator}/types.d.ts +1 -1
  27. package/dist/hooks/planner-md-only/agent-resolution.d.ts +1 -1
  28. package/dist/index.js +358 -151
  29. package/dist/plugin/hooks/create-continuation-hooks.d.ts +2 -2
  30. package/dist/shared/agent-display-names.d.ts +1 -1
  31. package/dist/shared/agent-model-defaults.d.ts +2 -2
  32. package/package.json +12 -12
  33. package/dist/agents/atlas/index.d.ts +0 -2
  34. package/dist/hooks/atlas/hook-name.d.ts +0 -1
  35. package/dist/hooks/atlas/idle-event.d.ts +0 -8
  36. package/dist/hooks/atlas/index.d.ts +0 -3
  37. /package/dist/hooks/{atlas → orchestrator}/boulder-continuation-injector.d.ts +0 -0
  38. /package/dist/hooks/{atlas → orchestrator}/coder-path.d.ts +0 -0
  39. /package/dist/hooks/{atlas → orchestrator}/is-abort-error.d.ts +0 -0
  40. /package/dist/hooks/{atlas → orchestrator}/recent-model-resolver.d.ts +0 -0
  41. /package/dist/hooks/{atlas → orchestrator}/session-last-agent.d.ts +0 -0
  42. /package/dist/hooks/{atlas → orchestrator}/subagent-session-id.d.ts +0 -0
  43. /package/dist/hooks/{atlas → orchestrator}/system-reminder-templates.d.ts +0 -0
  44. /package/dist/hooks/{atlas → orchestrator}/tool-execute-after.d.ts +0 -0
  45. /package/dist/hooks/{atlas → orchestrator}/tool-execute-before.d.ts +0 -0
  46. /package/dist/hooks/{atlas → orchestrator}/verification-reminders.d.ts +0 -0
  47. /package/dist/hooks/{atlas → orchestrator}/write-edit-tool-policy.d.ts +0 -0
package/README.md CHANGED
@@ -16,7 +16,7 @@ DrizzyAgent provides **discipline agents** that work together to complete coding
16
16
  | **Oracle** | Architecture consultant - debugging, complex logic decisions | GPT-5.4 / Kimi K2.5 / Gemini 3.1 Pro / Claude Opus 4.6 |
17
17
  | **Librarian** | Documentation/code search - external references, OSS examples | Gemini 3 Flash / GLM-4.7 / Claude Sonnet 4.5 |
18
18
  | **Explore** | Fast codebase grep - pattern discovery, cross-layer search | Custom resolver (Claude / Copilot / OpenAI) |
19
- | **Atlas** | Plan executor - runs Planner-generated plans step by step | Kimi K2.5 / Claude Sonnet 4.6 / GPT-5.4 / Gemini 3.1 Pro |
19
+ | **Orchestrator** | Runs Planner-generated plans step by step | Kimi K2.5 / Claude Sonnet 4.6 / GPT-5.4 / Gemini 3.1 Pro |
20
20
  | **Researcher** | Deep research orchestrator - multi-source investigation with cited reports | Gemini 3.1 Pro / Kimi K2.5 / Claude Sonnet 4.6 / GPT-5.4 / GLM-4.7 Free |
21
21
  | **Coder Junior** | Delegated sub-tasks from Coder via category system | Claude Sonnet 4.6 / GPT-5.4 / Gemini 3 Flash |
22
22
  | **Researcher Junior** | Focused web research subagent for parallel sub-topic investigation | Kimi K2.5 / Claude Sonnet 4.6 / GPT-5.4 / GLM-4.7 Free |
@@ -24,7 +24,7 @@ DrizzyAgent provides **discipline agents** that work together to complete coding
24
24
  | **Plan Reviewer** | Plan quality review - verifiability, completeness checks | GPT-5.4 / Kimi K2.5 / Claude Opus 4.6 / Gemini 3.1 Pro |
25
25
  | **Multimodal Looker** | Image and visual analysis | GPT-5.4 / Kimi K2.5 / Gemini 3 Flash |
26
26
 
27
- Main selectable agents: **Coder**, **GPTCoder**, **Planner**, **Atlas**, **Researcher**.
27
+ Main selectable agents: **Coder**, **GPTCoder**, **Planner**, **Orchestrator**, **Researcher**.
28
28
  Subagent-only specialists include **Researcher Junior**, **Oracle**, **Librarian**, **Explore**, and other focused helpers.
29
29
 
30
30
  ## Key Features
@@ -214,7 +214,7 @@ bun test
214
214
 
215
215
  ```
216
216
  src/
217
- ├── agents/ # 13 agents (Coder, GPTCoder, Oracle, Librarian, Explore, Atlas, Planner, Researcher, Researcher Junior, Plan Consultant, Plan Reviewer, Coder Junior, Multimodal Looker)
217
+ ├── agents/ # 13 agents (Coder, GPTCoder, Oracle, Librarian, Explore, Orchestrator, Planner, Researcher, Researcher Junior, Plan Consultant, Plan Reviewer, Coder Junior, Multimodal Looker)
218
218
  ├── hooks/ # 46 lifecycle hooks
219
219
  ├── tools/ # 26 built-in tools
220
220
  ├── features/ # Core feature modules
@@ -2,7 +2,7 @@ import type { AgentConfig } from "@opencode-ai/sdk";
2
2
  import type { AgentOverrides } from "../types";
3
3
  import type { CategoriesConfig, CategoryConfig } from "../../config/schema";
4
4
  import type { AvailableAgent, AvailableSkill } from "../dynamic-agent-prompt-builder";
5
- export declare function maybeCreateAtlasConfig(input: {
5
+ export declare function maybeCreateOrchestratorConfig(input: {
6
6
  disabledAgents: string[];
7
7
  agentOverrides: AgentOverrides;
8
8
  uiSelectedModel?: string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Atlas - Master Orchestrator Agent
2
+ * Orchestrator - Master Orchestrator Agent
3
3
  *
4
4
  * Orchestrates work via task() to complete ALL tasks in a todo list until fully done.
5
5
  * You are the conductor of a symphony of specialized agents.
@@ -13,11 +13,11 @@ import type { AgentConfig } from "@opencode-ai/sdk";
13
13
  import type { AgentPromptMetadata } from "../types";
14
14
  import type { AvailableAgent, AvailableSkill } from "../dynamic-agent-prompt-builder";
15
15
  import type { CategoryConfig } from "../../config/schema";
16
- export type AtlasPromptSource = "default" | "gpt" | "gemini";
16
+ export type OrchestratorPromptSource = "default" | "gpt" | "gemini";
17
17
  /**
18
- * Determines which Atlas prompt to use based on model.
18
+ * Determines which Orchestrator prompt to use based on model.
19
19
  */
20
- export declare function getAtlasPromptSource(model?: string): AtlasPromptSource;
20
+ export declare function getOrchestratorPromptSource(model?: string): OrchestratorPromptSource;
21
21
  export interface OrchestratorContext {
22
22
  model?: string;
23
23
  availableAgents?: AvailableAgent[];
@@ -25,11 +25,11 @@ export interface OrchestratorContext {
25
25
  userCategories?: Record<string, CategoryConfig>;
26
26
  }
27
27
  /**
28
- * Gets the appropriate Atlas prompt based on model.
28
+ * Gets the appropriate Orchestrator prompt based on model.
29
29
  */
30
- export declare function getAtlasPrompt(model?: string): string;
31
- export declare function createAtlasAgent(ctx: OrchestratorContext): AgentConfig;
32
- export declare namespace createAtlasAgent {
30
+ export declare function getOrchestratorPrompt(model?: string): string;
31
+ export declare function createOrchestratorAgent(ctx: OrchestratorContext): AgentConfig;
32
+ export declare namespace createOrchestratorAgent {
33
33
  var mode: "all";
34
34
  }
35
- export declare const atlasPromptMetadata: AgentPromptMetadata;
35
+ export declare const orchestratorPromptMetadata: AgentPromptMetadata;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Default Atlas system prompt optimized for Claude series models.
2
+ * Default Orchestrator system prompt optimized for Claude series models.
3
3
  *
4
4
  * Key characteristics:
5
5
  * - Optimized for Claude's tendency to be "helpful" by forcing explicit delegation
@@ -7,5 +7,5 @@
7
7
  * - Detailed workflow steps with narrative context
8
8
  * - Extended reasoning sections
9
9
  */
10
- export declare const ATLAS_SYSTEM_PROMPT: string;
11
- export declare function getDefaultAtlasPrompt(): string;
10
+ export declare const ORCHESTRATOR_SYSTEM_PROMPT: string;
11
+ export declare function getDefaultOrchestratorPrompt(): string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Gemini-optimized Atlas System Prompt
2
+ * Gemini-optimized Orchestrator System Prompt
3
3
  *
4
4
  * Key differences from Claude/GPT variants:
5
5
  * - EXTREME delegation enforcement (Gemini strongly prefers doing work itself)
@@ -7,5 +7,5 @@
7
7
  * - Repeated tool-call mandates (Gemini skips tool calls in favor of reasoning)
8
8
  * - Consequence-driven framing (Gemini ignores soft warnings)
9
9
  */
10
- export declare const ATLAS_GEMINI_SYSTEM_PROMPT: string;
11
- export declare function getGeminiAtlasPrompt(): string;
10
+ export declare const ORCHESTRATOR_GEMINI_SYSTEM_PROMPT: string;
11
+ export declare function getGeminiOrchestratorPrompt(): string;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * GPT-5.4 Optimized Atlas System Prompt
2
+ * GPT-5.4 Optimized Orchestrator System Prompt
3
3
  *
4
4
  * Tuned for GPT-5.4 system prompt design principles:
5
5
  * - Prose-first output style
@@ -7,5 +7,5 @@
7
7
  * - XML-style section tags for clear structure
8
8
  * - Scope discipline (no extra features)
9
9
  */
10
- export declare const ATLAS_GPT_SYSTEM_PROMPT: string;
11
- export declare function getGptAtlasPrompt(): string;
10
+ export declare const ORCHESTRATOR_GPT_SYSTEM_PROMPT: string;
11
+ export declare function getGptOrchestratorPrompt(): string;
@@ -0,0 +1,2 @@
1
+ export { createOrchestratorAgent, orchestratorPromptMetadata } from "./agent";
2
+ export type { OrchestratorPromptSource, OrchestratorContext } from "./agent";
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Atlas Orchestrator - Shared Utilities
2
+ * Orchestrator Orchestrator - Shared Utilities
3
3
  *
4
4
  * Common functions for building dynamic prompt sections used by both
5
5
  * default (Claude-optimized) and GPT-optimized prompts.
@@ -1,7 +1,7 @@
1
1
  import type { AgentConfig } from "@opencode-ai/sdk";
2
2
  /**
3
3
  * Agent mode determines UI model selection behavior:
4
- * - "primary": Respects user's UI-selected model (coder, atlas)
4
+ * - "primary": Respects user's UI-selected model (coder, orchestrator)
5
5
  * - "subagent": Uses own fallback chain, ignores UI selection (oracle, explore, etc.)
6
6
  * - "all": Available in both contexts (OpenCode compatibility)
7
7
  */
@@ -56,7 +56,7 @@ export declare function isGptModel(model: string): boolean;
56
56
  export declare function isGpt5_4Model(model: string): boolean;
57
57
  export declare function isGpt5_3CodexModel(model: string): boolean;
58
58
  export declare function isGeminiModel(model: string): boolean;
59
- export type BuiltinAgentName = "coder" | "gptcoder" | "oracle" | "librarian" | "explore" | "multimodal-looker" | "plan-consultant" | "plan-reviewer" | "atlas" | "coder-junior" | "researcher" | "researcher-junior";
59
+ export type BuiltinAgentName = "coder" | "gptcoder" | "oracle" | "librarian" | "explore" | "multimodal-looker" | "plan-consultant" | "plan-reviewer" | "orchestrator" | "coder-junior" | "researcher" | "researcher-junior";
60
60
  export type OverridableAgentName = "build" | BuiltinAgentName;
61
61
  export type AgentName = BuiltinAgentName;
62
62
  export type AgentOverrideConfig = Partial<AgentConfig> & {
package/dist/cli/index.js CHANGED
@@ -3488,7 +3488,7 @@ var init_agent_model_defaults = __esm(() => {
3488
3488
  ],
3489
3489
  includeInInstall: true
3490
3490
  },
3491
- atlas: {
3491
+ orchestrator: {
3492
3492
  chain: [{ providers: ["kimi-for-coding"], model: "k2p5" }, { providers: CLAUDE_PROVIDERS, model: "claude-sonnet-4-6" }, { providers: CLAUDE_PROVIDERS, model: "claude-sonnet-4-5" }, { providers: OPENAI_PROVIDERS, model: "gpt-5.4", variant: "medium" }, { providers: GEMINI_PROVIDERS, model: "gemini-3.1-pro" }],
3493
3493
  includeInInstall: true
3494
3494
  },
@@ -20813,7 +20813,7 @@ var BuiltinAgentNameSchema = exports_external.enum([
20813
20813
  "multimodal-looker",
20814
20814
  "plan-consultant",
20815
20815
  "plan-reviewer",
20816
- "atlas",
20816
+ "orchestrator",
20817
20817
  "coder-junior",
20818
20818
  "researcher",
20819
20819
  "researcher-junior"
@@ -20839,7 +20839,7 @@ var OverridableAgentNameSchema = exports_external.enum([
20839
20839
  "librarian",
20840
20840
  "explore",
20841
20841
  "multimodal-looker",
20842
- "atlas"
20842
+ "orchestrator"
20843
20843
  ]);
20844
20844
  // src/config/schema/fallback-models.ts
20845
20845
  var FallbackModelsSchema = exports_external.union([exports_external.string(), exports_external.array(exports_external.string())]);
@@ -20909,7 +20909,7 @@ var AgentOverridesSchema = exports_external.object({
20909
20909
  librarian: AgentOverrideConfigSchema.optional(),
20910
20910
  explore: AgentOverrideConfigSchema.optional(),
20911
20911
  "multimodal-looker": AgentOverrideConfigSchema.optional(),
20912
- atlas: AgentOverrideConfigSchema.optional(),
20912
+ orchestrator: AgentOverrideConfigSchema.optional(),
20913
20913
  researcher: AgentOverrideConfigSchema.optional(),
20914
20914
  "researcher-junior": AgentOverrideConfigSchema.optional()
20915
20915
  });
@@ -21095,7 +21095,7 @@ var HookNameSchema = exports_external.enum([
21095
21095
  "no-coder-gpt",
21096
21096
  "no-gptcoder-non-gpt",
21097
21097
  "start-work",
21098
- "atlas",
21098
+ "orchestrator",
21099
21099
  "unstable-agent-babysitter",
21100
21100
  "task-resume-info",
21101
21101
  "stop-continuation-guard",
@@ -24036,8 +24036,8 @@ var AGENT_NAME_MAP = {
24036
24036
  planner: "planner",
24037
24037
  "Prometheus (Planner)": "planner",
24038
24038
  prometheus: "planner",
24039
- Atlas: "atlas",
24040
- atlas: "atlas",
24039
+ Orchestrator: "orchestrator",
24040
+ orchestrator: "orchestrator",
24041
24041
  "Plan Consultant": "plan-consultant",
24042
24042
  metis: "plan-consultant",
24043
24043
  "plan-consultant": "plan-consultant",
@@ -24063,7 +24063,7 @@ var BUILTIN_AGENT_NAMES = new Set([
24063
24063
  "plan-reviewer",
24064
24064
  "planner",
24065
24065
  "prometheus",
24066
- "atlas",
24066
+ "orchestrator",
24067
24067
  "build"
24068
24068
  ]);
24069
24069
  function migrateAgentNames(agents) {
@@ -24081,7 +24081,7 @@ function migrateAgentNames(agents) {
24081
24081
  // src/shared/migration/hook-names.ts
24082
24082
  var HOOK_NAME_MAP = {
24083
24083
  "anthropic-auto-compact": "anthropic-context-window-limit-recovery",
24084
- "coder-orchestrator": "atlas",
24084
+ "coder-orchestrator": "orchestrator",
24085
24085
  "coder-gpt-hephaestus-reminder": "no-coder-gpt",
24086
24086
  "no-coder-gpt": "no-coder-gpt",
24087
24087
  "coder-junior-notepad": "coder-junior-notepad",
@@ -24271,7 +24271,7 @@ var AGENT_DISPLAY_NAMES = {
24271
24271
  coder: "Coder",
24272
24272
  gptcoder: "GPTCoder",
24273
24273
  planner: "Planner",
24274
- atlas: "Atlas (Plan Executor)",
24274
+ orchestrator: "Orchestrator",
24275
24275
  "coder-junior": "Coder Junior",
24276
24276
  planConsultant: "Plan Consultant",
24277
24277
  planReviewer: "Plan Reviewer",
@@ -24319,8 +24319,8 @@ var LEGACY_AGENT_REQUIREMENT_OVERRIDES = {
24319
24319
  gptcoder: {
24320
24320
  requiresProvider: AGENT_MODEL_DEFAULTS.gptcoder.requiresAnyProvider
24321
24321
  },
24322
- atlas: {
24323
- fallbackChain: pickFallbackEntries(AGENT_MODEL_DEFAULTS.atlas.chain, ["claude-sonnet-4-6", "gpt-5.4"])
24322
+ orchestrator: {
24323
+ fallbackChain: pickFallbackEntries(AGENT_MODEL_DEFAULTS.orchestrator.chain, ["claude-sonnet-4-6", "gpt-5.4"])
24324
24324
  }
24325
24325
  };
24326
24326
  var LEGACY_CATEGORY_REQUIREMENT_OVERRIDES = {
@@ -26376,7 +26376,7 @@ async function executeOnCompleteHook(options) {
26376
26376
 
26377
26377
  // src/cli/run/agent-resolver.ts
26378
26378
  var import_picocolors13 = __toESM(require_picocolors(), 1);
26379
- var CORE_AGENT_ORDER = ["coder", "gptcoder", "planner", "atlas", "researcher"];
26379
+ var CORE_AGENT_ORDER = ["coder", "gptcoder", "planner", "orchestrator", "researcher"];
26380
26380
  var DEFAULT_AGENT = "coder";
26381
26381
  var normalizeAgentName = (agent) => {
26382
26382
  if (!agent)
@@ -29286,7 +29286,7 @@ function createMcpOAuthCommand() {
29286
29286
  // package.json
29287
29287
  var package_default = {
29288
29288
  name: "drizzy-agent",
29289
- version: "0.6.2",
29289
+ version: "0.7.0",
29290
29290
  description: "DrizzyAgent - AI agent plugin for OpenCode",
29291
29291
  main: "dist/index.js",
29292
29292
  types: "dist/index.d.ts",
@@ -29362,17 +29362,17 @@ var package_default = {
29362
29362
  typescript: "^5.7.3"
29363
29363
  },
29364
29364
  optionalDependencies: {
29365
- "drizzy-agent-darwin-arm64": "0.6.2",
29366
- "drizzy-agent-darwin-x64": "0.6.2",
29367
- "drizzy-agent-darwin-x64-baseline": "0.6.2",
29368
- "drizzy-agent-linux-arm64": "0.6.2",
29369
- "drizzy-agent-linux-arm64-musl": "0.6.2",
29370
- "drizzy-agent-linux-x64": "0.6.2",
29371
- "drizzy-agent-linux-x64-baseline": "0.6.2",
29372
- "drizzy-agent-linux-x64-musl": "0.6.2",
29373
- "drizzy-agent-linux-x64-musl-baseline": "0.6.2",
29374
- "drizzy-agent-windows-x64": "0.6.2",
29375
- "drizzy-agent-windows-x64-baseline": "0.6.2"
29365
+ "drizzy-agent-darwin-arm64": "0.7.0",
29366
+ "drizzy-agent-darwin-x64": "0.7.0",
29367
+ "drizzy-agent-darwin-x64-baseline": "0.7.0",
29368
+ "drizzy-agent-linux-arm64": "0.7.0",
29369
+ "drizzy-agent-linux-arm64-musl": "0.7.0",
29370
+ "drizzy-agent-linux-x64": "0.7.0",
29371
+ "drizzy-agent-linux-x64-baseline": "0.7.0",
29372
+ "drizzy-agent-linux-x64-musl": "0.7.0",
29373
+ "drizzy-agent-linux-x64-musl-baseline": "0.7.0",
29374
+ "drizzy-agent-windows-x64": "0.7.0",
29375
+ "drizzy-agent-windows-x64-baseline": "0.7.0"
29376
29376
  },
29377
29377
  overrides: {
29378
29378
  "@opencode-ai/sdk": "^1.2.24"
@@ -29436,7 +29436,7 @@ Agent resolution order:
29436
29436
  4) Coder (fallback)
29437
29437
 
29438
29438
  Available core agents:
29439
- Coder, GPTCoder, Planner, Atlas, Researcher
29439
+ Coder, GPTCoder, Planner, Orchestrator, Researcher
29440
29440
 
29441
29441
  Unlike 'opencode run', this command waits until:
29442
29442
  - All todos are completed or cancelled
@@ -7,7 +7,7 @@ export declare const BuiltinAgentNameSchema: z.ZodEnum<{
7
7
  librarian: "librarian";
8
8
  explore: "explore";
9
9
  "multimodal-looker": "multimodal-looker";
10
- atlas: "atlas";
10
+ orchestrator: "orchestrator";
11
11
  "coder-junior": "coder-junior";
12
12
  researcher: "researcher";
13
13
  "researcher-junior": "researcher-junior";
@@ -29,7 +29,7 @@ export declare const OverridableAgentNameSchema: z.ZodEnum<{
29
29
  librarian: "librarian";
30
30
  explore: "explore";
31
31
  "multimodal-looker": "multimodal-looker";
32
- atlas: "atlas";
32
+ orchestrator: "orchestrator";
33
33
  "coder-junior": "coder-junior";
34
34
  "plan-consultant": "plan-consultant";
35
35
  "plan-reviewer": "plan-reviewer";
@@ -45,7 +45,7 @@ export declare const AgentNameSchema: z.ZodEnum<{
45
45
  librarian: "librarian";
46
46
  explore: "explore";
47
47
  "multimodal-looker": "multimodal-looker";
48
- atlas: "atlas";
48
+ orchestrator: "orchestrator";
49
49
  "coder-junior": "coder-junior";
50
50
  researcher: "researcher";
51
51
  "researcher-junior": "researcher-junior";
@@ -1177,7 +1177,7 @@ export declare const AgentOverridesSchema: z.ZodObject<{
1177
1177
  variant: z.ZodOptional<z.ZodString>;
1178
1178
  }, z.core.$strip>>;
1179
1179
  }, z.core.$strip>>;
1180
- atlas: z.ZodOptional<z.ZodObject<{
1180
+ orchestrator: z.ZodOptional<z.ZodObject<{
1181
1181
  model: z.ZodOptional<z.ZodString>;
1182
1182
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
1183
1183
  variant: z.ZodOptional<z.ZodString>;
@@ -13,7 +13,7 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
13
13
  "git-master": "git-master";
14
14
  }>>>;
15
15
  disabled_hooks: z.ZodOptional<z.ZodArray<z.ZodEnum<{
16
- atlas: "atlas";
16
+ orchestrator: "orchestrator";
17
17
  "ralph-loop": "ralph-loop";
18
18
  "start-work": "start-work";
19
19
  "gpt-permission-continuation": "gpt-permission-continuation";
@@ -1169,7 +1169,7 @@ export declare const DrizzyAgentConfigSchema: z.ZodObject<{
1169
1169
  variant: z.ZodOptional<z.ZodString>;
1170
1170
  }, z.core.$strip>>;
1171
1171
  }, z.core.$strip>>;
1172
- atlas: z.ZodOptional<z.ZodObject<{
1172
+ orchestrator: z.ZodOptional<z.ZodObject<{
1173
1173
  model: z.ZodOptional<z.ZodString>;
1174
1174
  fallback_models: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
1175
1175
  variant: z.ZodOptional<z.ZodString>;
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  export declare const HookNameSchema: z.ZodEnum<{
3
- atlas: "atlas";
3
+ orchestrator: "orchestrator";
4
4
  "ralph-loop": "ralph-loop";
5
5
  "start-work": "start-work";
6
6
  "gpt-permission-continuation": "gpt-permission-continuation";
@@ -34,7 +34,7 @@ export declare function createHooks(args: {
34
34
  todoContinuationEnforcer: ReturnType<typeof import("./hooks").createTodoContinuationEnforcer> | null;
35
35
  unstableAgentBabysitter: ReturnType<typeof import("./plugin/unstable-agent-babysitter").createUnstableAgentBabysitter> | null;
36
36
  backgroundNotificationHook: ReturnType<typeof import("./hooks").createBackgroundNotificationHook> | null;
37
- atlasHook: ReturnType<typeof import("./hooks").createAtlasHook> | null;
37
+ orchestratorHook: ReturnType<typeof import("./hooks").createOrchestratorHook> | null;
38
38
  claudeCodeHooks: ReturnType<typeof import("./hooks").createClaudeCodeHooksHook> | null;
39
39
  keywordDetector: ReturnType<typeof import("./hooks").createKeywordDetectorHook> | null;
40
40
  contextInjectorMessagesTransform: ReturnType<typeof import("./features/context-injector").createContextInjectorMessagesTransformHook>;
@@ -83,7 +83,7 @@
83
83
  "no-coder-gpt",
84
84
  "no-gptcoder-non-gpt",
85
85
  "start-work",
86
- "atlas",
86
+ "orchestrator",
87
87
  "unstable-agent-babysitter",
88
88
  "task-resume-info",
89
89
  "stop-continuation-guard",
@@ -2977,7 +2977,7 @@
2977
2977
  },
2978
2978
  "additionalProperties": false
2979
2979
  },
2980
- "atlas": {
2980
+ "orchestrator": {
2981
2981
  "type": "object",
2982
2982
  "properties": {
2983
2983
  "model": {
@@ -13,7 +13,7 @@ export interface BoulderState {
13
13
  session_ids: string[];
14
14
  /** Plan name derived from filename */
15
15
  plan_name: string;
16
- /** Agent type to use when resuming (e.g., 'atlas') */
16
+ /** Agent type to use when resuming (e.g., 'orchestrator') */
17
17
  agent?: string;
18
18
  /** Absolute path to the git worktree root where work happens */
19
19
  worktree_path?: string;
@@ -1 +1 @@
1
- export declare const START_WORK_TEMPLATE = "You are starting a Coder work session.\n\n## ARGUMENTS\n\n- `/start-work [plan-name] [--worktree <path>]`\n - `plan-name` (optional): name or partial match of the plan to start\n - `--worktree <path>` (optional): absolute path to an existing git worktree to work in\n - If specified and valid: hook pre-sets worktree_path in boulder.json\n - If specified but invalid: you must run `git worktree add <path> <branch>` first\n - If omitted: you MUST choose or create a worktree (see Worktree Setup below)\n\n## WHAT TO DO\n\n1. **Find available plans**: Search for Planner-generated plan files at `.drizzy/plans/`\n\n2. **Check for active boulder state**: Read `.drizzy/boulder.json` if it exists\n\n3. **Decision logic**:\n - If `.drizzy/boulder.json` exists AND plan is NOT complete (has unchecked boxes):\n - **APPEND** current session to session_ids\n - Continue work on existing plan\n - If no active plan OR plan is complete:\n - List available plan files\n - If ONE plan: auto-select it\n - If MULTIPLE plans: show list with timestamps, ask user to select\n\n4. **Worktree Setup** (when `worktree_path` not already set in boulder.json):\n 1. `git worktree list --porcelain` \u2014 see available worktrees\n 2. Create: `git worktree add <absolute-path> <branch-or-HEAD>`\n 3. Update boulder.json to add `\"worktree_path\": \"<absolute-path>\"`\n 4. All work happens inside that worktree directory\n\n5. **Create/Update boulder.json**:\n ```json\n {\n \"active_plan\": \"/absolute/path/to/plan.md\",\n \"started_at\": \"ISO_TIMESTAMP\",\n \"session_ids\": [\"session_id_1\", \"session_id_2\"],\n \"plan_name\": \"plan-name\",\n \"worktree_path\": \"/absolute/path/to/git/worktree\"\n }\n ```\n\n6. **Read the plan file** and start executing tasks according to atlas workflow\n\n## OUTPUT FORMAT\n\nWhen listing plans for selection:\n```\nAvailable Work Plans\n\nCurrent Time: {ISO timestamp}\nSession ID: {current session id}\n\n1. [plan-name-1.md] - Modified: {date} - Progress: 3/10 tasks\n2. [plan-name-2.md] - Modified: {date} - Progress: 0/5 tasks\n\nWhich plan would you like to work on? (Enter number or plan name)\n```\n\nWhen resuming existing work:\n```\nResuming Work Session\n\nActive Plan: {plan-name}\nProgress: {completed}/{total} tasks\nSessions: {count} (appending current session)\nWorktree: {worktree_path}\n\nReading plan and continuing from last incomplete task...\n```\n\nWhen auto-selecting single plan:\n```\nStarting Work Session\n\nPlan: {plan-name}\nSession ID: {session_id}\nStarted: {timestamp}\nWorktree: {worktree_path}\n\nReading plan and beginning execution...\n```\n\n## CRITICAL\n\n- The session_id is injected by the hook - use it directly\n- Always update boulder.json BEFORE starting work\n- Always set worktree_path in boulder.json before executing any tasks\n- Read the FULL plan file before delegating any tasks\n- Follow atlas delegation protocols (7-section format)";
1
+ export declare const START_WORK_TEMPLATE = "You are starting a Coder work session.\n\n## ARGUMENTS\n\n- `/start-work [plan-name] [--worktree <path>]`\n - `plan-name` (optional): name or partial match of the plan to start\n - `--worktree <path>` (optional): absolute path to an existing git worktree to work in\n - If specified and valid: hook pre-sets worktree_path in boulder.json\n - If specified but invalid: you must run `git worktree add <path> <branch>` first\n - If omitted: you MUST choose or create a worktree (see Worktree Setup below)\n\n## WHAT TO DO\n\n1. **Find available plans**: Search for Planner-generated plan files at `.drizzy/plans/`\n\n2. **Check for active boulder state**: Read `.drizzy/boulder.json` if it exists\n\n3. **Decision logic**:\n - If `.drizzy/boulder.json` exists AND plan is NOT complete (has unchecked boxes):\n - **APPEND** current session to session_ids\n - Continue work on existing plan\n - If no active plan OR plan is complete:\n - List available plan files\n - If ONE plan: auto-select it\n - If MULTIPLE plans: show list with timestamps, ask user to select\n\n4. **Worktree Setup** (when `worktree_path` not already set in boulder.json):\n 1. `git worktree list --porcelain` \u2014 see available worktrees\n 2. Create: `git worktree add <absolute-path> <branch-or-HEAD>`\n 3. Update boulder.json to add `\"worktree_path\": \"<absolute-path>\"`\n 4. All work happens inside that worktree directory\n\n5. **Create/Update boulder.json**:\n ```json\n {\n \"active_plan\": \"/absolute/path/to/plan.md\",\n \"started_at\": \"ISO_TIMESTAMP\",\n \"session_ids\": [\"session_id_1\", \"session_id_2\"],\n \"plan_name\": \"plan-name\",\n \"worktree_path\": \"/absolute/path/to/git/worktree\"\n }\n ```\n\n6. **Read the plan file** and start executing tasks according to orchestrator workflow\n\n## OUTPUT FORMAT\n\nWhen listing plans for selection:\n```\nAvailable Work Plans\n\nCurrent Time: {ISO timestamp}\nSession ID: {current session id}\n\n1. [plan-name-1.md] - Modified: {date} - Progress: 3/10 tasks\n2. [plan-name-2.md] - Modified: {date} - Progress: 0/5 tasks\n\nWhich plan would you like to work on? (Enter number or plan name)\n```\n\nWhen resuming existing work:\n```\nResuming Work Session\n\nActive Plan: {plan-name}\nProgress: {completed}/{total} tasks\nSessions: {count} (appending current session)\nWorktree: {worktree_path}\n\nReading plan and continuing from last incomplete task...\n```\n\nWhen auto-selecting single plan:\n```\nStarting Work Session\n\nPlan: {plan-name}\nSession ID: {session_id}\nStarted: {timestamp}\nWorktree: {worktree_path}\n\nReading plan and beginning execution...\n```\n\n## CRITICAL\n\n- The session_id is injected by the hook - use it directly\n- Always update boulder.json BEFORE starting work\n- Always set worktree_path in boulder.json before executing any tasks\n- Read the FULL plan file before delegating any tasks\n- Follow orchestrator delegation protocols (7-section format)";
@@ -52,7 +52,7 @@ export declare function generatePartId(): string;
52
52
  *
53
53
  * Features degraded on beta:
54
54
  * - Hook message injection (e.g., continuation prompts, context injection) won't persist
55
- * - Atlas hook's injected messages won't be visible in SQLite backend
55
+ * - Orchestrator hook's injected messages won't be visible in SQLite backend
56
56
  * - Todo continuation enforcer's injected prompts won't persist
57
57
  * - Ralph loop's continuation prompts won't persist
58
58
  *
@@ -35,7 +35,7 @@ export { createResearcherResearchOnlyHook } from "./researcher-research-only";
35
35
  export { createCoderJuniorNotepadHook } from "./coder-junior-notepad";
36
36
  export { createTaskResumeInfoHook } from "./task-resume-info";
37
37
  export { createStartWorkHook } from "./start-work";
38
- export { createAtlasHook } from "./atlas";
38
+ export { createOrchestratorHook } from "./orchestrator";
39
39
  export { createDelegateTaskRetryHook } from "./delegate-task-retry";
40
40
  export { createQuestionLabelTruncatorHook } from "./question-label-truncator";
41
41
  export { createStopContinuationGuardHook, type StopContinuationGuard } from "./stop-continuation-guard";
@@ -1,8 +1,8 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
- import type { AtlasHookOptions, SessionState } from "./types";
3
- export declare function createAtlasEventHandler(input: {
2
+ import type { OrchestratorHookOptions, SessionState } from "./types";
3
+ export declare function createOrchestratorEventHandler(input: {
4
4
  ctx: PluginInput;
5
- options?: AtlasHookOptions;
5
+ options?: OrchestratorHookOptions;
6
6
  sessions: Map<string, SessionState>;
7
7
  getState: (sessionID: string) => SessionState;
8
8
  }): (arg: {
@@ -0,0 +1 @@
1
+ export declare const HOOK_NAME = "orchestrator";
@@ -0,0 +1,8 @@
1
+ import type { PluginInput } from "@opencode-ai/plugin";
2
+ import type { OrchestratorHookOptions, SessionState } from "./types";
3
+ export declare function handleOrchestratorSessionIdle(input: {
4
+ ctx: PluginInput;
5
+ options?: OrchestratorHookOptions;
6
+ getState: (sessionID: string) => SessionState;
7
+ sessionID: string;
8
+ }): Promise<void>;
@@ -0,0 +1,3 @@
1
+ export { HOOK_NAME } from "./hook-name";
2
+ export { createOrchestratorHook } from "./orchestrator-hook";
3
+ export type { OrchestratorHookOptions } from "./types";
@@ -1,6 +1,6 @@
1
1
  import type { PluginInput } from "@opencode-ai/plugin";
2
- import type { AtlasHookOptions } from "./types";
3
- export declare function createAtlasHook(ctx: PluginInput, options?: AtlasHookOptions): {
2
+ import type { OrchestratorHookOptions } from "./types";
3
+ export declare function createOrchestratorHook(ctx: PluginInput, options?: OrchestratorHookOptions): {
4
4
  handler: (arg: {
5
5
  event: {
6
6
  type: string;
@@ -4,7 +4,7 @@ export type ModelInfo = {
4
4
  providerID: string;
5
5
  modelID: string;
6
6
  };
7
- export interface AtlasHookOptions {
7
+ export interface OrchestratorHookOptions {
8
8
  directory: string;
9
9
  backgroundManager?: BackgroundManager;
10
10
  isContinuationStopped?: (sessionID: string) => boolean;
@@ -10,7 +10,7 @@ type OpencodeClient = PluginInput["client"];
10
10
  * This fixes issue #927 where after interruption:
11
11
  * - In-memory map is cleared (process restart)
12
12
  * - Message files return "planner" (oldest message from /plan)
13
- * - But boulder.json has agent: "atlas" (set by /start-work)
13
+ * - But boulder.json has agent: "orchestrator" (set by /start-work)
14
14
  */
15
15
  export declare function getAgentFromSession(sessionID: string, directory: string, client?: OpencodeClient): Promise<string | undefined>;
16
16
  export {};