@rallycry/conveyor-agent 10.13.63 → 10.13.64

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.
@@ -2270,7 +2270,10 @@ var CreateSubtaskRequestSchema = z4.object({
2270
2270
  followParentStatus: z4.boolean().optional(),
2271
2271
  /** Sibling subtask ids or slugs this subtask blocks on (explicit dependency
2272
2272
  * metadata — preferred over encoding order in plan text / ordinal). */
2273
- dependsOn: z4.array(z4.string().min(1)).max(32).optional()
2273
+ dependsOn: z4.array(z4.string().min(1)).max(32).optional(),
2274
+ /** Glossary tag names to assign to the child. Unmatched names come back in
2275
+ * the response rather than failing the create. */
2276
+ tags: z4.array(z4.string().min(1)).max(10).optional()
2274
2277
  });
2275
2278
  var UpdateSubtaskRequestSchema = z4.object({
2276
2279
  sessionId: z4.string(),
@@ -3317,11 +3320,11 @@ function anthropicEntry(model, label, inputPerMillion, outputPerMillion, experim
3317
3320
  };
3318
3321
  }
3319
3322
  var ANTHROPIC_CATALOG = [
3320
- anthropicEntry(DEFAULT_OPUS_MODEL, "Opus 5 Latest", 15, 75),
3321
- anthropicEntry(PREVIOUS_OPUS_MODEL, "Opus 4.8", 15, 75),
3323
+ anthropicEntry(DEFAULT_OPUS_MODEL, "Opus 5 Latest", 5, 25),
3324
+ anthropicEntry(PREVIOUS_OPUS_MODEL, "Opus 4.8", 5, 25),
3322
3325
  anthropicEntry(DEFAULT_SONNET_MODEL, "Sonnet 5 Latest", 3, 15),
3323
3326
  anthropicEntry(PREVIOUS_SONNET_MODEL, "Sonnet 4.6", 3, 15),
3324
- anthropicEntry(DEFAULT_HAIKU_MODEL, "Haiku 4.5", 0.8, 4),
3327
+ anthropicEntry(DEFAULT_HAIKU_MODEL, "Haiku 4.5", 1, 5),
3325
3328
  anthropicEntry(FABLE_MODEL, "Fable 5 (experimental)", 10, 50, true)
3326
3329
  ];
3327
3330
  var HUMAN_PROSE_WRITING_STYLE = `## Writing style for humans
@@ -10497,10 +10500,11 @@ var MCP_STATUS_ENUM = [
10497
10500
  "Complete",
10498
10501
  "Cancelled"
10499
10502
  ];
10503
+ var AGENT_TAGS = `Glossary tag names to label the child with, e.g. ["agent", "pack"]. Names, not ids, matched case-insensitively against this project's tags (use list_tags to see them). A name that matches nothing comes back in the result and never fails the create.`;
10500
10504
  var createSubtaskContract = defineToolContract({
10501
10505
  name: "create_subtask",
10502
10506
  agent: {
10503
- description: "Create a subtask under the current parent task. Use when breaking a complex parent into smaller pieces during planning. For post-task follow-ups use create_follow_up_task.",
10507
+ description: "Create a subtask (a child card) under the CURRENT card. This is how a card becomes a pack: the first child turns this card into the pack parent, and the children build as one unit. Use when breaking the current card into smaller pieces during planning. For a sibling card that lands after this one merges, use create_follow_up_task.",
10504
10508
  fields: {
10505
10509
  title: f.string({ desc: "Subtask title" }),
10506
10510
  description: f.optional(f.string({ desc: cardDescriptionDesc("Brief description") })),
@@ -10508,7 +10512,8 @@ var createSubtaskContract = defineToolContract({
10508
10512
  ordinal: f.optional(f.number({ desc: "Step/order number (0-based)" })),
10509
10513
  storyPointValue: f.optional(f.number({ desc: SP_DESCRIPTION })),
10510
10514
  followParentStatus: f.optional(f.boolean({ desc: AGENT_FOLLOW_PARENT_STATUS })),
10511
- dependsOn: f.optional(f.array(f.string(), { desc: AGENT_DEPENDS_ON }))
10515
+ dependsOn: f.optional(f.array(f.string(), { desc: AGENT_DEPENDS_ON })),
10516
+ tags: f.optional(f.array(f.string(), { desc: AGENT_TAGS }))
10512
10517
  }
10513
10518
  },
10514
10519
  mcp: {
@@ -11264,7 +11269,7 @@ function buildRemoveDependencyTool(connection) {
11264
11269
  function buildCreateFollowUpTaskTool(connection) {
11265
11270
  return defineTool(
11266
11271
  "create_follow_up_task",
11267
- "Create a follow-up task that depends on the current task. Use for out-of-scope work or cleanup that should land after this task merges. For blockers use add_dependency.",
11272
+ "Create a follow-up task that depends on the current task. The new card is a SIBLING of this one (same parent) and is blocked until this task merges \u2014 it is NOT a child of this card. To break this card into child cards that build as a pack, use create_subtask. For blockers use add_dependency.",
11268
11273
  {
11269
11274
  title: z13.string().describe("Follow-up task title"),
11270
11275
  description: z13.string().optional().describe(cardDescriptionDesc("Brief description of the follow-up work")),
@@ -11751,7 +11756,8 @@ function buildCreateSubtaskTool(connection) {
11751
11756
  ordinal,
11752
11757
  storyPointValue,
11753
11758
  followParentStatus,
11754
- dependsOn
11759
+ dependsOn,
11760
+ tags
11755
11761
  }) => {
11756
11762
  try {
11757
11763
  const result = await connection.call("createSubtask", {
@@ -11762,9 +11768,14 @@ function buildCreateSubtaskTool(connection) {
11762
11768
  ...storyPointValue !== void 0 && { storyPointValue },
11763
11769
  ...ordinal !== void 0 && { ordinal },
11764
11770
  ...followParentStatus !== void 0 && { followParentStatus },
11765
- ...dependsOn !== void 0 && { dependsOn }
11771
+ ...dependsOn !== void 0 && { dependsOn },
11772
+ ...tags !== void 0 && { tags }
11766
11773
  });
11767
- return textResult(`Subtask created with ID: ${result.id} (slug: ${result.slug})`);
11774
+ const unmatched = result.unmatchedTags ?? [];
11775
+ const tagNote = unmatched.length > 0 ? ` These tag names matched no project tag and were skipped: ${unmatched.join(", ")}. Use list_tags to see the glossary.` : "";
11776
+ return textResult(
11777
+ `Subtask created with ID: ${result.id} (slug: ${result.slug})${tagNote}`
11778
+ );
11768
11779
  } catch (error) {
11769
11780
  return textResult(
11770
11781
  `Failed to create subtask: ${error instanceof Error ? error.message : "Unknown error"}`
@@ -12745,7 +12756,7 @@ function buildCodeReviewTools(connection) {
12745
12756
  // src/tools/index.ts
12746
12757
  function getTaskModeTools(agentMode, connection) {
12747
12758
  if (agentMode === "discovery" || agentMode === "auto" || agentMode === "building" || agentMode === "chat") {
12748
- return [buildUpdateTaskTool(connection)];
12759
+ return buildPmTools(connection, { includePackTools: false });
12749
12760
  }
12750
12761
  return [];
12751
12762
  }
@@ -12791,11 +12802,9 @@ var ALWAYS_LOADED_TOOLS = /* @__PURE__ */ new Set([
12791
12802
  "publish_review_guide",
12792
12803
  // Review mode
12793
12804
  "approve_code_review",
12794
- "request_code_changes",
12795
- // Pack/parent orchestration — a 12h fleet audit (2026-07-14) found a pack
12796
- // runner re-ToolSearching this exact set on EVERY wake (~28 redundant round
12797
- // trips in one session). The whole orchestration loop (list → promote/assign
12798
- // → fire → merge/stop) is called by virtually every pack session.
12805
+ "request_code_changes"
12806
+ ]);
12807
+ var ORCHESTRATION_PROMOTED_TOOLS = /* @__PURE__ */ new Set([
12799
12808
  "list_subtasks",
12800
12809
  "update_subtask",
12801
12810
  "start_child_cloud_build",
@@ -12817,7 +12826,7 @@ function glossaryToolsFor(connection, config, context) {
12817
12826
  function driveToolsFor(connection, context) {
12818
12827
  return context?.projectId && context.googleDriveConnected ? buildDriveTools(connection, context.projectId) : [];
12819
12828
  }
12820
- function promotedToolsFor(effectiveMode, isPack) {
12829
+ function promotedToolsFor(effectiveMode, isPack, isProjectAgent) {
12821
12830
  const names = /* @__PURE__ */ new Set();
12822
12831
  if (effectiveMode === "building" || effectiveMode === "auto") {
12823
12832
  for (const name of BUILDING_PROMOTED_TOOLS) names.add(name);
@@ -12828,6 +12837,9 @@ function promotedToolsFor(effectiveMode, isPack) {
12828
12837
  if (isPack) {
12829
12838
  for (const name of PACK_PROMOTED_TOOLS) names.add(name);
12830
12839
  }
12840
+ if (isPack || isProjectAgent) {
12841
+ for (const name of ORCHESTRATION_PROMOTED_TOOLS) names.add(name);
12842
+ }
12831
12843
  return names;
12832
12844
  }
12833
12845
  function withAlwaysLoad(tools, promoted) {
@@ -12859,7 +12871,7 @@ function buildConveyorTools(connection, config, context, agentMode) {
12859
12871
  ...driveTools,
12860
12872
  ...emergencyTools
12861
12873
  ],
12862
- promotedToolsFor(effectiveMode, isPack)
12874
+ promotedToolsFor(effectiveMode, isPack, config.mode === "pm")
12863
12875
  );
12864
12876
  }
12865
12877
  function createConveyorMcpServer(harness, connection, config, context, agentMode) {
@@ -16757,4 +16769,4 @@ export {
16757
16769
  loadConveyorConfig,
16758
16770
  unshallowRepo
16759
16771
  };
16760
- //# sourceMappingURL=chunk-ELGNA6SP.js.map
16772
+ //# sourceMappingURL=chunk-YSALHJTS.js.map