@rallycry/conveyor-agent 10.5.0 → 10.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-MSDYMAG3.js → chunk-5FRDOFI4.js} +82 -78
- package/dist/chunk-5FRDOFI4.js.map +1 -0
- package/dist/cli.js +1 -1
- package/dist/index.d.ts +16 -23
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-MSDYMAG3.js.map +0 -1
|
@@ -2705,12 +2705,6 @@ var TASK_CHAT_HISTORY_LIMIT = 20;
|
|
|
2705
2705
|
var PM_CHAT_HISTORY_LIMIT = 40;
|
|
2706
2706
|
var AGENT_CHAT_HISTORY_FETCH_LIMIT = Math.max(TASK_CHAT_HISTORY_LIMIT, PM_CHAT_HISTORY_LIMIT) + 10;
|
|
2707
2707
|
var PRE_BUILD_TASK_STATUSES = /* @__PURE__ */ new Set(["Planning", "Open"]);
|
|
2708
|
-
function hasTaskPlan(plan) {
|
|
2709
|
-
return !!plan?.trim();
|
|
2710
|
-
}
|
|
2711
|
-
function taskNeedsPlanning(task) {
|
|
2712
|
-
return !hasTaskPlan(task.plan) && PRE_BUILD_TASK_STATUSES.has(task.status) && !task.githubPRUrl;
|
|
2713
|
-
}
|
|
2714
2708
|
|
|
2715
2709
|
// src/runner/mode-controller.ts
|
|
2716
2710
|
var ModeController = class {
|
|
@@ -2797,28 +2791,19 @@ var ModeController = class {
|
|
|
2797
2791
|
return this._mode;
|
|
2798
2792
|
}
|
|
2799
2793
|
/**
|
|
2800
|
-
*
|
|
2801
|
-
*
|
|
2802
|
-
*
|
|
2803
|
-
*
|
|
2804
|
-
*
|
|
2805
|
-
*
|
|
2806
|
-
*
|
|
2807
|
-
* - a plan already on the card (e.g. a Planning card planned by a human/PM),
|
|
2808
|
-
* - a build already underway (status past `Planning`/`Open` — releases booted
|
|
2809
|
-
* `InProgress`, pod restarts mid-build where DB `agentMode` stays `"auto"`),
|
|
2810
|
-
* - a PR already open (safety net if status lags).
|
|
2811
|
-
*
|
|
2812
|
-
* Runtime Build-after-Discovery never reaches this gate as `auto` — the server's
|
|
2813
|
-
* `resolveModeToSend` rewrites it to `"building"` for any task with a plan.
|
|
2794
|
+
* Auto mode always bypasses the plan turn: resolveInitialMode calls
|
|
2795
|
+
* transitionToBuilding() at boot, so the agent runs with
|
|
2796
|
+
* `--dangerously-skip-permissions` from turn 1 and documents its plan into
|
|
2797
|
+
* the card (via update_task_plan) as the approach firms up — non-blocking,
|
|
2798
|
+
* never a gate. Use discovery mode for a plan turn that stops for human
|
|
2799
|
+
* approval. Non-auto modes never bypass.
|
|
2814
2800
|
*/
|
|
2815
|
-
canBypassPlanning(
|
|
2816
|
-
|
|
2817
|
-
return !taskNeedsPlanning(context);
|
|
2801
|
+
canBypassPlanning(_context) {
|
|
2802
|
+
return this._mode === "auto";
|
|
2818
2803
|
}
|
|
2819
2804
|
// ── Mode transitions ───────────────────────────────────────────────
|
|
2820
2805
|
/** Handle mode change from server */
|
|
2821
|
-
handleModeChange(newMode,
|
|
2806
|
+
handleModeChange(newMode, _context) {
|
|
2822
2807
|
if (newMode === this._mode) return { type: "noop" };
|
|
2823
2808
|
if (this._runnerMode === "task" && newMode === "review") {
|
|
2824
2809
|
this._mode = newMode;
|
|
@@ -2833,7 +2818,7 @@ var ModeController = class {
|
|
|
2833
2818
|
if (this._runnerMode === "task" && newMode === "auto") {
|
|
2834
2819
|
this._mode = newMode;
|
|
2835
2820
|
this._isAuto = true;
|
|
2836
|
-
this._hasExitedPlanMode =
|
|
2821
|
+
this._hasExitedPlanMode = true;
|
|
2837
2822
|
return { type: "restart_query", newMode: "auto" };
|
|
2838
2823
|
}
|
|
2839
2824
|
if (this._mode === "auto" && this._hasExitedPlanMode && newMode === "building") {
|
|
@@ -5230,6 +5215,7 @@ function buildPackRunnerSystemPrompt(context, config, setupLog) {
|
|
|
5230
5215
|
``,
|
|
5231
5216
|
`1. Call list_subtasks to see the current state of all child tasks.`,
|
|
5232
5217
|
` The response includes PR info, agent assignment, and **dependency info** (dependencies array + allDependenciesMet flag).`,
|
|
5218
|
+
` If list_subtasks returns NO children, this is a fresh parent card: break the work down now \u2014 explore the codebase, save a parent-level plan with update_task_plan, then create child tasks with create_subtask, each with a detailed plan (file:line citations, verification steps) and dependsOn set for any child that blocks on another. Then fire the ready children and continue the loop.`,
|
|
5233
5219
|
``,
|
|
5234
5220
|
`2. Evaluate children by status and dependency readiness:`,
|
|
5235
5221
|
` - "ReviewPR": Review and merge its PR with approve_and_merge_pr. (Highest priority)`,
|
|
@@ -5292,6 +5278,7 @@ function buildPackRunnerInstructions(context, scenario) {
|
|
|
5292
5278
|
parts.push(
|
|
5293
5279
|
`You are the Pack Runner for this task and its subtasks.`,
|
|
5294
5280
|
`Begin your autonomous loop immediately: call list_subtasks to assess the current state.`,
|
|
5281
|
+
`If there are no children yet, create them first \u2014 save a parent-level plan with update_task_plan, then create child tasks with detailed plans and dependsOn set where one blocks on another. Then fire the ready ones.`,
|
|
5295
5282
|
`If any child is in "ReviewPR" status, review and merge its PR first.`,
|
|
5296
5283
|
`Then fire the next "Open" child task.`
|
|
5297
5284
|
);
|
|
@@ -5726,15 +5713,15 @@ function buildPmAutoWithPlanRelaunchParts() {
|
|
|
5726
5713
|
return [
|
|
5727
5714
|
`
|
|
5728
5715
|
You are in auto mode. A plan already exists for this task.`,
|
|
5729
|
-
`
|
|
5716
|
+
`Begin implementing it now \u2014 refine story points, title, and tags via update_task_properties if they look like placeholders.`,
|
|
5730
5717
|
`Do NOT wait for team input \u2014 proceed autonomously.`
|
|
5731
5718
|
];
|
|
5732
5719
|
}
|
|
5733
5720
|
function buildPmAutoPlanningRelaunchParts() {
|
|
5734
5721
|
return [
|
|
5735
5722
|
`
|
|
5736
|
-
You are in auto mode. Continue
|
|
5737
|
-
`
|
|
5723
|
+
You are in auto mode. Continue building autonomously.`,
|
|
5724
|
+
`Save a concise plan with update_task_plan as your approach firms up \u2014 never pause or wait for approval.`,
|
|
5738
5725
|
`Do NOT wait for team input \u2014 proceed autonomously.`
|
|
5739
5726
|
];
|
|
5740
5727
|
}
|
|
@@ -5810,6 +5797,20 @@ function buildPropertyInstructions(context, runnerMode) {
|
|
|
5810
5797
|
}
|
|
5811
5798
|
return parts;
|
|
5812
5799
|
}
|
|
5800
|
+
function buildPlanDocumentationSection(context) {
|
|
5801
|
+
const hasPlan = !!context?.plan?.trim();
|
|
5802
|
+
return [
|
|
5803
|
+
``,
|
|
5804
|
+
`### Plan & Properties (non-blocking \u2014 do NOT pause the build for these)`,
|
|
5805
|
+
`- The card is already In Progress and advances automatically (In Progress \u2192 Review PR when you open the PR). There is no plan-approval step.`,
|
|
5806
|
+
...hasPlan ? [
|
|
5807
|
+
`- A plan is already saved on the card. Keep it current with update_task_plan if your approach diverges materially from it.`
|
|
5808
|
+
] : [
|
|
5809
|
+
`- No plan is saved yet: once your approach settles, save a concise implementation plan with update_task_plan (file:line citations). Fill it in as you go \u2014 never wait on it before writing code.`
|
|
5810
|
+
],
|
|
5811
|
+
`- Identification auto-fills title, story points, and icon with quick AI guesses. After exploring, refine the title and story points with update_task_properties if they look like placeholders. Icons are automatic \u2014 never set them.`
|
|
5812
|
+
];
|
|
5813
|
+
}
|
|
5813
5814
|
function buildExplorationMethodology() {
|
|
5814
5815
|
return [
|
|
5815
5816
|
``,
|
|
@@ -5909,23 +5910,10 @@ function buildAutoPrompt(context, runnerMode) {
|
|
|
5909
5910
|
const parts = [
|
|
5910
5911
|
`
|
|
5911
5912
|
## Mode: Auto`,
|
|
5912
|
-
`You are in Auto mode \u2014 operating autonomously through
|
|
5913
|
-
|
|
5914
|
-
|
|
5915
|
-
|
|
5916
|
-
`- You have MCP tools for task properties: update_task_plan, update_task_properties`,
|
|
5917
|
-
``,
|
|
5918
|
-
`### Required before transitioning:`,
|
|
5919
|
-
`Before calling ExitPlanMode, you MUST fill in ALL of these:`,
|
|
5920
|
-
`1. **Plan** \u2014 Save a clear implementation plan using update_task_plan`,
|
|
5921
|
-
`2. **Story Points** \u2014 Assign via update_task_properties`,
|
|
5922
|
-
`3. **Title** \u2014 Set an accurate title via update_task_properties (if the current one is vague or "Untitled")`,
|
|
5923
|
-
``,
|
|
5924
|
-
`### Transitioning to Building:`,
|
|
5925
|
-
`When your plan is complete and all required properties are set, call the **ExitPlanMode** tool.`,
|
|
5926
|
-
`- If any required properties are missing, ExitPlanMode will be denied with details on what's missing`,
|
|
5927
|
-
`- Once ExitPlanMode succeeds, you will seamlessly transition to full build access within the same session`,
|
|
5928
|
-
`- Continue directly with implementation \u2014 no restart or waiting is needed`,
|
|
5913
|
+
`You are in Auto mode \u2014 operating autonomously through building \u2192 PR.`,
|
|
5914
|
+
`- You have full coding access (read, write, edit, bash, git) from the start \u2014 there is no read-only planning phase`,
|
|
5915
|
+
`- Safety rules: no destructive operations, use --force-with-lease instead of --force`,
|
|
5916
|
+
...buildPlanDocumentationSection(context),
|
|
5929
5917
|
``,
|
|
5930
5918
|
`### Subtask Plan Requirements`,
|
|
5931
5919
|
`When creating subtasks, each MUST include a detailed \`plan\` field:`,
|
|
@@ -5941,8 +5929,8 @@ function buildAutoPrompt(context, runnerMode) {
|
|
|
5941
5929
|
...context?.isParentTask ? [
|
|
5942
5930
|
``,
|
|
5943
5931
|
`### Parent Task Guidance`,
|
|
5944
|
-
`You are a parent task
|
|
5945
|
-
`
|
|
5932
|
+
`You are a parent task \u2014 coordinate child tasks instead of implementing directly.`,
|
|
5933
|
+
`If no children exist yet, break the work down now: save a parent-level plan with update_task_plan, then create child tasks with create_subtask (each with a detailed plan).`,
|
|
5946
5934
|
`Child task status lifecycle: Open \u2192 InProgress \u2192 ReviewPR \u2192 ReviewDev \u2192 Complete.`,
|
|
5947
5935
|
`Set child ordering with \`dependsOn\` (sibling ids/slugs) on \`create_subtask\` \u2014 explicit metadata the pack runner schedules off, not order described in plan text. Independent children get none and run in parallel.`
|
|
5948
5936
|
] : [],
|
|
@@ -5980,7 +5968,8 @@ function buildModePrompt(agentMode, context, runnerMode) {
|
|
|
5980
5968
|
`2. \`bun run test:affected\` \u2014 runs only the tests your diff can affect (docs-only diffs run nothing; apps/api diffs run unit tests only since CI covers the int shards; shared/db diffs escalate to the full suite automatically)`,
|
|
5981
5969
|
`Docs/markdown/.claude-only changes need NO local gates \u2014 open the PR and let CI validate.`,
|
|
5982
5970
|
`If a gate fails, fix it before opening the PR. Do NOT open PRs with known failing gates. Never run the full \`bun run test\` for a diff confined to one package.`,
|
|
5983
|
-
`For refactors: also run \`git diff ${context?.baseBranch ?? "dev"}..HEAD\` and confirm the public API surface (exports, function signatures) has no unintended breaking changes
|
|
5971
|
+
`For refactors: also run \`git diff ${context?.baseBranch ?? "dev"}..HEAD\` and confirm the public API surface (exports, function signatures) has no unintended breaking changes.`,
|
|
5972
|
+
...context?.isAuto || !context?.plan?.trim() ? buildPlanDocumentationSection(context) : []
|
|
5984
5973
|
]
|
|
5985
5974
|
];
|
|
5986
5975
|
return parts.join("\n");
|
|
@@ -6377,16 +6366,15 @@ CRITICAL: You are in Auto mode. Do NOT report status, ask for confirmation, or g
|
|
|
6377
6366
|
if (context.plan?.trim()) {
|
|
6378
6367
|
return [
|
|
6379
6368
|
`You are operating autonomously. A plan already exists for this task.`,
|
|
6380
|
-
`
|
|
6381
|
-
`
|
|
6369
|
+
`Begin implementing it now \u2014 do NOT re-plan or wait for team input.`,
|
|
6370
|
+
`Refine story points, title, and tags via update_task_properties if they look like placeholders.`
|
|
6382
6371
|
];
|
|
6383
6372
|
}
|
|
6384
6373
|
return [
|
|
6385
|
-
`You are operating autonomously.
|
|
6374
|
+
`You are operating autonomously. No plan is saved on this card yet \u2014 start building now.`,
|
|
6386
6375
|
`1. Search the codebase (grep/glob) to locate relevant files, then read the critical ones`,
|
|
6387
|
-
`2.
|
|
6388
|
-
`3.
|
|
6389
|
-
`4. When the plan and all required properties are set, call ExitPlanMode to transition to building`,
|
|
6376
|
+
`2. Implement the work; as your approach firms up, save a concise plan with update_task_plan \u2014 never pause or wait for approval`,
|
|
6377
|
+
`3. Refine story points, tags, and title (update_task_properties) if they look like placeholders`,
|
|
6390
6378
|
`Do NOT wait for team input \u2014 proceed autonomously.`
|
|
6391
6379
|
];
|
|
6392
6380
|
}
|
|
@@ -6407,14 +6395,23 @@ CRITICAL: You are in Auto mode. Do NOT report status, ask for confirmation, or g
|
|
|
6407
6395
|
`When you finish planning, save the plan with update_task_plan, post a summary of the plan for the team with post_to_chat (your turn output is NOT shown in chat), then end your turn. A separate task agent will execute the plan after review.`
|
|
6408
6396
|
];
|
|
6409
6397
|
}
|
|
6410
|
-
|
|
6398
|
+
return buildFreshLeafInstructions(context, isAutoMode);
|
|
6399
|
+
}
|
|
6400
|
+
function buildFreshLeafInstructions(context, isAutoMode) {
|
|
6401
|
+
const parts = context.plan?.trim() ? [
|
|
6411
6402
|
`Begin executing the task plan above immediately.`,
|
|
6412
|
-
`Your FIRST action should be reading the relevant source files mentioned in the plan, then writing code. Do NOT run install, build, lint, test, or dev server commands first \u2014 the environment is already set up
|
|
6403
|
+
`Your FIRST action should be reading the relevant source files mentioned in the plan, then writing code. Do NOT run install, build, lint, test, or dev server commands first \u2014 the environment is already set up.`
|
|
6404
|
+
] : [
|
|
6405
|
+
`No plan is saved on this card yet. Investigate the task briefly (search first, read only critical files), then implement.`,
|
|
6406
|
+
`As your approach firms up, save a concise implementation plan with update_task_plan (file:line citations) \u2014 do NOT pause or wait for approval; the card is already In Progress and advances automatically.`,
|
|
6407
|
+
`Do NOT run install, build, lint, test, or dev server commands first \u2014 the environment is already set up.`
|
|
6408
|
+
];
|
|
6409
|
+
parts.push(
|
|
6413
6410
|
`Work on the git branch "${context.githubBranch}". Stay on this branch for the entire task. Do not checkout or create other branches.`,
|
|
6414
6411
|
`Use post_to_chat to keep the team informed (your turn output is NOT shown in chat \u2014 post_to_chat is the only way they see it): briefly post what you're doing when you begin meaningful implementation, and again when the PR is ready.`,
|
|
6415
6412
|
`Before opening the PR, verify with \`bun run check\` (lint + typecheck) and \`bun run test:affected\` (tests scoped to your diff \u2014 docs-only changes need no local gates). Fix any failures. Do NOT open a PR with known failing gates. CI runs the full suite on the PR \u2014 never run the full \`bun run test\` for a diff confined to one package.`,
|
|
6416
6413
|
`When finished, use the mcp__conveyor__create_pull_request tool to open a PR. Do NOT use gh CLI or any other method to create PRs.`
|
|
6417
|
-
|
|
6414
|
+
);
|
|
6418
6415
|
if (isAutoMode) {
|
|
6419
6416
|
parts.push(
|
|
6420
6417
|
`
|
|
@@ -6463,8 +6460,7 @@ Your plan has been approved. Address the feedback above, then begin implementing
|
|
|
6463
6460
|
} else if (isAuto) {
|
|
6464
6461
|
parts2.push(
|
|
6465
6462
|
`
|
|
6466
|
-
You are in auto mode. Address the feedback above \u2014 update the plan
|
|
6467
|
-
`When the plan and all required properties are set, call ExitPlanMode to transition to building.`,
|
|
6463
|
+
You are in auto mode. Address the feedback above and continue building \u2014 update the saved plan with update_task_plan if the feedback changes your approach.`,
|
|
6468
6464
|
`Do NOT wait for additional team input \u2014 the messages above ARE the team's input. Proceed autonomously.`
|
|
6469
6465
|
);
|
|
6470
6466
|
} else {
|
|
@@ -6503,13 +6499,13 @@ function buildIdleRelaunchInstructions(context, isPm, agentMode, isAuto) {
|
|
|
6503
6499
|
if (context.plan?.trim()) {
|
|
6504
6500
|
return [
|
|
6505
6501
|
`You were relaunched in auto mode. A plan already exists for this task.`,
|
|
6506
|
-
`
|
|
6502
|
+
`Begin implementing it now \u2014 refine story points, title, and tags via update_task_properties if they look like placeholders.`,
|
|
6507
6503
|
`Do NOT wait for instructions or go idle \u2014 you are in auto mode.`
|
|
6508
6504
|
];
|
|
6509
6505
|
}
|
|
6510
6506
|
return [
|
|
6511
|
-
`You were relaunched in auto mode. Continue
|
|
6512
|
-
`
|
|
6507
|
+
`You were relaunched in auto mode. Continue building autonomously.`,
|
|
6508
|
+
`Save a concise plan with update_task_plan as your approach firms up \u2014 never pause or wait for approval.`,
|
|
6513
6509
|
`Do NOT wait for instructions or go idle \u2014 you are in auto mode.`
|
|
6514
6510
|
];
|
|
6515
6511
|
}
|
|
@@ -6549,7 +6545,13 @@ function buildInstructions(mode, context, scenario, agentMode, isAuto) {
|
|
|
6549
6545
|
const isCodeReview = mode === "code-review" || !isPm && agentMode === "review";
|
|
6550
6546
|
if (scenario === "fresh") {
|
|
6551
6547
|
parts.push(
|
|
6552
|
-
...buildFreshInstructions(
|
|
6548
|
+
...buildFreshInstructions(
|
|
6549
|
+
isPm,
|
|
6550
|
+
isCodeReview,
|
|
6551
|
+
agentMode === "auto" || !!isAuto,
|
|
6552
|
+
context,
|
|
6553
|
+
agentMode
|
|
6554
|
+
)
|
|
6553
6555
|
);
|
|
6554
6556
|
return parts;
|
|
6555
6557
|
}
|
|
@@ -7423,7 +7425,7 @@ var DEPENDS_ON_DESCRIPTION = "Sibling subtask ids or slugs this subtask blocks o
|
|
|
7423
7425
|
function buildUpdateTaskTool(connection) {
|
|
7424
7426
|
return defineTool(
|
|
7425
7427
|
"update_task_plan",
|
|
7426
|
-
"Save the
|
|
7428
|
+
"Save the plan and/or description to the current task. In auto/building mode, save the plan as your approach firms up \u2014 non-blocking, never pause the build for it. For children use update_subtask; for title/tags/PR use update_task_properties.",
|
|
7427
7429
|
{
|
|
7428
7430
|
plan: z9.string().optional().describe("The task plan in markdown"),
|
|
7429
7431
|
description: z9.string().optional().describe("Updated task description")
|
|
@@ -7778,7 +7780,7 @@ ${issueLines}`;
|
|
|
7778
7780
|
|
|
7779
7781
|
// src/tools/index.ts
|
|
7780
7782
|
function getTaskModeTools(agentMode, connection) {
|
|
7781
|
-
if (agentMode === "discovery" || agentMode === "auto") {
|
|
7783
|
+
if (agentMode === "discovery" || agentMode === "auto" || agentMode === "building") {
|
|
7782
7784
|
return [buildUpdateTaskTool(connection)];
|
|
7783
7785
|
}
|
|
7784
7786
|
return [];
|
|
@@ -7806,7 +7808,7 @@ function buildConveyorTools(connection, config, context, agentMode) {
|
|
|
7806
7808
|
const effectiveMode = agentMode ?? context?.agentMode ?? void 0;
|
|
7807
7809
|
const commonTools = buildCommonTools(connection, config);
|
|
7808
7810
|
const modeTools = getModeTools(effectiveMode, connection, config, context);
|
|
7809
|
-
const discoveryTools = effectiveMode === "discovery" || effectiveMode === "auto" ? buildDiscoveryTools(connection) : [];
|
|
7811
|
+
const discoveryTools = effectiveMode === "discovery" || effectiveMode === "auto" || effectiveMode === "building" ? buildDiscoveryTools(connection) : [];
|
|
7810
7812
|
const codeReviewTools = effectiveMode === "review" ? buildCodeReviewTools(connection) : [];
|
|
7811
7813
|
const emergencyTools = [buildForceUpdateTaskStatusTool(connection)];
|
|
7812
7814
|
return [...commonTools, ...modeTools, ...discoveryTools, ...codeReviewTools, ...emergencyTools];
|
|
@@ -8756,9 +8758,10 @@ function buildQueryOptions(host, context) {
|
|
|
8756
8758
|
// the same text via `--append-system-prompt`. PTY-only: the SDK harness
|
|
8757
8759
|
// already receives it through systemPrompt.append.
|
|
8758
8760
|
...host.harnessKind === "pty" && systemPromptText ? { appendSystemPrompt: systemPromptText } : {},
|
|
8759
|
-
// Auto mode pre-exit
|
|
8760
|
-
//
|
|
8761
|
-
//
|
|
8761
|
+
// Auto mode pre-exit (residual sessions only — auto now boots post-exit):
|
|
8762
|
+
// after the ExitPlanMode hook allows the call, the CLI's plan dialog still
|
|
8763
|
+
// renders — press Enter so the autonomous agent continues building in the
|
|
8764
|
+
// same session (Conveyor validated in the hook).
|
|
8762
8765
|
planDialogAutoAccept: mode === "auto" && !host.hasExitedPlanMode,
|
|
8763
8766
|
tools: { type: "preset", preset: "claude_code" },
|
|
8764
8767
|
mcpServers: {
|
|
@@ -10629,9 +10632,9 @@ var SessionRunner = class _SessionRunner {
|
|
|
10629
10632
|
/** The build-phase nudge (In Progress, no PR). Offers BOTH escape routes so
|
|
10630
10633
|
* the agent never just goes idle. */
|
|
10631
10634
|
static STUCK_PROMPT = "You are in Auto mode, your task is still In Progress, and there is no open pull request. Do ONE of these right now: (1) open a pull request with the create_pull_request tool, OR (2) call post_to_chat to explain exactly where you are stuck and what you need from a human. Do not finish or go idle silently.";
|
|
10632
|
-
/** The
|
|
10633
|
-
* Same two-escape-route shape, aimed at
|
|
10634
|
-
static STUCK_PROMPT_PLANNING = "You are in Auto mode and still in
|
|
10635
|
+
/** The pre-build nudge (still Planning/Open, identification/plan unfinished).
|
|
10636
|
+
* Same two-escape-route shape, aimed at landing the plan + continuing to build. */
|
|
10637
|
+
static STUCK_PROMPT_PLANNING = "You are in Auto mode and the card is still in a pre-build status \u2014 identification and/or the plan are not finished. Do ONE of these right now: (1) set the story points, save the plan with the update_task_plan tool, and continue implementing, OR (2) call post_to_chat to explain exactly where you are stuck and what you need from a human. Do not finish or go idle silently.";
|
|
10635
10638
|
/**
|
|
10636
10639
|
* Classify how an auto task is "stuck" after its turn ended (call sites run
|
|
10637
10640
|
* post-turn, so the TUI is no longer working), or null if it isn't. Shared
|
|
@@ -10641,11 +10644,12 @@ var SessionRunner = class _SessionRunner {
|
|
|
10641
10644
|
*
|
|
10642
10645
|
* - "pr": In Progress with no open PR (build finished without shipping).
|
|
10643
10646
|
* - "planning": still in a pre-build status (Planning/Open) without
|
|
10644
|
-
* (identified + saved plan)
|
|
10645
|
-
*
|
|
10646
|
-
*
|
|
10647
|
-
*
|
|
10648
|
-
* is never
|
|
10647
|
+
* (identified + saved plan) — e.g. the server-side InProgress bump failed
|
|
10648
|
+
* and the agent idled before documenting its plan. An agent that idles
|
|
10649
|
+
* here would otherwise clean-exit → its session Ends → the workspace is
|
|
10650
|
+
* reaped "agent_gone" before a plan ever landed. Nudging (and, on
|
|
10651
|
+
* exhaustion, going dormant) keeps the session Active so the pod is never
|
|
10652
|
+
* prematurely slept.
|
|
10649
10653
|
*/
|
|
10650
10654
|
autoStuckKind() {
|
|
10651
10655
|
if (!this.mode.isAuto || this.stopped) return null;
|
|
@@ -11145,4 +11149,4 @@ export {
|
|
|
11145
11149
|
runStartCommand,
|
|
11146
11150
|
unshallowRepo
|
|
11147
11151
|
};
|
|
11148
|
-
//# sourceMappingURL=chunk-
|
|
11152
|
+
//# sourceMappingURL=chunk-5FRDOFI4.js.map
|