drizzy-agent 0.6.3 → 0.7.1

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 (70) 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/coder-junior/gpt-5-3-codex.d.ts +1 -1
  4. package/dist/agents/coder-junior/gpt-5-4.d.ts +1 -1
  5. package/dist/agents/coder-junior/gpt.d.ts +1 -1
  6. package/dist/agents/env-context.d.ts +1 -1
  7. package/dist/agents/{atlas → orchestrator}/agent.d.ts +9 -9
  8. package/dist/agents/{atlas → orchestrator}/default.d.ts +3 -3
  9. package/dist/agents/{atlas → orchestrator}/gemini.d.ts +3 -3
  10. package/dist/agents/{atlas → orchestrator}/gpt.d.ts +3 -3
  11. package/dist/agents/orchestrator/index.d.ts +2 -0
  12. package/dist/agents/{atlas → orchestrator}/prompt-section-builder.d.ts +1 -1
  13. package/dist/agents/types.d.ts +2 -2
  14. package/dist/cli/index.js +26 -26
  15. package/dist/config/schema/agent-names.d.ts +3 -3
  16. package/dist/config/schema/agent-overrides.d.ts +1 -1
  17. package/dist/config/schema/drizzy-agent-config.d.ts +2 -2
  18. package/dist/config/schema/hooks.d.ts +1 -1
  19. package/dist/create-hooks.d.ts +1 -1
  20. package/dist/drizzy-agent.schema.json +2 -2
  21. package/dist/features/boulder-state/types.d.ts +1 -1
  22. package/dist/features/builtin-commands/templates/refactor.d.ts +1 -1
  23. package/dist/features/builtin-commands/templates/start-work.d.ts +1 -1
  24. package/dist/features/hook-message-injector/injector.d.ts +1 -1
  25. package/dist/hooks/index.d.ts +1 -1
  26. package/dist/hooks/{atlas → orchestrator}/event-handler.d.ts +3 -3
  27. package/dist/hooks/orchestrator/hook-name.d.ts +1 -0
  28. package/dist/hooks/orchestrator/idle-event.d.ts +8 -0
  29. package/dist/hooks/orchestrator/index.d.ts +3 -0
  30. package/dist/hooks/{atlas/atlas-hook.d.ts → orchestrator/orchestrator-hook.d.ts} +2 -2
  31. package/dist/hooks/{atlas → orchestrator}/types.d.ts +1 -1
  32. package/dist/hooks/planner-md-only/agent-resolution.d.ts +1 -1
  33. package/dist/index.js +196 -196
  34. package/dist/plugin/hooks/create-continuation-hooks.d.ts +2 -2
  35. package/dist/shared/agent-display-names.d.ts +1 -1
  36. package/dist/shared/agent-model-defaults.d.ts +2 -2
  37. package/dist/tools/call-drizzy-agent/background-agent-executor.d.ts +5 -0
  38. package/dist/tools/{call-omo-agent → call-drizzy-agent}/background-executor.d.ts +2 -2
  39. package/dist/tools/call-drizzy-agent/constants.d.ts +2 -0
  40. package/dist/tools/{call-omo-agent → call-drizzy-agent}/index.d.ts +1 -1
  41. package/dist/tools/{call-omo-agent → call-drizzy-agent}/session-creator.d.ts +2 -2
  42. package/dist/tools/{call-omo-agent → call-drizzy-agent}/subagent-session-creator.d.ts +2 -2
  43. package/dist/tools/{call-omo-agent → call-drizzy-agent}/sync-executor.d.ts +2 -2
  44. package/dist/tools/{call-omo-agent → call-drizzy-agent}/tools.d.ts +1 -1
  45. package/dist/tools/{call-omo-agent → call-drizzy-agent}/types.d.ts +3 -3
  46. package/dist/tools/delegate-task/constants.d.ts +1 -1
  47. package/dist/tools/index.d.ts +1 -1
  48. package/package.json +12 -12
  49. package/dist/agents/atlas/index.d.ts +0 -2
  50. package/dist/hooks/atlas/hook-name.d.ts +0 -1
  51. package/dist/hooks/atlas/idle-event.d.ts +0 -8
  52. package/dist/hooks/atlas/index.d.ts +0 -3
  53. package/dist/tools/call-omo-agent/background-agent-executor.d.ts +0 -5
  54. package/dist/tools/call-omo-agent/constants.d.ts +0 -2
  55. /package/dist/hooks/{atlas → orchestrator}/boulder-continuation-injector.d.ts +0 -0
  56. /package/dist/hooks/{atlas → orchestrator}/coder-path.d.ts +0 -0
  57. /package/dist/hooks/{atlas → orchestrator}/is-abort-error.d.ts +0 -0
  58. /package/dist/hooks/{atlas → orchestrator}/recent-model-resolver.d.ts +0 -0
  59. /package/dist/hooks/{atlas → orchestrator}/session-last-agent.d.ts +0 -0
  60. /package/dist/hooks/{atlas → orchestrator}/subagent-session-id.d.ts +0 -0
  61. /package/dist/hooks/{atlas → orchestrator}/system-reminder-templates.d.ts +0 -0
  62. /package/dist/hooks/{atlas → orchestrator}/tool-execute-after.d.ts +0 -0
  63. /package/dist/hooks/{atlas → orchestrator}/tool-execute-before.d.ts +0 -0
  64. /package/dist/hooks/{atlas → orchestrator}/verification-reminders.d.ts +0 -0
  65. /package/dist/hooks/{atlas → orchestrator}/write-edit-tool-policy.d.ts +0 -0
  66. /package/dist/tools/{call-omo-agent → call-drizzy-agent}/completion-poller.d.ts +0 -0
  67. /package/dist/tools/{call-omo-agent → call-drizzy-agent}/message-dir.d.ts +0 -0
  68. /package/dist/tools/{call-omo-agent → call-drizzy-agent}/message-processor.d.ts +0 -0
  69. /package/dist/tools/{call-omo-agent → call-drizzy-agent}/message-storage-directory.d.ts +0 -0
  70. /package/dist/tools/{call-omo-agent → call-drizzy-agent}/tool-context-with-metadata.d.ts +0 -0
package/dist/index.js CHANGED
@@ -16072,8 +16072,8 @@ var AGENT_NAME_MAP = {
16072
16072
  planner: "planner",
16073
16073
  "Prometheus (Planner)": "planner",
16074
16074
  prometheus: "planner",
16075
- Atlas: "atlas",
16076
- atlas: "atlas",
16075
+ Orchestrator: "orchestrator",
16076
+ orchestrator: "orchestrator",
16077
16077
  "Plan Consultant": "plan-consultant",
16078
16078
  metis: "plan-consultant",
16079
16079
  "plan-consultant": "plan-consultant",
@@ -16099,7 +16099,7 @@ var BUILTIN_AGENT_NAMES = new Set([
16099
16099
  "plan-reviewer",
16100
16100
  "planner",
16101
16101
  "prometheus",
16102
- "atlas",
16102
+ "orchestrator",
16103
16103
  "build"
16104
16104
  ]);
16105
16105
  function migrateAgentNames(agents) {
@@ -16117,7 +16117,7 @@ function migrateAgentNames(agents) {
16117
16117
  // src/shared/migration/hook-names.ts
16118
16118
  var HOOK_NAME_MAP = {
16119
16119
  "anthropic-auto-compact": "anthropic-context-window-limit-recovery",
16120
- "coder-orchestrator": "atlas",
16120
+ "coder-orchestrator": "orchestrator",
16121
16121
  "coder-gpt-hephaestus-reminder": "no-coder-gpt",
16122
16122
  "no-coder-gpt": "no-coder-gpt",
16123
16123
  "coder-junior-notepad": "coder-junior-notepad",
@@ -16621,7 +16621,7 @@ var AGENT_DISPLAY_NAMES = {
16621
16621
  coder: "Coder",
16622
16622
  gptcoder: "GPTCoder",
16623
16623
  planner: "Planner",
16624
- atlas: "Atlas (Plan Executor)",
16624
+ orchestrator: "Orchestrator",
16625
16625
  "coder-junior": "Coder Junior",
16626
16626
  planConsultant: "Plan Consultant",
16627
16627
  planReviewer: "Plan Reviewer",
@@ -16758,7 +16758,7 @@ var AGENT_MODEL_DEFAULTS = {
16758
16758
  ],
16759
16759
  includeInInstall: true
16760
16760
  },
16761
- atlas: {
16761
+ orchestrator: {
16762
16762
  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" }],
16763
16763
  includeInInstall: true
16764
16764
  },
@@ -16869,8 +16869,8 @@ var LEGACY_AGENT_REQUIREMENT_OVERRIDES = {
16869
16869
  gptcoder: {
16870
16870
  requiresProvider: AGENT_MODEL_DEFAULTS.gptcoder.requiresAnyProvider
16871
16871
  },
16872
- atlas: {
16873
- fallbackChain: pickFallbackEntries(AGENT_MODEL_DEFAULTS.atlas.chain, ["claude-sonnet-4-6", "gpt-5.4"])
16872
+ orchestrator: {
16873
+ fallbackChain: pickFallbackEntries(AGENT_MODEL_DEFAULTS.orchestrator.chain, ["claude-sonnet-4-6", "gpt-5.4"])
16874
16874
  }
16875
16875
  };
16876
16876
  var LEGACY_CATEGORY_REQUIREMENT_OVERRIDES = {
@@ -17009,7 +17009,7 @@ var EXPLORATION_AGENT_DENYLIST = {
17009
17009
  write: false,
17010
17010
  edit: false,
17011
17011
  task: false,
17012
- call_omo_agent: false
17012
+ call_drizzy_agent: false
17013
17013
  };
17014
17014
  var AGENT_RESTRICTIONS = {
17015
17015
  explore: EXPLORATION_AGENT_DENYLIST,
@@ -17018,7 +17018,7 @@ var AGENT_RESTRICTIONS = {
17018
17018
  write: false,
17019
17019
  edit: false,
17020
17020
  task: false,
17021
- call_omo_agent: false
17021
+ call_drizzy_agent: false
17022
17022
  },
17023
17023
  planConsultant: {
17024
17024
  write: false,
@@ -17813,7 +17813,7 @@ async function isCallerOrchestrator(sessionID, client) {
17813
17813
  if (isSqliteBackend() && client) {
17814
17814
  try {
17815
17815
  const nearest2 = await findNearestMessageWithFieldsFromSDK(client, sessionID);
17816
- return getAgentConfigKey(nearest2?.agent ?? "") === "atlas";
17816
+ return getAgentConfigKey(nearest2?.agent ?? "") === "orchestrator";
17817
17817
  } catch (error) {
17818
17818
  log("[session-utils] SDK orchestrator check failed", { sessionID, error: String(error) });
17819
17819
  return false;
@@ -17823,7 +17823,7 @@ async function isCallerOrchestrator(sessionID, client) {
17823
17823
  if (!messageDir)
17824
17824
  return false;
17825
17825
  const nearest = findNearestMessageWithFields(messageDir);
17826
- return getAgentConfigKey(nearest?.agent ?? "") === "atlas";
17826
+ return getAgentConfigKey(nearest?.agent ?? "") === "orchestrator";
17827
17827
  }
17828
17828
  // src/shared/tmux/constants.ts
17829
17829
  var POLL_INTERVAL_BACKGROUND_MS = 2000;
@@ -40842,7 +40842,7 @@ var TARGET_TOOLS = new Set([
40842
40842
  ]);
40843
40843
  var AGENT_TOOLS = new Set([
40844
40844
  "task",
40845
- "call_omo_agent",
40845
+ "call_drizzy_agent",
40846
40846
  "task"
40847
40847
  ]);
40848
40848
  var REMINDER_MESSAGE = `
@@ -40904,7 +40904,7 @@ function clearAgentUsageState(sessionID) {
40904
40904
  var ORCHESTRATOR_AGENTS = new Set([
40905
40905
  "coder",
40906
40906
  "coder-junior",
40907
- "atlas",
40907
+ "orchestrator",
40908
40908
  "gptcoder",
40909
40909
  "planner"
40910
40910
  ]);
@@ -42536,7 +42536,7 @@ function buildReminderMessage(availableSkills) {
42536
42536
  var TARGET_AGENTS = new Set([
42537
42537
  "coder",
42538
42538
  "coder-junior",
42539
- "atlas"
42539
+ "orchestrator"
42540
42540
  ]);
42541
42541
  var DELEGATABLE_WORK_TOOLS = new Set([
42542
42542
  "edit",
@@ -42548,7 +42548,7 @@ var DELEGATABLE_WORK_TOOLS = new Set([
42548
42548
  ]);
42549
42549
  var DELEGATION_TOOLS = new Set([
42550
42550
  "task",
42551
- "call_omo_agent"
42551
+ "call_drizzy_agent"
42552
42552
  ]);
42553
42553
  function createCategorySkillReminderHook(_ctx, availableSkills = []) {
42554
42554
  const sessionStates = new Map;
@@ -42568,7 +42568,7 @@ function createCategorySkillReminderHook(_ctx, availableSkills = []) {
42568
42568
  if (!agent)
42569
42569
  return false;
42570
42570
  const agentKey = getAgentConfigKey(agent);
42571
- return TARGET_AGENTS.has(agentKey) || agentKey.includes("coder") || agentKey.includes("atlas");
42571
+ return TARGET_AGENTS.has(agentKey) || agentKey.includes("coder") || agentKey.includes("orchestrator");
42572
42572
  }
42573
42573
  const toolExecuteAfter = async (input, output) => {
42574
42574
  const { tool, sessionID } = input;
@@ -44334,11 +44334,11 @@ TodoWrite([
44334
44334
 
44335
44335
  ## 1.1: Launch Parallel Explore Agents (BACKGROUND)
44336
44336
 
44337
- Fire ALL of these simultaneously using \`call_omo_agent\`:
44337
+ Fire ALL of these simultaneously using \`call_drizzy_agent\`:
44338
44338
 
44339
44339
  \`\`\`
44340
44340
  // Agent 1: Find the refactoring target
44341
- call_omo_agent(
44341
+ call_drizzy_agent(
44342
44342
  subagent_type="explore",
44343
44343
  run_in_background=true,
44344
44344
  prompt="Find all occurrences and definitions of [TARGET].
@@ -44346,7 +44346,7 @@ call_omo_agent(
44346
44346
  )
44347
44347
 
44348
44348
  // Agent 2: Find related code
44349
- call_omo_agent(
44349
+ call_drizzy_agent(
44350
44350
  subagent_type="explore",
44351
44351
  run_in_background=true,
44352
44352
  prompt="Find all code that imports, uses, or depends on [TARGET].
@@ -44354,7 +44354,7 @@ call_omo_agent(
44354
44354
  )
44355
44355
 
44356
44356
  // Agent 3: Find similar patterns
44357
- call_omo_agent(
44357
+ call_drizzy_agent(
44358
44358
  subagent_type="explore",
44359
44359
  run_in_background=true,
44360
44360
  prompt="Find similar code patterns to [TARGET] in the codebase.
@@ -44362,7 +44362,7 @@ call_omo_agent(
44362
44362
  )
44363
44363
 
44364
44364
  // Agent 4: Find tests
44365
- call_omo_agent(
44365
+ call_drizzy_agent(
44366
44366
  subagent_type="explore",
44367
44367
  run_in_background=true,
44368
44368
  prompt="Find all test files related to [TARGET].
@@ -44370,7 +44370,7 @@ call_omo_agent(
44370
44370
  )
44371
44371
 
44372
44372
  // Agent 5: Architecture context
44373
- call_omo_agent(
44373
+ call_drizzy_agent(
44374
44374
  subagent_type="explore",
44375
44375
  run_in_background=true,
44376
44376
  prompt="Find architectural patterns and module organization around [TARGET].
@@ -44511,7 +44511,7 @@ ls -la *_test.go
44511
44511
 
44512
44512
  \`\`\`
44513
44513
  // Find all tests related to target
44514
- call_omo_agent(
44514
+ call_drizzy_agent(
44515
44515
  subagent_type="explore",
44516
44516
  run_in_background=false, // Need this synchronously
44517
44517
  prompt="Analyze test coverage for [TARGET]:
@@ -44899,7 +44899,7 @@ var START_WORK_TEMPLATE = `You are starting a Coder work session.
44899
44899
  }
44900
44900
  \`\`\`
44901
44901
 
44902
- 6. **Read the plan file** and start executing tasks according to atlas workflow
44902
+ 6. **Read the plan file** and start executing tasks according to orchestrator workflow
44903
44903
 
44904
44904
  ## OUTPUT FORMAT
44905
44905
 
@@ -44946,7 +44946,7 @@ Reading plan and beginning execution...
44946
44946
  - Always update boulder.json BEFORE starting work
44947
44947
  - Always set worktree_path in boulder.json before executing any tasks
44948
44948
  - Read the FULL plan file before delegating any tasks
44949
- - Follow atlas delegation protocols (7-section format)`;
44949
+ - Follow orchestrator delegation protocols (7-section format)`;
44950
44950
 
44951
44951
  // src/features/builtin-commands/templates/handoff.ts
44952
44952
  var HANDOFF_TEMPLATE = `# Handoff Command
@@ -45177,7 +45177,7 @@ ${REFACTOR_TEMPLATE}
45177
45177
  },
45178
45178
  "start-work": {
45179
45179
  description: "(builtin) Start Coder work session from Planner plan",
45180
- agent: "atlas",
45180
+ agent: "orchestrator",
45181
45181
  template: `<command-instruction>
45182
45182
  ${START_WORK_TEMPLATE}
45183
45183
  </command-instruction>
@@ -47968,7 +47968,7 @@ var BuiltinAgentNameSchema = exports_external.enum([
47968
47968
  "multimodal-looker",
47969
47969
  "plan-consultant",
47970
47970
  "plan-reviewer",
47971
- "atlas",
47971
+ "orchestrator",
47972
47972
  "coder-junior",
47973
47973
  "researcher",
47974
47974
  "researcher-junior"
@@ -47994,7 +47994,7 @@ var OverridableAgentNameSchema = exports_external.enum([
47994
47994
  "librarian",
47995
47995
  "explore",
47996
47996
  "multimodal-looker",
47997
- "atlas"
47997
+ "orchestrator"
47998
47998
  ]);
47999
47999
  // src/config/schema/fallback-models.ts
48000
48000
  var FallbackModelsSchema = exports_external.union([exports_external.string(), exports_external.array(exports_external.string())]);
@@ -48064,7 +48064,7 @@ var AgentOverridesSchema = exports_external.object({
48064
48064
  librarian: AgentOverrideConfigSchema.optional(),
48065
48065
  explore: AgentOverrideConfigSchema.optional(),
48066
48066
  "multimodal-looker": AgentOverrideConfigSchema.optional(),
48067
- atlas: AgentOverrideConfigSchema.optional(),
48067
+ orchestrator: AgentOverrideConfigSchema.optional(),
48068
48068
  researcher: AgentOverrideConfigSchema.optional(),
48069
48069
  "researcher-junior": AgentOverrideConfigSchema.optional()
48070
48070
  });
@@ -48256,7 +48256,7 @@ var HookNameSchema = exports_external.enum([
48256
48256
  "no-coder-gpt",
48257
48257
  "no-gptcoder-non-gpt",
48258
48258
  "start-work",
48259
- "atlas",
48259
+ "orchestrator",
48260
48260
  "unstable-agent-babysitter",
48261
48261
  "task-resume-info",
48262
48262
  "stop-continuation-guard",
@@ -49272,7 +49272,7 @@ function isAllowedFile(filePath, workspaceRoot) {
49272
49272
  }
49273
49273
 
49274
49274
  // src/hooks/planner-md-only/hook.ts
49275
- var TASK_TOOLS = ["task", "call_omo_agent"];
49275
+ var TASK_TOOLS = ["task", "call_drizzy_agent"];
49276
49276
  function createPlannerMdOnlyHook(ctx) {
49277
49277
  return {
49278
49278
  "tool.execute.before": async (input, output) => {
@@ -49477,7 +49477,7 @@ function createCoderJuniorNotepadHook(ctx) {
49477
49477
  };
49478
49478
  }
49479
49479
  // src/hooks/task-resume-info/hook.ts
49480
- var TARGET_TOOLS2 = ["task", "Task", "task_tool", "call_omo_agent"];
49480
+ var TARGET_TOOLS2 = ["task", "Task", "task_tool", "call_drizzy_agent"];
49481
49481
  var SESSION_ID_PATTERNS = [
49482
49482
  /Session ID: (ses_[a-zA-Z0-9_-]+)/,
49483
49483
  /session_id: (ses_[a-zA-Z0-9_-]+)/,
@@ -49598,7 +49598,7 @@ function createStartWorkHook(ctx) {
49598
49598
  if (!promptText.includes("<session-context>"))
49599
49599
  return;
49600
49600
  log(`[${HOOK_NAME8}] Processing start-work command`, { sessionID: input.sessionID });
49601
- updateSessionAgent(input.sessionID, "atlas");
49601
+ updateSessionAgent(input.sessionID, "orchestrator");
49602
49602
  const existingState = readBoulderState(ctx.directory);
49603
49603
  const sessionId = input.sessionID;
49604
49604
  const timestamp2 = new Date().toISOString();
@@ -49620,7 +49620,7 @@ All ${progress.total} tasks are done. Create a new plan with: /plan "your task"`
49620
49620
  } else {
49621
49621
  if (existingState)
49622
49622
  clearBoulderState(ctx.directory);
49623
- const newState = createBoulderState(matchedPlan, sessionId, "atlas", worktreePath);
49623
+ const newState = createBoulderState(matchedPlan, sessionId, "orchestrator", worktreePath);
49624
49624
  writeBoulderState(ctx.directory, newState);
49625
49625
  contextInfo = `
49626
49626
  ## Auto-Selected Plan
@@ -49713,7 +49713,7 @@ All ${plans.length} plan(s) are complete. Create a new plan with: /plan "your ta
49713
49713
  } else if (incompletePlans.length === 1) {
49714
49714
  const planPath = incompletePlans[0];
49715
49715
  const progress = getPlanProgress(planPath);
49716
- const newState = createBoulderState(planPath, sessionId, "atlas", worktreePath);
49716
+ const newState = createBoulderState(planPath, sessionId, "orchestrator", worktreePath);
49717
49717
  writeBoulderState(ctx.directory, newState);
49718
49718
  contextInfo += `
49719
49719
 
@@ -49765,12 +49765,12 @@ ${contextInfo}`;
49765
49765
  }
49766
49766
  };
49767
49767
  }
49768
- // src/hooks/atlas/hook-name.ts
49769
- var HOOK_NAME9 = "atlas";
49770
- // src/hooks/atlas/event-handler.ts
49768
+ // src/hooks/orchestrator/hook-name.ts
49769
+ var HOOK_NAME9 = "orchestrator";
49770
+ // src/hooks/orchestrator/event-handler.ts
49771
49771
  init_logger();
49772
49772
 
49773
- // src/hooks/atlas/is-abort-error.ts
49773
+ // src/hooks/orchestrator/is-abort-error.ts
49774
49774
  function isAbortError(error48) {
49775
49775
  if (!error48)
49776
49776
  return false;
@@ -49792,13 +49792,13 @@ function isAbortError(error48) {
49792
49792
  return false;
49793
49793
  }
49794
49794
 
49795
- // src/hooks/atlas/idle-event.ts
49795
+ // src/hooks/orchestrator/idle-event.ts
49796
49796
  init_logger();
49797
49797
 
49798
- // src/hooks/atlas/boulder-continuation-injector.ts
49798
+ // src/hooks/orchestrator/boulder-continuation-injector.ts
49799
49799
  init_logger();
49800
49800
 
49801
- // src/hooks/atlas/system-reminder-templates.ts
49801
+ // src/hooks/orchestrator/system-reminder-templates.ts
49802
49802
  var DIRECT_WORK_REMINDER = `
49803
49803
 
49804
49804
  ---
@@ -49907,7 +49907,7 @@ ${createSystemDirective(SystemDirectiveTypes.DELEGATION_REQUIRED)}
49907
49907
 
49908
49908
  **STOP. YOU ARE VIOLATING ORCHESTRATOR PROTOCOL.**
49909
49909
 
49910
- You (Atlas) are attempting to directly modify a file outside \`.drizzy/\`.
49910
+ You (Orchestrator) are attempting to directly modify a file outside \`.drizzy/\`.
49911
49911
 
49912
49912
  **Path attempted:** $FILE_PATH
49913
49913
 
@@ -49973,7 +49973,7 @@ If you were NOT given **exactly ONE atomic task**, you MUST:
49973
49973
  **REFUSE multi-task requests. DEMAND single-task clarity.**
49974
49974
  `;
49975
49975
 
49976
- // src/hooks/atlas/recent-model-resolver.ts
49976
+ // src/hooks/orchestrator/recent-model-resolver.ts
49977
49977
  async function resolveRecentPromptContextForSession(ctx, sessionID) {
49978
49978
  try {
49979
49979
  const messagesResp = await ctx.client.session.messages({ path: { id: sessionID } });
@@ -50005,7 +50005,7 @@ async function resolveRecentPromptContextForSession(ctx, sessionID) {
50005
50005
  return { model: { providerID: model.providerID, modelID: model.modelID }, tools };
50006
50006
  }
50007
50007
 
50008
- // src/hooks/atlas/boulder-continuation-injector.ts
50008
+ // src/hooks/orchestrator/boulder-continuation-injector.ts
50009
50009
  async function injectBoulderContinuation(input) {
50010
50010
  const {
50011
50011
  ctx,
@@ -50036,7 +50036,7 @@ async function injectBoulderContinuation(input) {
50036
50036
  await ctx.client.session.promptAsync({
50037
50037
  path: { id: sessionID },
50038
50038
  body: {
50039
- agent: agent ?? "atlas",
50039
+ agent: agent ?? "orchestrator",
50040
50040
  ...promptContext.model !== undefined ? { model: promptContext.model } : {},
50041
50041
  ...inheritedTools ? { tools: inheritedTools } : {},
50042
50042
  parts: [createInternalAgentTextPart(prompt)]
@@ -50056,7 +50056,7 @@ async function injectBoulderContinuation(input) {
50056
50056
  }
50057
50057
  }
50058
50058
 
50059
- // src/hooks/atlas/idle-event.ts
50059
+ // src/hooks/orchestrator/idle-event.ts
50060
50060
  var CONTINUATION_COOLDOWN_MS2 = 5000;
50061
50061
  var FAILURE_BACKOFF_MS = 5 * 60 * 1000;
50062
50062
  var RETRY_DELAY_MS = CONTINUATION_COOLDOWN_MS2 + 1000;
@@ -50144,7 +50144,7 @@ function scheduleRetry(input) {
50144
50144
  });
50145
50145
  }, RETRY_DELAY_MS);
50146
50146
  }
50147
- async function handleAtlasSessionIdle(input) {
50147
+ async function handleOrchestratorSessionIdle(input) {
50148
50148
  const { ctx, options, getState, sessionID } = input;
50149
50149
  log(`[${HOOK_NAME9}] session.idle`, { sessionID });
50150
50150
  const activeBoulderSession = resolveActiveBoulderSession({
@@ -50219,8 +50219,8 @@ async function handleAtlasSessionIdle(input) {
50219
50219
  });
50220
50220
  }
50221
50221
 
50222
- // src/hooks/atlas/event-handler.ts
50223
- function createAtlasEventHandler(input) {
50222
+ // src/hooks/orchestrator/event-handler.ts
50223
+ function createOrchestratorEventHandler(input) {
50224
50224
  const { ctx, options, sessions, getState } = input;
50225
50225
  return async ({ event }) => {
50226
50226
  const props = event.properties;
@@ -50238,7 +50238,7 @@ function createAtlasEventHandler(input) {
50238
50238
  const sessionID = props?.sessionID;
50239
50239
  if (!sessionID)
50240
50240
  return;
50241
- await handleAtlasSessionIdle({ ctx, options, getState, sessionID });
50241
+ await handleOrchestratorSessionIdle({ ctx, options, getState, sessionID });
50242
50242
  return;
50243
50243
  }
50244
50244
  if (event.type === "message.updated") {
@@ -50300,21 +50300,21 @@ function createAtlasEventHandler(input) {
50300
50300
  };
50301
50301
  }
50302
50302
 
50303
- // src/hooks/atlas/tool-execute-after.ts
50303
+ // src/hooks/orchestrator/tool-execute-after.ts
50304
50304
  init_logger();
50305
50305
 
50306
- // src/hooks/atlas/coder-path.ts
50306
+ // src/hooks/orchestrator/coder-path.ts
50307
50307
  function isCoderPath(filePath) {
50308
50308
  return /\.drizzy[/\\]/.test(filePath);
50309
50309
  }
50310
50310
 
50311
- // src/hooks/atlas/subagent-session-id.ts
50311
+ // src/hooks/orchestrator/subagent-session-id.ts
50312
50312
  function extractSessionIdFromOutput(output) {
50313
50313
  const match = output.match(/Session ID:\s*(ses_[a-zA-Z0-9]+)/);
50314
50314
  return match?.[1] ?? "<session_id>";
50315
50315
  }
50316
50316
 
50317
- // src/hooks/atlas/verification-reminders.ts
50317
+ // src/hooks/orchestrator/verification-reminders.ts
50318
50318
  function buildCompletionGate(planName, sessionId) {
50319
50319
  return `
50320
50320
  **COMPLETION GATE \u2014 DO NOT PROCEED UNTIL THIS IS DONE**
@@ -50445,13 +50445,13 @@ If QA tasks exist in your todo list:
50445
50445
  **NO TODO = NO TRACKING = INCOMPLETE WORK. Use todowrite aggressively.**`;
50446
50446
  }
50447
50447
 
50448
- // src/hooks/atlas/write-edit-tool-policy.ts
50448
+ // src/hooks/orchestrator/write-edit-tool-policy.ts
50449
50449
  var WRITE_EDIT_TOOLS = ["Write", "Edit", "write", "edit"];
50450
50450
  function isWriteOrEditToolName(toolName) {
50451
50451
  return WRITE_EDIT_TOOLS.includes(toolName);
50452
50452
  }
50453
50453
 
50454
- // src/hooks/atlas/tool-execute-after.ts
50454
+ // src/hooks/orchestrator/tool-execute-after.ts
50455
50455
  function createToolExecuteAfterHandler2(input) {
50456
50456
  const { ctx, pendingFilePaths, autoCommit } = input;
50457
50457
  return async (toolInput, toolOutput) => {
@@ -50539,7 +50539,7 @@ ${buildStandaloneVerificationReminder(subagentSessionId)}
50539
50539
  };
50540
50540
  }
50541
50541
 
50542
- // src/hooks/atlas/tool-execute-before.ts
50542
+ // src/hooks/orchestrator/tool-execute-before.ts
50543
50543
  init_logger();
50544
50544
  function createToolExecuteBeforeHandler2(input) {
50545
50545
  const { ctx, pendingFilePaths } = input;
@@ -50576,8 +50576,8 @@ function createToolExecuteBeforeHandler2(input) {
50576
50576
  };
50577
50577
  }
50578
50578
 
50579
- // src/hooks/atlas/atlas-hook.ts
50580
- function createAtlasHook(ctx, options) {
50579
+ // src/hooks/orchestrator/orchestrator-hook.ts
50580
+ function createOrchestratorHook(ctx, options) {
50581
50581
  const sessions = new Map;
50582
50582
  const pendingFilePaths = new Map;
50583
50583
  const autoCommit = options?.autoCommit ?? true;
@@ -50590,7 +50590,7 @@ function createAtlasHook(ctx, options) {
50590
50590
  return state3;
50591
50591
  }
50592
50592
  return {
50593
- handler: createAtlasEventHandler({ ctx, options, sessions, getState }),
50593
+ handler: createOrchestratorEventHandler({ ctx, options, sessions, getState }),
50594
50594
  "tool.execute.before": createToolExecuteBeforeHandler2({ ctx, pendingFilePaths }),
50595
50595
  "tool.execute.after": createToolExecuteAfterHandler2({ ctx, pendingFilePaths, autoCommit })
50596
50596
  };
@@ -52103,7 +52103,7 @@ var AGENT_NAMES = [
52103
52103
  "librarian",
52104
52104
  "explore",
52105
52105
  "planner",
52106
- "atlas",
52106
+ "orchestrator",
52107
52107
  "plan-consultant",
52108
52108
  "plan-reviewer",
52109
52109
  "gptcoder",
@@ -71449,7 +71449,7 @@ Status: ${task.status}`;
71449
71449
  }
71450
71450
  });
71451
71451
  }
71452
- // src/tools/call-omo-agent/constants.ts
71452
+ // src/tools/call-drizzy-agent/constants.ts
71453
71453
  var ALLOWED_AGENTS = [
71454
71454
  "explore",
71455
71455
  "librarian",
@@ -71459,7 +71459,7 @@ var ALLOWED_AGENTS = [
71459
71459
  "plan-reviewer",
71460
71460
  "multimodal-looker"
71461
71461
  ];
71462
- var CALL_OMO_AGENT_DESCRIPTION = `Spawn explore/librarian agent. run_in_background REQUIRED (true=async with task_id, false=sync).
71462
+ var CALL_DRIZZY_AGENT_DESCRIPTION = `Spawn explore/librarian agent. run_in_background REQUIRED (true=async with task_id, false=sync).
71463
71463
 
71464
71464
  Available: {agents}
71465
71465
 
@@ -71523,14 +71523,14 @@ function buildFallbackChainFromModels(fallbackModels, contextProviderID, default
71523
71523
  return;
71524
71524
  return parsed;
71525
71525
  }
71526
- // src/tools/call-omo-agent/background-executor.ts
71526
+ // src/tools/call-drizzy-agent/background-executor.ts
71527
71527
  async function executeBackground(args, toolContext, manager, client2, fallbackChain) {
71528
71528
  try {
71529
71529
  const messageDir = getMessageDir(toolContext.sessionID);
71530
71530
  const { prevMessage, firstMessageAgent } = await resolveMessageContext(toolContext.sessionID, client2, messageDir);
71531
71531
  const sessionAgent = getSessionAgent(toolContext.sessionID);
71532
71532
  const parentAgent = toolContext.agent ?? sessionAgent ?? firstMessageAgent ?? prevMessage?.agent;
71533
- log("[call_omo_agent] parentAgent resolution", {
71533
+ log("[call_drizzy_agent] parentAgent resolution", {
71534
71534
  sessionID: toolContext.sessionID,
71535
71535
  messageDir,
71536
71536
  ctxAgent: toolContext.agent,
@@ -71568,10 +71568,10 @@ Task ID: ${task.id}`;
71568
71568
  await new Promise((resolve16) => setTimeout(resolve16, WAIT_FOR_SESSION_INTERVAL_MS));
71569
71569
  sessionId = manager.getTask(task.id)?.sessionID;
71570
71570
  }
71571
- await toolContext.metadata?.({
71571
+ await Promise.resolve(toolContext.metadata?.({
71572
71572
  title: args.description,
71573
71573
  metadata: { sessionId: sessionId ?? "pending" }
71574
- });
71574
+ }));
71575
71575
  return `Background agent task launched successfully.
71576
71576
 
71577
71577
  Task ID: ${task.id}
@@ -71590,9 +71590,9 @@ Use \`background_output\` tool with task_id="${task.id}" to check progress:
71590
71590
  }
71591
71591
  }
71592
71592
 
71593
- // src/tools/call-omo-agent/completion-poller.ts
71593
+ // src/tools/call-drizzy-agent/completion-poller.ts
71594
71594
  async function waitForCompletion(sessionID, toolContext, ctx) {
71595
- log(`[call_omo_agent] Polling for completion...`);
71595
+ log(`[call_drizzy_agent] Polling for completion...`);
71596
71596
  const POLL_INTERVAL_MS = 500;
71597
71597
  const MAX_POLL_TIME_MS = 5 * 60 * 1000;
71598
71598
  const pollStart = Date.now();
@@ -71601,7 +71601,7 @@ async function waitForCompletion(sessionID, toolContext, ctx) {
71601
71601
  const STABILITY_REQUIRED = 3;
71602
71602
  while (Date.now() - pollStart < MAX_POLL_TIME_MS) {
71603
71603
  if (toolContext.abort?.aborted) {
71604
- log(`[call_omo_agent] Aborted by user`);
71604
+ log(`[call_drizzy_agent] Aborted by user`);
71605
71605
  throw new Error("Task aborted.");
71606
71606
  }
71607
71607
  await new Promise((resolve16) => setTimeout(resolve16, POLL_INTERVAL_MS));
@@ -71621,7 +71621,7 @@ async function waitForCompletion(sessionID, toolContext, ctx) {
71621
71621
  if (currentMsgCount > 0 && currentMsgCount === lastMsgCount) {
71622
71622
  stablePolls++;
71623
71623
  if (stablePolls >= STABILITY_REQUIRED) {
71624
- log(`[call_omo_agent] Session complete, ${currentMsgCount} messages`);
71624
+ log(`[call_drizzy_agent] Session complete, ${currentMsgCount} messages`);
71625
71625
  break;
71626
71626
  }
71627
71627
  } else {
@@ -71630,29 +71630,29 @@ async function waitForCompletion(sessionID, toolContext, ctx) {
71630
71630
  }
71631
71631
  }
71632
71632
  if (Date.now() - pollStart >= MAX_POLL_TIME_MS) {
71633
- log(`[call_omo_agent] Timeout reached`);
71633
+ log(`[call_drizzy_agent] Timeout reached`);
71634
71634
  throw new Error("Agent task timed out after 5 minutes.");
71635
71635
  }
71636
71636
  }
71637
71637
 
71638
- // src/tools/call-omo-agent/message-processor.ts
71638
+ // src/tools/call-drizzy-agent/message-processor.ts
71639
71639
  async function processMessages(sessionID, ctx) {
71640
71640
  const messagesResult = await ctx.client.session.messages({
71641
71641
  path: { id: sessionID }
71642
71642
  });
71643
71643
  if (messagesResult.error) {
71644
- log(`[call_omo_agent] Messages error:`, messagesResult.error);
71644
+ log(`[call_drizzy_agent] Messages error:`, messagesResult.error);
71645
71645
  throw new Error(`Failed to get messages: ${messagesResult.error}`);
71646
71646
  }
71647
71647
  const messages = messagesResult.data;
71648
- log(`[call_omo_agent] Got ${messages.length} messages`);
71648
+ log(`[call_drizzy_agent] Got ${messages.length} messages`);
71649
71649
  const relevantMessages = messages.filter((m) => m.info?.role === "assistant" || m.info?.role === "tool");
71650
71650
  if (relevantMessages.length === 0) {
71651
- log(`[call_omo_agent] No assistant or tool messages found`);
71652
- log(`[call_omo_agent] All messages:`, JSON.stringify(messages, null, 2));
71651
+ log(`[call_drizzy_agent] No assistant or tool messages found`);
71652
+ log(`[call_drizzy_agent] All messages:`, JSON.stringify(messages, null, 2));
71653
71653
  throw new Error("No assistant or tool response found");
71654
71654
  }
71655
- log(`[call_omo_agent] Found ${relevantMessages.length} relevant messages`);
71655
+ log(`[call_drizzy_agent] Found ${relevantMessages.length} relevant messages`);
71656
71656
  const sortedMessages = [...relevantMessages].sort((a, b) => {
71657
71657
  const timeA = a.info?.time?.created ?? 0;
71658
71658
  const timeB = b.info?.time?.created ?? 0;
@@ -71684,31 +71684,31 @@ async function processMessages(sessionID, ctx) {
71684
71684
  const responseText = extractedContent.filter((text) => text.length > 0).join(`
71685
71685
 
71686
71686
  `);
71687
- log(`[call_omo_agent] Got response, length: ${responseText.length}`);
71687
+ log(`[call_drizzy_agent] Got response, length: ${responseText.length}`);
71688
71688
  return responseText;
71689
71689
  }
71690
71690
 
71691
- // src/tools/call-omo-agent/session-creator.ts
71691
+ // src/tools/call-drizzy-agent/session-creator.ts
71692
71692
  async function createOrGetSession(args, toolContext, ctx) {
71693
71693
  if (args.session_id) {
71694
- log(`[call_omo_agent] Using existing session: ${args.session_id}`);
71694
+ log(`[call_drizzy_agent] Using existing session: ${args.session_id}`);
71695
71695
  const sessionResult = await ctx.client.session.get({
71696
71696
  path: { id: args.session_id }
71697
71697
  });
71698
71698
  if (sessionResult.error) {
71699
- log(`[call_omo_agent] Session get error:`, sessionResult.error);
71699
+ log(`[call_drizzy_agent] Session get error:`, sessionResult.error);
71700
71700
  throw new Error(`Failed to get existing session: ${sessionResult.error}`);
71701
71701
  }
71702
71702
  return { sessionID: args.session_id, isNew: false };
71703
71703
  } else {
71704
- log(`[call_omo_agent] Creating new session with parent: ${toolContext.sessionID}`);
71704
+ log(`[call_drizzy_agent] Creating new session with parent: ${toolContext.sessionID}`);
71705
71705
  const parentSession = await ctx.client.session.get({
71706
71706
  path: { id: toolContext.sessionID }
71707
71707
  }).catch((err) => {
71708
- log(`[call_omo_agent] Failed to get parent session:`, err);
71708
+ log(`[call_drizzy_agent] Failed to get parent session:`, err);
71709
71709
  return null;
71710
71710
  });
71711
- log(`[call_omo_agent] Parent session dir: ${parentSession?.data?.directory}, fallback: ${ctx.directory}`);
71711
+ log(`[call_drizzy_agent] Parent session dir: ${parentSession?.data?.directory}, fallback: ${ctx.directory}`);
71712
71712
  const parentDirectory = parentSession?.data?.directory ?? ctx.directory;
71713
71713
  const createResult = await ctx.client.session.create({
71714
71714
  body: {
@@ -71720,7 +71720,7 @@ async function createOrGetSession(args, toolContext, ctx) {
71720
71720
  }
71721
71721
  });
71722
71722
  if (createResult.error) {
71723
- log(`[call_omo_agent] Session create error:`, createResult.error);
71723
+ log(`[call_drizzy_agent] Session create error:`, createResult.error);
71724
71724
  const errorStr = String(createResult.error);
71725
71725
  if (errorStr.toLowerCase().includes("unauthorized")) {
71726
71726
  throw new Error(`Failed to create session (Unauthorized). This may be due to:
@@ -71735,14 +71735,14 @@ Original error: ${createResult.error}`);
71735
71735
  throw new Error(`Failed to create session: ${createResult.error}`);
71736
71736
  }
71737
71737
  const sessionID = createResult.data.id;
71738
- log(`[call_omo_agent] Created session: ${sessionID}`);
71738
+ log(`[call_drizzy_agent] Created session: ${sessionID}`);
71739
71739
  subagentSessions.add(sessionID);
71740
71740
  syncSubagentSessions.add(sessionID);
71741
71741
  return { sessionID, isNew: true };
71742
71742
  }
71743
71743
  }
71744
71744
 
71745
- // src/tools/call-omo-agent/sync-executor.ts
71745
+ // src/tools/call-drizzy-agent/sync-executor.ts
71746
71746
  var defaultDeps = {
71747
71747
  createOrGetSession,
71748
71748
  waitForCompletion,
@@ -71771,8 +71771,8 @@ async function executeSync(args, toolContext, ctx, deps = defaultDeps, fallbackC
71771
71771
  title: args.description,
71772
71772
  metadata: { sessionId: sessionID }
71773
71773
  }));
71774
- log(`[call_omo_agent] Sending prompt to session ${sessionID}`);
71775
- log(`[call_omo_agent] Prompt text:`, args.prompt.substring(0, 100));
71774
+ log(`[call_drizzy_agent] Sending prompt to session ${sessionID}`);
71775
+ log(`[call_drizzy_agent] Prompt text:`, args.prompt.substring(0, 100));
71776
71776
  try {
71777
71777
  await ctx.client.session.promptAsync({
71778
71778
  path: { id: sessionID },
@@ -71788,7 +71788,7 @@ async function executeSync(args, toolContext, ctx, deps = defaultDeps, fallbackC
71788
71788
  });
71789
71789
  } catch (error92) {
71790
71790
  const errorMessage = error92 instanceof Error ? error92.message : String(error92);
71791
- log(`[call_omo_agent] Prompt error:`, errorMessage);
71791
+ log(`[call_drizzy_agent] Prompt error:`, errorMessage);
71792
71792
  if (errorMessage.includes("agent.name") || errorMessage.includes("undefined")) {
71793
71793
  return `Error: Agent "${args.subagent_type}" not found. Make sure the agent is registered in your opencode.json or provided by a plugin.
71794
71794
 
@@ -71822,8 +71822,8 @@ session_id: ${sessionID}
71822
71822
  }
71823
71823
  }
71824
71824
 
71825
- // src/tools/call-omo-agent/tools.ts
71826
- function resolveFallbackChainForCallOmoAgent(args) {
71825
+ // src/tools/call-drizzy-agent/tools.ts
71826
+ function resolveFallbackChainForCallDrizzyAgent(args) {
71827
71827
  const { subagentType, agentOverrides, userCategories } = args;
71828
71828
  const agentConfigKey = getAgentConfigKey(subagentType);
71829
71829
  const agentRequirement = AGENT_MODEL_REQUIREMENTS[agentConfigKey];
@@ -71833,10 +71833,10 @@ function resolveFallbackChainForCallOmoAgent(args) {
71833
71833
  const configuredFallbackChain = buildFallbackChainFromModels(normalizedFallbackModels, defaultProviderID);
71834
71834
  return configuredFallbackChain ?? agentRequirement?.fallbackChain;
71835
71835
  }
71836
- function createCallOmoAgent(ctx, backgroundManager, disabledAgents = [], agentOverrides, userCategories) {
71836
+ function createCallDrizzyAgent(ctx, backgroundManager, disabledAgents = [], agentOverrides, userCategories) {
71837
71837
  const agentDescriptions = ALLOWED_AGENTS.map((name) => `- ${name}: Specialized agent for ${name} tasks`).join(`
71838
71838
  `);
71839
- const description = CALL_OMO_AGENT_DESCRIPTION.replace("{agents}", agentDescriptions);
71839
+ const description = CALL_DRIZZY_AGENT_DESCRIPTION.replace("{agents}", agentDescriptions);
71840
71840
  return tool({
71841
71841
  description,
71842
71842
  args: {
@@ -71848,7 +71848,7 @@ function createCallOmoAgent(ctx, backgroundManager, disabledAgents = [], agentOv
71848
71848
  },
71849
71849
  async execute(args, toolContext) {
71850
71850
  const toolCtx = toolContext;
71851
- log(`[call_omo_agent] Starting with agent: ${args.subagent_type}, background: ${args.run_in_background}`);
71851
+ log(`[call_drizzy_agent] Starting with agent: ${args.subagent_type}, background: ${args.run_in_background}`);
71852
71852
  if (!ALLOWED_AGENTS.some((name) => name.toLowerCase() === args.subagent_type.toLowerCase())) {
71853
71853
  return `Error: Invalid agent type "${args.subagent_type}". Only ${ALLOWED_AGENTS.join(", ")} are allowed.`;
71854
71854
  }
@@ -71857,7 +71857,7 @@ function createCallOmoAgent(ctx, backgroundManager, disabledAgents = [], agentOv
71857
71857
  if (disabledAgents.some((disabled) => disabled.toLowerCase() === normalizedAgent)) {
71858
71858
  return `Error: Agent "${normalizedAgent}" is disabled via disabled_agents configuration. Remove it from disabled_agents in your drizzy-agent.json to use it.`;
71859
71859
  }
71860
- const fallbackChain = resolveFallbackChainForCallOmoAgent({
71860
+ const fallbackChain = resolveFallbackChainForCallDrizzyAgent({
71861
71861
  subagentType: args.subagent_type,
71862
71862
  agentOverrides,
71863
71863
  userCategories
@@ -72385,7 +72385,7 @@ Original error: ${createResult.error}`;
72385
72385
  agent: MULTIMODAL_LOOKER_AGENT,
72386
72386
  tools: {
72387
72387
  task: false,
72388
- call_omo_agent: false,
72388
+ call_drizzy_agent: false,
72389
72389
  look_at: false,
72390
72390
  read: false
72391
72391
  },
@@ -72737,8 +72737,8 @@ BEFORE you begin planning, you MUST first understand the user's request deeply.
72737
72737
 
72738
72738
  MANDATORY CONTEXT GATHERING PROTOCOL:
72739
72739
  1. Launch background agents to gather context:
72740
- - call_omo_agent(description="Explore codebase patterns", subagent_type="explore", run_in_background=true, prompt="<search for relevant patterns, files, and implementations in the codebase related to user's request>")
72741
- - call_omo_agent(description="Research documentation", subagent_type="librarian", run_in_background=true, prompt="<search for external documentation, examples, and best practices related to user's request>")
72740
+ - call_drizzy_agent(description="Explore codebase patterns", subagent_type="explore", run_in_background=true, prompt="<search for relevant patterns, files, and implementations in the codebase related to user's request>")
72741
+ - call_drizzy_agent(description="Research documentation", subagent_type="librarian", run_in_background=true, prompt="<search for external documentation, examples, and best practices related to user's request>")
72742
72742
 
72743
72743
  2. After gathering context, ALWAYS present:
72744
72744
  - **User Request Summary**: Concise restatement of what the user is asking for
@@ -73601,7 +73601,7 @@ async function executeSyncContinuation(args, ctx, executorCtx, deps = syncContin
73601
73601
  const tools = {
73602
73602
  ...resumeAgent ? getAgentToolRestrictions(resumeAgent) : {},
73603
73603
  task: allowTask,
73604
- call_omo_agent: true,
73604
+ call_drizzy_agent: true,
73605
73605
  question: false
73606
73606
  };
73607
73607
  setSessionTools(args.session_id, tools);
@@ -73975,7 +73975,7 @@ async function sendSyncPrompt(client2, input, deps = sendSyncPromptDeps) {
73975
73975
  const effectivePrompt = buildTaskPrompt(input.args.prompt, input.agentToUse);
73976
73976
  const tools = {
73977
73977
  task: allowTask,
73978
- call_omo_agent: true,
73978
+ call_drizzy_agent: true,
73979
73979
  question: false,
73980
73980
  ...getAgentToolRestrictions(input.agentToUse)
73981
73981
  };
@@ -77278,7 +77278,7 @@ function createContinuationHooks(args) {
77278
77278
  }
77279
77279
  }
77280
77280
  const backgroundNotificationHook = isHookEnabled("background-notification") ? safeHook("background-notification", () => createBackgroundNotificationHook(backgroundManager)) : null;
77281
- const atlasHook = isHookEnabled("atlas") ? safeHook("atlas", () => createAtlasHook(ctx, {
77281
+ const orchestratorHook = isHookEnabled("orchestrator") ? safeHook("orchestrator", () => createOrchestratorHook(ctx, {
77282
77282
  directory: ctx.directory,
77283
77283
  backgroundManager,
77284
77284
  isContinuationStopped: (sessionID) => stopContinuationGuard?.isStopped(sessionID) ?? false,
@@ -77294,7 +77294,7 @@ function createContinuationHooks(args) {
77294
77294
  todoContinuationEnforcer,
77295
77295
  unstableAgentBabysitter,
77296
77296
  backgroundNotificationHook,
77297
- atlasHook
77297
+ orchestratorHook
77298
77298
  };
77299
77299
  }
77300
77300
 
@@ -78426,7 +78426,7 @@ class BackgroundManager {
78426
78426
  tools: (() => {
78427
78427
  const tools = {
78428
78428
  task: false,
78429
- call_omo_agent: true,
78429
+ call_drizzy_agent: true,
78430
78430
  question: false,
78431
78431
  ...getAgentToolRestrictions(input.agent)
78432
78432
  };
@@ -78637,7 +78637,7 @@ class BackgroundManager {
78637
78637
  tools: (() => {
78638
78638
  const tools = {
78639
78639
  task: false,
78640
- call_omo_agent: true,
78640
+ call_drizzy_agent: true,
78641
78641
  question: false,
78642
78642
  ...getAgentToolRestrictions(existingTask.agent)
78643
78643
  };
@@ -87239,7 +87239,7 @@ function createCoderAgent(model, availableAgents, availableToolNames, availableS
87239
87239
  color: "#00CED1",
87240
87240
  permission: {
87241
87241
  question: "allow",
87242
- call_omo_agent: "deny"
87242
+ call_drizzy_agent: "deny"
87243
87243
  },
87244
87244
  reasoningEffort: "medium"
87245
87245
  };
@@ -87264,7 +87264,7 @@ ${buildGeminiVerificationOverride()}
87264
87264
  }
87265
87265
  const permission = {
87266
87266
  question: "allow",
87267
- call_omo_agent: "deny"
87267
+ call_drizzy_agent: "deny"
87268
87268
  };
87269
87269
  const base = {
87270
87270
  description: "Powerful AI orchestrator. Plans obsessively with todos, assesses search complexity before exploration, delegates strategically via category+skills combinations. Uses explore for internal code (parallel-friendly), librarian for external docs. (Coder - DrizzyAgent)",
@@ -87558,7 +87558,7 @@ function createLibrarianAgent(model) {
87558
87558
  "edit",
87559
87559
  "apply_patch",
87560
87560
  "task",
87561
- "call_omo_agent"
87561
+ "call_drizzy_agent"
87562
87562
  ]);
87563
87563
  return {
87564
87564
  description: "Specialized codebase understanding agent for multi-repository analysis, searching remote codebases, retrieving official documentation, and finding implementation examples using GitHub CLI, Context7, and Web Search. MUST BE USED when users ask to look up code in remote repositories, explain library internals, or find usage examples in open source. (Librarian - DrizzyAgent)",
@@ -87875,7 +87875,7 @@ function createExploreAgent(model) {
87875
87875
  "edit",
87876
87876
  "apply_patch",
87877
87877
  "task",
87878
- "call_omo_agent"
87878
+ "call_drizzy_agent"
87879
87879
  ]);
87880
87880
  return {
87881
87881
  description: 'Contextual grep for codebases. Answers "Where is X?", "Which file has Y?", "Find the code that does Z". Fire multiple in parallel for broad searches. Specify thoroughness: "quick" for basic, "medium" for moderate, "very thorough" for comprehensive analysis. (Explore - DrizzyAgent)',
@@ -88083,9 +88083,9 @@ Confirm:
88083
88083
  \`\`\`
88084
88084
  // Launch these explore agents FIRST
88085
88085
  // Prompt structure: CONTEXT + GOAL + QUESTION + REQUEST
88086
- call_omo_agent(subagent_type="explore", prompt="I'm analyzing a new feature request and need to understand existing patterns before asking clarifying questions. Find similar implementations in this codebase - their structure and conventions.")
88087
- call_omo_agent(subagent_type="explore", prompt="I'm planning to build [feature type] and want to ensure consistency with the project. Find how similar features are organized - file structure, naming patterns, and architectural approach.")
88088
- call_omo_agent(subagent_type="librarian", prompt="I'm implementing [technology] and need to understand best practices before making recommendations. Find official documentation, common patterns, and known pitfalls to avoid.")
88086
+ call_drizzy_agent(subagent_type="explore", prompt="I'm analyzing a new feature request and need to understand existing patterns before asking clarifying questions. Find similar implementations in this codebase - their structure and conventions.")
88087
+ call_drizzy_agent(subagent_type="explore", prompt="I'm planning to build [feature type] and want to ensure consistency with the project. Find how similar features are organized - file structure, naming patterns, and architectural approach.")
88088
+ call_drizzy_agent(subagent_type="librarian", prompt="I'm implementing [technology] and need to understand best practices before making recommendations. Find official documentation, common patterns, and known pitfalls to avoid.")
88089
88089
  \`\`\`
88090
88090
 
88091
88091
  **Questions to Ask** (AFTER exploration):
@@ -88196,9 +88196,9 @@ Task(
88196
88196
  **Investigation Structure**:
88197
88197
  \`\`\`
88198
88198
  // Parallel probes - Prompt structure: CONTEXT + GOAL + QUESTION + REQUEST
88199
- call_omo_agent(subagent_type="explore", prompt="I'm researching how to implement [feature] and need to understand the current approach. Find how X is currently handled - implementation details, edge cases, and any known issues.")
88200
- call_omo_agent(subagent_type="librarian", prompt="I'm implementing Y and need authoritative guidance. Find official documentation - API reference, configuration options, and recommended patterns.")
88201
- call_omo_agent(subagent_type="librarian", prompt="I'm looking for proven implementations of Z. Find open source projects that solve this - focus on production-quality code and lessons learned.")
88199
+ call_drizzy_agent(subagent_type="explore", prompt="I'm researching how to implement [feature] and need to understand the current approach. Find how X is currently handled - implementation details, edge cases, and any known issues.")
88200
+ call_drizzy_agent(subagent_type="librarian", prompt="I'm implementing Y and need authoritative guidance. Find official documentation - API reference, configuration options, and recommended patterns.")
88201
+ call_drizzy_agent(subagent_type="librarian", prompt="I'm looking for proven implementations of Z. Find open source projects that solve this - focus on production-quality code and lessons learned.")
88202
88202
  \`\`\`
88203
88203
 
88204
88204
  **Directives for Planner**:
@@ -88330,12 +88330,12 @@ var planConsultantPromptMetadata = {
88330
88330
  keyTrigger: "Ambiguous or complex request \u2192 consult Plan Consultant before Planner"
88331
88331
  };
88332
88332
 
88333
- // src/agents/atlas/default.ts
88334
- var ATLAS_SYSTEM_PROMPT = `
88333
+ // src/agents/orchestrator/default.ts
88334
+ var ORCHESTRATOR_SYSTEM_PROMPT = `
88335
88335
  <identity>
88336
- You are Atlas - the Master Orchestrator from DrizzyAgent.
88336
+ You are Orchestrator - the Master Orchestrator from DrizzyAgent.
88337
88337
 
88338
- In Greek mythology, Atlas holds up the celestial heavens. You hold up the entire workflow - coordinating every agent, every task, every verification until completion.
88338
+ In Greek mythology, Orchestrator holds up the celestial heavens. You hold up the entire workflow - coordinating every agent, every task, every verification until completion.
88339
88339
 
88340
88340
  You are a conductor, not a musician. A general, not a soldier. You DELEGATE, COORDINATE, and VERIFY.
88341
88341
  You never write code yourself. You orchestrate specialists who do.
@@ -88767,14 +88767,14 @@ After EVERY verified task() completion, you MUST:
88767
88767
  This ensures accurate progress tracking. Skip this and you lose visibility into what remains.
88768
88768
  </post_delegation_rule>
88769
88769
  `;
88770
- function getDefaultAtlasPrompt() {
88771
- return ATLAS_SYSTEM_PROMPT;
88770
+ function getDefaultOrchestratorPrompt() {
88771
+ return ORCHESTRATOR_SYSTEM_PROMPT;
88772
88772
  }
88773
88773
 
88774
- // src/agents/atlas/gpt.ts
88775
- var ATLAS_GPT_SYSTEM_PROMPT = `
88774
+ // src/agents/orchestrator/gpt.ts
88775
+ var ORCHESTRATOR_GPT_SYSTEM_PROMPT = `
88776
88776
  <identity>
88777
- You are Atlas - Master Orchestrator from DrizzyAgent.
88777
+ You are Orchestrator - Master Orchestrator from DrizzyAgent.
88778
88778
  Role: Conductor, not musician. General, not soldier.
88779
88779
  You DELEGATE, COORDINATE, and VERIFY. You NEVER write code yourself.
88780
88780
  </identity>
@@ -89181,14 +89181,14 @@ After EVERY verified task() completion, you MUST:
89181
89181
  This ensures accurate progress tracking. Skip this and you lose visibility into what remains.
89182
89182
  </post_delegation_rule>
89183
89183
  `;
89184
- function getGptAtlasPrompt() {
89185
- return ATLAS_GPT_SYSTEM_PROMPT;
89184
+ function getGptOrchestratorPrompt() {
89185
+ return ORCHESTRATOR_GPT_SYSTEM_PROMPT;
89186
89186
  }
89187
89187
 
89188
- // src/agents/atlas/gemini.ts
89189
- var ATLAS_GEMINI_SYSTEM_PROMPT = `
89188
+ // src/agents/orchestrator/gemini.ts
89189
+ var ORCHESTRATOR_GEMINI_SYSTEM_PROMPT = `
89190
89190
  <identity>
89191
- You are Atlas - Master Orchestrator from DrizzyAgent.
89191
+ You are Orchestrator - Master Orchestrator from DrizzyAgent.
89192
89192
  Role: Conductor, not musician. General, not soldier.
89193
89193
  You DELEGATE, COORDINATE, and VERIFY. You NEVER write code yourself.
89194
89194
 
@@ -89592,11 +89592,11 @@ After EVERY verified task() completion, you MUST:
89592
89592
  This ensures accurate progress tracking. Skip this and you lose visibility into what remains.
89593
89593
  </post_delegation_rule>
89594
89594
  `;
89595
- function getGeminiAtlasPrompt() {
89596
- return ATLAS_GEMINI_SYSTEM_PROMPT;
89595
+ function getGeminiOrchestratorPrompt() {
89596
+ return ORCHESTRATOR_GEMINI_SYSTEM_PROMPT;
89597
89597
  }
89598
89598
 
89599
- // src/agents/atlas/prompt-section-builder.ts
89599
+ // src/agents/orchestrator/prompt-section-builder.ts
89600
89600
  var getCategoryDescription = (name, userCategories) => userCategories?.[name]?.description ?? CATEGORY_DESCRIPTIONS[name] ?? "General tasks";
89601
89601
  function buildAgentSelectionSection(agents) {
89602
89602
  if (agents.length === 0) {
@@ -89680,9 +89680,9 @@ ${agentRows.join(`
89680
89680
  **NEVER provide both category AND agent - they are mutually exclusive.**`;
89681
89681
  }
89682
89682
 
89683
- // src/agents/atlas/agent.ts
89683
+ // src/agents/orchestrator/agent.ts
89684
89684
  var MODE7 = "all";
89685
- function getAtlasPromptSource(model) {
89685
+ function getOrchestratorPromptSource(model) {
89686
89686
  if (model && isGptModel(model)) {
89687
89687
  return "gpt";
89688
89688
  }
@@ -89691,16 +89691,16 @@ function getAtlasPromptSource(model) {
89691
89691
  }
89692
89692
  return "default";
89693
89693
  }
89694
- function getAtlasPrompt(model) {
89695
- const source = getAtlasPromptSource(model);
89694
+ function getOrchestratorPrompt(model) {
89695
+ const source = getOrchestratorPromptSource(model);
89696
89696
  switch (source) {
89697
89697
  case "gpt":
89698
- return getGptAtlasPrompt();
89698
+ return getGptOrchestratorPrompt();
89699
89699
  case "gemini":
89700
- return getGeminiAtlasPrompt();
89700
+ return getGeminiOrchestratorPrompt();
89701
89701
  case "default":
89702
89702
  default:
89703
- return getDefaultAtlasPrompt();
89703
+ return getDefaultOrchestratorPrompt();
89704
89704
  }
89705
89705
  }
89706
89706
  function buildDynamicOrchestratorPrompt(ctx) {
@@ -89718,12 +89718,12 @@ function buildDynamicOrchestratorPrompt(ctx) {
89718
89718
  const decisionMatrix = buildDecisionMatrix(agents, userCategories);
89719
89719
  const skillsSection = buildSkillsSection(skills2);
89720
89720
  const categorySkillsGuide = buildCategorySkillsDelegationGuide(availableCategories, skills2);
89721
- const basePrompt = getAtlasPrompt(model);
89721
+ const basePrompt = getOrchestratorPrompt(model);
89722
89722
  return basePrompt.replace("{CATEGORY_SECTION}", categorySection).replace("{AGENT_SECTION}", agentSection).replace("{DECISION_MATRIX}", decisionMatrix).replace("{SKILLS_SECTION}", skillsSection).replace("{{CATEGORY_SKILLS_DELEGATION_GUIDE}}", categorySkillsGuide);
89723
89723
  }
89724
- function createAtlasAgent(ctx) {
89724
+ function createOrchestratorAgent(ctx) {
89725
89725
  const baseConfig = {
89726
- description: "Orchestrates work via task() to complete ALL tasks in a todo list until fully done. (Atlas - DrizzyAgent)",
89726
+ description: "Orchestrates work via task() to complete ALL tasks in a todo list until fully done. (Orchestrator - DrizzyAgent)",
89727
89727
  mode: MODE7,
89728
89728
  ...ctx.model ? { model: ctx.model } : {},
89729
89729
  temperature: 0.1,
@@ -89732,11 +89732,11 @@ function createAtlasAgent(ctx) {
89732
89732
  };
89733
89733
  return baseConfig;
89734
89734
  }
89735
- createAtlasAgent.mode = MODE7;
89736
- var atlasPromptMetadata = {
89735
+ createOrchestratorAgent.mode = MODE7;
89736
+ var orchestratorPromptMetadata = {
89737
89737
  category: "advisor",
89738
89738
  cost: "EXPENSIVE",
89739
- promptAlias: "Atlas",
89739
+ promptAlias: "Orchestrator",
89740
89740
  triggers: [
89741
89741
  {
89742
89742
  domain: "Todo list orchestration",
@@ -90819,7 +90819,7 @@ function createGptcoderAgent(model, availableAgents, availableToolNames, availab
90819
90819
  color: "#D97706",
90820
90820
  permission: {
90821
90821
  question: "allow",
90822
- call_omo_agent: "deny"
90822
+ call_drizzy_agent: "deny"
90823
90823
  },
90824
90824
  reasoningEffort: "medium"
90825
90825
  };
@@ -91239,7 +91239,7 @@ function createGptcoderAgent2(model, availableAgents, availableToolNames, availa
91239
91239
  color: "#D97706",
91240
91240
  permission: {
91241
91241
  question: "allow",
91242
- call_omo_agent: "deny"
91242
+ call_drizzy_agent: "deny"
91243
91243
  },
91244
91244
  reasoningEffort: "medium"
91245
91245
  };
@@ -91351,7 +91351,7 @@ When blocked: try a different approach \u2192 decompose the problem \u2192 chall
91351
91351
  - Run verification (lint, tests, build) WITHOUT asking
91352
91352
  - Make decisions. Course-correct only on CONCRETE failure
91353
91353
  - Note assumptions in final message, not as questions mid-work
91354
- - Need context? Fire explore/librarian via call_omo_agent IMMEDIATELY \u2014 continue only with non-overlapping work while they search
91354
+ - Need context? Fire explore/librarian via call_drizzy_agent IMMEDIATELY \u2014 continue only with non-overlapping work while they search
91355
91355
 
91356
91356
  ## Scope Discipline
91357
91357
 
@@ -91369,7 +91369,7 @@ When blocked: try a different approach \u2192 decompose the problem \u2192 chall
91369
91369
 
91370
91370
  <tool_usage_rules>
91371
91371
  - Parallelize independent tool calls: multiple file reads, grep searches, agent fires \u2014 all at once
91372
- - Explore/Librarian via call_omo_agent = background research. Fire them and continue only with non-overlapping work
91372
+ - Explore/Librarian via call_drizzy_agent = background research. Fire them and continue only with non-overlapping work
91373
91373
  - After any file edit: restate what changed, where, and what validation follows
91374
91374
  - Prefer tools over guessing whenever you need specific data (files, configs, patterns)
91375
91375
  - ALWAYS use tools over internal knowledge for file contents, project state, and verification
@@ -91489,7 +91489,7 @@ When blocked: try a different approach \u2192 decompose the problem \u2192 chall
91489
91489
  - Run verification (lint, tests, build) WITHOUT asking
91490
91490
  - Make decisions. Course-correct only on CONCRETE failure
91491
91491
  - Note assumptions in final message, not as questions mid-work
91492
- - Need context? Fire explore/librarian via call_omo_agent IMMEDIATELY \u2014 continue only with non-overlapping work while they search
91492
+ - Need context? Fire explore/librarian via call_drizzy_agent IMMEDIATELY \u2014 continue only with non-overlapping work while they search
91493
91493
 
91494
91494
  ## Scope Discipline
91495
91495
 
@@ -91508,7 +91508,7 @@ When blocked: try a different approach \u2192 decompose the problem \u2192 chall
91508
91508
 
91509
91509
  <tool_usage_rules>
91510
91510
  - Parallelize independent tool calls: multiple file reads, grep searches, agent fires \u2014 all at once
91511
- - Explore/Librarian via call_omo_agent = background research. Fire them and continue only with non-overlapping work
91511
+ - Explore/Librarian via call_drizzy_agent = background research. Fire them and continue only with non-overlapping work
91512
91512
  - After any file edit: restate what changed, where, and what validation follows
91513
91513
  - Prefer tools over guessing whenever you need specific data (files, configs, patterns)
91514
91514
  - ALWAYS use tools over internal knowledge for file contents, project state, and verification
@@ -91630,7 +91630,7 @@ When blocked: try a different approach \u2192 decompose the problem \u2192 chall
91630
91630
  - Run verification (lint, tests, build) WITHOUT asking
91631
91631
  - Make decisions. Course-correct only on CONCRETE failure
91632
91632
  - Note assumptions in final message, not as questions mid-work
91633
- - Need context? Fire explore/librarian via call_omo_agent IMMEDIATELY \u2014 continue only with non-overlapping work while they search
91633
+ - Need context? Fire explore/librarian via call_drizzy_agent IMMEDIATELY \u2014 continue only with non-overlapping work while they search
91634
91634
 
91635
91635
  ## Scope Discipline
91636
91636
 
@@ -91648,7 +91648,7 @@ When blocked: try a different approach \u2192 decompose the problem \u2192 chall
91648
91648
 
91649
91649
  <tool_usage_rules>
91650
91650
  - Parallelize independent tool calls: multiple file reads, grep searches, agent fires \u2014 all at once
91651
- - Explore/Librarian via call_omo_agent = background research. Fire them and continue only with non-overlapping work
91651
+ - Explore/Librarian via call_drizzy_agent = background research. Fire them and continue only with non-overlapping work
91652
91652
  - After any file edit: restate what changed, where, and what validation follows
91653
91653
  - Prefer tools over guessing whenever you need specific data (files, configs, patterns)
91654
91654
  - ALWAYS use tools over internal knowledge for file contents, project state, and verification
@@ -91784,7 +91784,7 @@ Before responding, ask yourself: What tools do I need to call? What am I assumin
91784
91784
  - Run verification (lint, tests, build) WITHOUT asking
91785
91785
  - Make decisions. Course-correct only on CONCRETE failure
91786
91786
  - Note assumptions in final message, not as questions mid-work
91787
- - Need context? Fire explore/librarian via call_omo_agent IMMEDIATELY \u2014 continue only with non-overlapping work while they search
91787
+ - Need context? Fire explore/librarian via call_drizzy_agent IMMEDIATELY \u2014 continue only with non-overlapping work while they search
91788
91788
 
91789
91789
  ## Scope Discipline
91790
91790
 
@@ -91803,7 +91803,7 @@ Before responding, ask yourself: What tools do I need to call? What am I assumin
91803
91803
 
91804
91804
  <tool_usage_rules>
91805
91805
  - Parallelize independent tool calls: multiple file reads, grep searches, agent fires \u2014 all at once
91806
- - Explore/Librarian via call_omo_agent = background research. Fire them and continue only with non-overlapping work
91806
+ - Explore/Librarian via call_drizzy_agent = background research. Fire them and continue only with non-overlapping work
91807
91807
  - After any file edit: restate what changed, where, and what validation follows
91808
91808
  - Prefer tools over guessing whenever you need specific data (files, configs, patterns)
91809
91809
  - ALWAYS use tools over internal knowledge for file contents, project state, and verification
@@ -91970,7 +91970,7 @@ function createCoderJuniorAgentWithOverrides(override, systemDefaultModel, useTa
91970
91970
  for (const tool3 of BLOCKED_TOOLS3) {
91971
91971
  merged[tool3] = "deny";
91972
91972
  }
91973
- merged.call_omo_agent = "allow";
91973
+ merged.call_drizzy_agent = "allow";
91974
91974
  const toolsConfig = { permission: { ...merged, ...basePermission } };
91975
91975
  const base = {
91976
91976
  description: override?.description ?? "Focused task executor. Same discipline, no delegation. (Coder-Junior - DrizzyAgent)",
@@ -92350,7 +92350,7 @@ function createResearcherAgent(model) {
92350
92350
  const restrictions = createAgentToolRestrictions([
92351
92351
  "apply_patch",
92352
92352
  "ast_grep_replace",
92353
- "call_omo_agent",
92353
+ "call_drizzy_agent",
92354
92354
  "interactive_bash",
92355
92355
  "Bash",
92356
92356
  "hashline_edit",
@@ -92508,7 +92508,7 @@ var createResearcherJuniorAgent = (model) => {
92508
92508
  const restrictions = createAgentToolRestrictions([
92509
92509
  "apply_patch",
92510
92510
  "ast_grep_replace",
92511
- "call_omo_agent",
92511
+ "call_drizzy_agent",
92512
92512
  "interactive_bash",
92513
92513
  "Bash",
92514
92514
  "hashline_edit",
@@ -92715,7 +92715,7 @@ function collectPendingBuiltinAgents(input) {
92715
92715
  continue;
92716
92716
  if (agentName === "gptcoder")
92717
92717
  continue;
92718
- if (agentName === "atlas")
92718
+ if (agentName === "orchestrator")
92719
92719
  continue;
92720
92720
  if (agentName === "coder-junior")
92721
92721
  continue;
@@ -92866,8 +92866,8 @@ function maybeCreateGptcoderConfig(input) {
92866
92866
  return gptcoderConfig;
92867
92867
  }
92868
92868
 
92869
- // src/agents/builtin-agents/atlas-agent.ts
92870
- function maybeCreateAtlasConfig(input) {
92869
+ // src/agents/builtin-agents/orchestrator-agent.ts
92870
+ function maybeCreateOrchestratorConfig(input) {
92871
92871
  const {
92872
92872
  disabledAgents,
92873
92873
  agentOverrides,
@@ -92880,30 +92880,30 @@ function maybeCreateAtlasConfig(input) {
92880
92880
  directory,
92881
92881
  userCategories
92882
92882
  } = input;
92883
- if (disabledAgents.includes("atlas"))
92883
+ if (disabledAgents.includes("orchestrator"))
92884
92884
  return;
92885
- const orchestratorOverride = getExplicitAgentOverride(agentOverrides, "atlas");
92886
- const effectiveOrchestratorOverride = getEffectiveAgentOverride(agentOverrides, "atlas");
92887
- const atlasRequirement = AGENT_MODEL_REQUIREMENTS["atlas"];
92888
- const atlasResolution = applyModelResolution({
92885
+ const orchestratorOverride = getExplicitAgentOverride(agentOverrides, "orchestrator");
92886
+ const effectiveOrchestratorOverride = getEffectiveAgentOverride(agentOverrides, "orchestrator");
92887
+ const orchestratorRequirement = AGENT_MODEL_REQUIREMENTS["orchestrator"];
92888
+ const orchestratorResolution = applyModelResolution({
92889
92889
  uiSelectedModel: effectiveOrchestratorOverride?.model ? undefined : uiSelectedModel,
92890
92890
  userModel: effectiveOrchestratorOverride?.model,
92891
- requirement: atlasRequirement,
92891
+ requirement: orchestratorRequirement,
92892
92892
  availableModels,
92893
92893
  systemDefaultModel
92894
92894
  });
92895
- if (!atlasResolution)
92895
+ if (!orchestratorResolution)
92896
92896
  return;
92897
- const { model: atlasModel, variant: atlasResolvedVariant } = atlasResolution;
92898
- let orchestratorConfig = createAtlasAgent({
92899
- model: atlasModel,
92897
+ const { model: orchestratorModel, variant: orchestratorResolvedVariant } = orchestratorResolution;
92898
+ let orchestratorConfig = createOrchestratorAgent({
92899
+ model: orchestratorModel,
92900
92900
  availableAgents,
92901
92901
  availableSkills,
92902
92902
  userCategories
92903
92903
  });
92904
- const atlasVariant = orchestratorOverride?.variant ?? effectiveOrchestratorOverride?.variant ?? atlasResolvedVariant;
92905
- if (atlasVariant) {
92906
- orchestratorConfig = { ...orchestratorConfig, variant: atlasVariant };
92904
+ const orchestratorVariant = orchestratorOverride?.variant ?? effectiveOrchestratorOverride?.variant ?? orchestratorResolvedVariant;
92905
+ if (orchestratorVariant) {
92906
+ orchestratorConfig = { ...orchestratorConfig, variant: orchestratorVariant };
92907
92907
  }
92908
92908
  orchestratorConfig = applyOverrides(orchestratorConfig, orchestratorOverride, mergedCategories, directory);
92909
92909
  return orchestratorConfig;
@@ -92965,7 +92965,7 @@ var agentSources = {
92965
92965
  "multimodal-looker": createMultimodalLookerAgent,
92966
92966
  "plan-consultant": createPlanConsultantAgent,
92967
92967
  "plan-reviewer": createPlanReviewerAgent,
92968
- atlas: createAtlasAgent,
92968
+ orchestrator: createOrchestratorAgent,
92969
92969
  "coder-junior": createCoderJuniorAgentWithOverrides,
92970
92970
  researcher: createResearcherAgent,
92971
92971
  "researcher-junior": createResearcherJuniorAgent
@@ -92977,7 +92977,7 @@ var agentMetadata = {
92977
92977
  "multimodal-looker": MULTIMODAL_LOOKER_PROMPT_METADATA,
92978
92978
  "plan-consultant": planConsultantPromptMetadata,
92979
92979
  "plan-reviewer": planReviewerPromptMetadata,
92980
- atlas: atlasPromptMetadata,
92980
+ orchestrator: orchestratorPromptMetadata,
92981
92981
  researcher: RESEARCHER_PROMPT_METADATA,
92982
92982
  "researcher-junior": RESEARCHER_JUNIOR_PROMPT_METADATA
92983
92983
  };
@@ -93068,7 +93068,7 @@ async function createBuiltinAgents(disabledAgents = [], agentOverrides = {}, dir
93068
93068
  for (const [name, config4] of pendingAgentConfigs) {
93069
93069
  result[name] = config4;
93070
93070
  }
93071
- const atlasConfig = maybeCreateAtlasConfig({
93071
+ const orchestratorConfig = maybeCreateOrchestratorConfig({
93072
93072
  disabledAgents,
93073
93073
  agentOverrides,
93074
93074
  uiSelectedModel,
@@ -93080,8 +93080,8 @@ async function createBuiltinAgents(disabledAgents = [], agentOverrides = {}, dir
93080
93080
  directory,
93081
93081
  userCategories: categories2
93082
93082
  });
93083
- if (atlasConfig) {
93084
- result["atlas"] = atlasConfig;
93083
+ if (orchestratorConfig) {
93084
+ result["orchestrator"] = orchestratorConfig;
93085
93085
  }
93086
93086
  return result;
93087
93087
  }
@@ -93163,7 +93163,7 @@ var CORE_AGENT_ORDER = [
93163
93163
  getAgentDisplayName("coder"),
93164
93164
  getAgentDisplayName("gptcoder"),
93165
93165
  getAgentDisplayName("planner"),
93166
- getAgentDisplayName("atlas")
93166
+ getAgentDisplayName("orchestrator")
93167
93167
  ];
93168
93168
  function reorderAgentsByPriority(agents) {
93169
93169
  const ordered = {};
@@ -96049,12 +96049,12 @@ function applyToolConfig(params) {
96049
96049
  if (looker) {
96050
96050
  looker.permission = { ...looker.permission, task: "deny", look_at: "deny" };
96051
96051
  }
96052
- const atlas = agentByKey(params.agentResult, "atlas");
96053
- if (atlas) {
96054
- atlas.permission = {
96055
- ...atlas.permission,
96052
+ const orchestrator = agentByKey(params.agentResult, "orchestrator");
96053
+ if (orchestrator) {
96054
+ orchestrator.permission = {
96055
+ ...orchestrator.permission,
96056
96056
  task: "allow",
96057
- call_omo_agent: "deny",
96057
+ call_drizzy_agent: "deny",
96058
96058
  "task_*": "allow",
96059
96059
  teammate: "allow",
96060
96060
  ...denyTodoTools
@@ -96064,7 +96064,7 @@ function applyToolConfig(params) {
96064
96064
  if (coder2) {
96065
96065
  coder2.permission = {
96066
96066
  ...coder2.permission,
96067
- call_omo_agent: "deny",
96067
+ call_drizzy_agent: "deny",
96068
96068
  task: "allow",
96069
96069
  question: questionPermission,
96070
96070
  "task_*": "allow",
@@ -96076,7 +96076,7 @@ function applyToolConfig(params) {
96076
96076
  if (gptcoder) {
96077
96077
  gptcoder.permission = {
96078
96078
  ...gptcoder.permission,
96079
- call_omo_agent: "deny",
96079
+ call_drizzy_agent: "deny",
96080
96080
  task: "allow",
96081
96081
  question: questionPermission,
96082
96082
  ...denyTodoTools
@@ -96086,7 +96086,7 @@ function applyToolConfig(params) {
96086
96086
  if (planner) {
96087
96087
  planner.permission = {
96088
96088
  ...planner.permission,
96089
- call_omo_agent: "deny",
96089
+ call_drizzy_agent: "deny",
96090
96090
  task: "allow",
96091
96091
  question: questionPermission,
96092
96092
  "task_*": "allow",
@@ -96315,7 +96315,7 @@ function normalizeToolArgSchemas(toolDefinition) {
96315
96315
  function createToolRegistry(args) {
96316
96316
  const { ctx, pluginConfig, managers, skillContext, availableCategories } = args;
96317
96317
  const backgroundTools = createBackgroundTools(managers.backgroundManager, ctx.client);
96318
- const callOmoAgent = createCallOmoAgent(ctx, managers.backgroundManager, pluginConfig.disabled_agents ?? [], pluginConfig.agents, pluginConfig.categories);
96318
+ const callDrizzyAgent = createCallDrizzyAgent(ctx, managers.backgroundManager, pluginConfig.disabled_agents ?? [], pluginConfig.agents, pluginConfig.categories);
96319
96319
  const isMultimodalLookerEnabled = !(pluginConfig.disabled_agents ?? []).some((agent) => agent.toLowerCase() === "multimodal-looker");
96320
96320
  const lookAt = isMultimodalLookerEnabled ? createLookAt(ctx) : null;
96321
96321
  const delegateTask = createDelegateTask({
@@ -96382,7 +96382,7 @@ function createToolRegistry(args) {
96382
96382
  ...createAstGrepTools(ctx),
96383
96383
  ...createSessionManagerTools(ctx),
96384
96384
  ...backgroundTools,
96385
- call_omo_agent: callOmoAgent,
96385
+ call_drizzy_agent: callDrizzyAgent,
96386
96386
  ...lookAt ? { look_at: lookAt } : {},
96387
96387
  task: delegateTask,
96388
96388
  skill_mcp: skillMcpTool,
@@ -97123,7 +97123,7 @@ function createEventHandler2(args) {
97123
97123
  await Promise.resolve(hooks2.compactionContextInjector?.event?.(input));
97124
97124
  await Promise.resolve(hooks2.compactionTodoPreserver?.event?.(input));
97125
97125
  await Promise.resolve(hooks2.writeExistingFileGuard?.event?.(input));
97126
- await Promise.resolve(hooks2.atlasHook?.handler?.(input));
97126
+ await Promise.resolve(hooks2.orchestratorHook?.handler?.(input));
97127
97127
  await Promise.resolve(hooks2.autoSlashCommand?.event?.(input));
97128
97128
  };
97129
97129
  const recentSyntheticIdles = new Map;
@@ -97425,7 +97425,7 @@ function createToolExecuteAfterHandler3(args) {
97425
97425
  await hooks2.interactiveBashSession?.["tool.execute.after"]?.(input, output);
97426
97426
  await hooks2.editErrorRecovery?.["tool.execute.after"]?.(input, output);
97427
97427
  await hooks2.delegateTaskRetry?.["tool.execute.after"]?.(input, output);
97428
- await hooks2.atlasHook?.["tool.execute.after"]?.(input, output);
97428
+ await hooks2.orchestratorHook?.["tool.execute.after"]?.(input, output);
97429
97429
  await hooks2.taskResumeInfo?.["tool.execute.after"]?.(input, output);
97430
97430
  await hooks2.readImageResizer?.["tool.execute.after"]?.(input, output);
97431
97431
  await hooks2.hashlineReadEnhancer?.["tool.execute.after"]?.(input, output);
@@ -97493,7 +97493,7 @@ function createToolExecuteBeforeHandler3(args) {
97493
97493
  await hooks2.tasksTodowriteDisabler?.["tool.execute.before"]?.(input, output);
97494
97494
  await hooks2.plannerMdOnly?.["tool.execute.before"]?.(input, output);
97495
97495
  await hooks2.coderJuniorNotepad?.["tool.execute.before"]?.(input, output);
97496
- await hooks2.atlasHook?.["tool.execute.before"]?.(input, output);
97496
+ await hooks2.orchestratorHook?.["tool.execute.before"]?.(input, output);
97497
97497
  const normalizedToolName = input.tool.toLowerCase();
97498
97498
  if (normalizedToolName === "question" || normalizedToolName === "ask_user_question" || normalizedToolName === "askuserquestion") {
97499
97499
  const sessionID = input.sessionID || getMainSessionID();