@rallycry/conveyor-agent 6.0.4 → 6.0.5

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.
@@ -1633,7 +1633,7 @@ function buildPackRunnerSystemPrompt(context, config, setupLog) {
1633
1633
  ``,
1634
1634
  `4. After firing a child build: report which task you fired to chat, then explicitly state you are going idle. The system will relaunch you when the child completes or changes status.`,
1635
1635
  ``,
1636
- `5. When ALL children are in "ReviewDev" or "Complete" (no "Open", "InProgress", or "ReviewPR" remaining): do a final review, summarize results in chat, and mark this parent task complete with update_task_status("Complete").`,
1636
+ `5. When ALL children are in "ReviewDev" or "Complete" (no "Open", "InProgress", or "ReviewPR" remaining): do a final review, summarize results in chat, and mark this parent task complete with force_update_task_status("Complete").`,
1637
1637
  ``,
1638
1638
  `## Important Rules`,
1639
1639
  `- Process children ONE at a time, in ordinal order.`,
@@ -2610,10 +2610,10 @@ function buildPostToChatTool(connection) {
2610
2610
  }
2611
2611
  );
2612
2612
  }
2613
- function buildUpdateTaskStatusTool(connection) {
2613
+ function buildForceUpdateTaskStatusTool(connection) {
2614
2614
  return tool(
2615
- "update_task_status",
2616
- "Update a task's status on the Kanban board. Omit task_id to update the current task, or provide a child task ID to update a child's status.",
2615
+ "force_update_task_status",
2616
+ "EMERGENCY ONLY: Force-override a task's Kanban status. Status transitions happen automatically (building sets InProgress, PR creation sets ReviewPR, merge sets ReviewDev). Only use this if an automatic transition failed or a task is stuck in the wrong status. Omit task_id to update the current task, or provide a child task ID.",
2617
2617
  {
2618
2618
  status: z.enum(["InProgress", "ReviewPR", "ReviewDev", "Complete"]).describe("The new status for the task"),
2619
2619
  task_id: z.string().optional().describe("Child task ID to update. Omit to update the current task.")
@@ -2822,7 +2822,6 @@ function buildCommonTools(connection, config) {
2822
2822
  return [
2823
2823
  buildReadTaskChatTool(connection),
2824
2824
  buildPostToChatTool(connection),
2825
- buildUpdateTaskStatusTool(connection),
2826
2825
  buildGetTaskPlanTool(connection, config),
2827
2826
  buildGetTaskTool(connection),
2828
2827
  buildGetTaskCliTool(connection),
@@ -4370,9 +4369,10 @@ function createConveyorMcpServer(connection, config, context, agentMode, debugMa
4370
4369
  const modeTools = getModeTools(effectiveMode, connection, config, context);
4371
4370
  const discoveryTools = effectiveMode === "discovery" || effectiveMode === "auto" ? buildDiscoveryTools(connection, context) : [];
4372
4371
  const debugTools = debugManager && effectiveMode === "building" ? buildDebugTools(debugManager) : [];
4372
+ const emergencyTools = [buildForceUpdateTaskStatusTool(connection)];
4373
4373
  return createSdkMcpServer({
4374
4374
  name: "conveyor",
4375
- tools: [...commonTools, ...modeTools, ...discoveryTools, ...debugTools]
4375
+ tools: [...commonTools, ...modeTools, ...discoveryTools, ...debugTools, ...emergencyTools]
4376
4376
  });
4377
4377
  }
4378
4378
 
@@ -4578,24 +4578,6 @@ function buildHooks(host) {
4578
4578
  ]
4579
4579
  };
4580
4580
  }
4581
- function buildSandboxConfig(host) {
4582
- const apiHostname = new URL(host.config.conveyorApiUrl).hostname;
4583
- return {
4584
- enabled: true,
4585
- autoAllowBashIfSandboxed: true,
4586
- allowUnsandboxedCommands: false,
4587
- filesystem: {
4588
- allowWrite: [`${host.config.workspaceDir}/**`],
4589
- denyRead: ["/etc/shadow", "/etc/passwd", "**/.env", "**/.env.*"],
4590
- denyWrite: ["**/.env", "**/.env.*", "**/node_modules/**"]
4591
- },
4592
- network: {
4593
- allowedDomains: [apiHostname, "api.anthropic.com"],
4594
- allowManagedDomainsOnly: true,
4595
- allowLocalBinding: true
4596
- }
4597
- };
4598
- }
4599
4581
  function isReadOnlyMode(mode, hasExitedPlanMode) {
4600
4582
  return mode === "discovery" || mode === "help" || mode === "auto" && !hasExitedPlanMode;
4601
4583
  }
@@ -4608,7 +4590,6 @@ function buildDisallowedTools(settings, mode, hasExitedPlanMode) {
4608
4590
  function buildQueryOptions(host, context) {
4609
4591
  const settings = context.agentSettings ?? host.config.agentSettings ?? {};
4610
4592
  const mode = host.agentMode;
4611
- const isCloud = host.config.mode === "pm";
4612
4593
  const isReadOnly = isReadOnlyMode(mode, host.hasExitedPlanMode);
4613
4594
  const needsCanUseTool = isReadOnly;
4614
4595
  const systemPromptText = buildSystemPrompt(
@@ -4645,9 +4626,6 @@ function buildQueryOptions(host, context) {
4645
4626
  logger3.warn("Claude Code stderr", { data: data.trimEnd() });
4646
4627
  }
4647
4628
  };
4648
- if (isCloud && isReadOnly) {
4649
- baseOptions.sandbox = buildSandboxConfig(host);
4650
- }
4651
4629
  return baseOptions;
4652
4630
  }
4653
4631
  function buildMultimodalPrompt(textPrompt, context, skipImages = false) {
@@ -7330,4 +7308,4 @@ export {
7330
7308
  ProjectRunner,
7331
7309
  FileCache
7332
7310
  };
7333
- //# sourceMappingURL=chunk-NKZSUGND.js.map
7311
+ //# sourceMappingURL=chunk-PLSKXQTB.js.map