@rudderhq/cli 0.3.6-canary.1 → 0.3.6-canary.3

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/index.js CHANGED
@@ -784,7 +784,7 @@ var init_adapter_skills = __esm({
784
784
 
785
785
  // ../packages/shared/dist/validators/chat.js
786
786
  import { z as z4 } from "zod";
787
- var chatConversationStatusSchema, chatIssueCreationModeSchema, chatMessageRoleSchema, chatMessageKindSchema, chatMessageStatusSchema, chatContextEntityTypeSchema, createChatContextLinkSchema, createChatConversationSchema, setChatProjectContextSchema, updateChatConversationSchema, addChatMessageSchema, chatRichReferenceDisplaySchema, chatIssueIdentifierSchema, chatAskUserIdentifierSchema, chatAskUserOptionSchema, chatAskUserQuestionSchema, chatAskUserRequestSchema, chatIssueRichReferenceSchema, chatIssueCommentRichReferenceSchema, chatRichReferenceSchema, chatRichReferencesSchema, chatAutomationCreateSchema, createChatAttachmentMetadataSchema, chatIssueProposalSchema, convertChatToIssueSchema, chatOperationProposalSchema, resolveChatOperationProposalSchema, updateChatConversationUserStateSchema, updateMessengerThreadUserStateSchema, createMessengerCustomGroupSchema, updateMessengerCustomGroupSchema, reorderMessengerCustomGroupsSchema, assignMessengerCustomGroupEntrySchema, reorderMessengerCustomGroupEntriesSchema;
787
+ var chatConversationStatusSchema, chatIssueCreationModeSchema, chatMessageRoleSchema, chatMessageKindSchema, chatMessageStatusSchema, chatContextEntityTypeSchema, createChatContextLinkSchema, createChatConversationSchema, setChatProjectContextSchema, updateChatConversationSchema, addChatMessageSchema, chatRichReferenceDisplaySchema, chatIssueIdentifierSchema, chatAskUserIdentifierSchema, chatAskUserOptionSchema, chatAskUserQuestionSchema, chatAskUserRequestSchema, chatIssueRichReferenceSchema, chatIssueCommentRichReferenceSchema, chatRichReferenceSchema, chatRichReferencesSchema, chatAutomationCreateSchema, createChatAttachmentMetadataSchema, chatIssueProposalSchema, convertChatToIssueSchema, chatOperationProposalSchema, resolveChatOperationProposalSchema, updateChatConversationUserStateSchema, updateMessengerThreadUserStateSchema, createMessengerCustomGroupSchema, createMessengerCustomGroupWithEntriesSchema, updateMessengerCustomGroupSchema, reorderMessengerCustomGroupsSchema, assignMessengerCustomGroupEntrySchema, reorderMessengerCustomGroupEntriesSchema;
788
788
  var init_chat = __esm({
789
789
  "../packages/shared/dist/validators/chat.js"() {
790
790
  "use strict";
@@ -971,6 +971,9 @@ var init_chat = __esm({
971
971
  name: z4.string().trim().min(1).max(80),
972
972
  icon: z4.string().trim().min(1).max(24).optional().nullable()
973
973
  });
974
+ createMessengerCustomGroupWithEntriesSchema = createMessengerCustomGroupSchema.extend({
975
+ threadKeys: z4.array(z4.string().trim().min(1).max(240)).min(1).max(50)
976
+ });
974
977
  updateMessengerCustomGroupSchema = z4.object({
975
978
  name: z4.string().trim().min(1).max(80).optional(),
976
979
  icon: z4.string().trim().min(1).max(24).optional().nullable(),
@@ -7283,6 +7286,7 @@ var RUDDER_AGENT_OPERATING_CONTRACT = [
7283
7286
  "",
7284
7287
  "- Issues: use `[](issue://<issue-id>)`; include `?c=<comment-id>` when linking to a specific comment.",
7285
7288
  "- Agents: use `[](agent://<agent-id>)` for reference-only links. In issue comments, use `[](agent://<agent-id>?intent=wake)` only when you intentionally want to wake that agent for attention or collaboration.",
7289
+ "- Automations: use `[](automation://<automation-id>)` when citing a Rudder automation.",
7286
7290
  "- Projects: use `[](project://<project-id>)` when citing a Rudder project.",
7287
7291
  "- Chat threads: use `[](chat://<conversation-id>)` when citing a Rudder chat conversation.",
7288
7292
  "- Skills: use `[](skill://<skill-ref>)` when citing a Rudder skill reference. The skill ref may be an org skill, agent skill, bundled Rudder skill, or local-machine skill ref; the UI resolves the display label when metadata is available.",
@@ -7315,19 +7319,25 @@ var RUDDER_AGENT_OPERATING_CONTRACT = [
7315
7319
  var RUDDER_AGENT_HEARTBEAT_INSTRUCTION = [
7316
7320
  "# Rudder Heartbeat Instruction",
7317
7321
  "",
7318
- "This section is injected by Rudder for heartbeat scene runs. It is the platform-owned timed-wakeup pipeline, not an agent-local `HEARTBEAT.md` file.",
7322
+ "This section is injected by Rudder for heartbeat scene runs. It is the platform-owned timed-wakeup pipeline.",
7319
7323
  "",
7320
7324
  "## Heartbeat Pipeline",
7321
7325
  "",
7322
7326
  "1. Identify yourself and inspect wake context, including `RUDDER_TASK_ID`, `RUDDER_WAKE_REASON`, `RUDDER_WAKE_COMMENT_ID`, and `RUDDER_APPROVAL_ID` when present.",
7323
- "2. Handle approval follow-up first: read the approval and linked issues, then close resolved work or comment on what remains.",
7324
- "3. Inspect your Rudder inbox. Prioritize reviewer rows in `in_review` or `blocked`, then assignee `in_progress`, then assignee `todo`. Do not look for unassigned work.",
7325
- "4. For mention wakes, read the wake comment before acting. Mentions request attention; they do not transfer ownership unless the comment explicitly says so. If the issue is not assigned to you, including user-owned or unassigned issues, and the comment does not explicitly ask you to implement, modify files, close the issue, or take ownership, respond to the comment itself instead of executing the whole issue.",
7326
- "5. Checkout before doing assignee task work. A `409` means another agent owns the task; do not retry it.",
7327
- "6. Load compact issue context, do one bounded useful chunk, and preserve evidence.",
7328
- "7. Before exiting active work, leave exactly one durable signal: progress, done, blocked, explicit handoff, or structured review decision.",
7329
- "8. Treat passive follow-up as close-out governance, not a fresh assignment.",
7330
- "9. Treat review close-out follow-up as review governance; free-form accept/reject text is not a durable decision.",
7327
+ "2. Local Planning Check:",
7328
+ " ",
7329
+ " 1. Read today's plan from `$AGENT_HOME/memory/YYYY-MM-DD.md` under \"## Today's Plan\". You need to clearly know your work plan for today, and work according to the plan.",
7330
+ " 2. Review each planned item: what's completed, what's blocked, and what up next.",
7331
+ " 3. Record progress updates in the daily notes.",
7332
+ " ",
7333
+ "3.Then handle approval follow-up: read the approval and linked issues, then close resolved work or comment on what remains.",
7334
+ "4. Inspect your Rudder inbox. Prioritize reviewer rows in `in_review` or `blocked`, then assignee `in_progress`, then assignee `todo`. Do not look for unassigned work.",
7335
+ "5. For mention wakes, read the wake comment before acting. Mentions request attention; they do not transfer ownership unless the comment explicitly says so. If the issue is not assigned to you, including user-owned or unassigned issues, and the comment does not explicitly ask you to implement, modify files, close the issue, or take ownership, respond to the comment itself instead of executing the whole issue.",
7336
+ "6. Checkout before doing assignee task work. A `409` means another agent owns the task; do not retry it.",
7337
+ "7. Load compact issue context, do one bounded useful chunk, and preserve evidence.",
7338
+ "8. Before exiting active work, leave exactly one durable signal: progress, done, blocked, explicit handoff, or structured review decision.",
7339
+ "9. Treat passive follow-up as close-out governance, not a fresh assignment.",
7340
+ "10. Treat review close-out follow-up as review governance; free-form accept/reject text is not a durable decision.",
7331
7341
  "",
7332
7342
  "Use the Rudder control-plane interface available in this runtime. CLI-capable runtimes should use the bundled `rudder` skill for command details, Library handoff rules, organization-skill workflow, and control-plane best practices. HTTP compatibility runtimes should follow the explicit HTTP workflow in their wake text; that workflow overrides CLI command guidance."
7333
7343
  ].join("\n");
@@ -8423,7 +8433,7 @@ function formatAgentCliCapabilitiesHumanReadable(capabilities = getAgentCliCapab
8423
8433
  function formatExamplesAndCautions(notes) {
8424
8434
  const sections = [];
8425
8435
  if (notes.examples?.length) {
8426
- sections.push(["Examples:", ...notes.examples.map((example) => ` ${example}`)].join("\n"));
8436
+ sections.push(["Examples:", ...notes.examples.map(formatHelpExample)].join("\n"));
8427
8437
  }
8428
8438
  if (notes.cautions?.length) {
8429
8439
  sections.push(["Cautions:", ...notes.cautions.map((caution) => ` - ${caution}`)].join("\n"));
@@ -8431,6 +8441,13 @@ function formatExamplesAndCautions(notes) {
8431
8441
  return sections.length > 0 ? `
8432
8442
  ${sections.join("\n\n")}` : "";
8433
8443
  }
8444
+ function formatHelpExample(example) {
8445
+ if (typeof example === "string") {
8446
+ return ` ${example}`;
8447
+ }
8448
+ return ` ${example.description}
8449
+ ${example.command}`;
8450
+ }
8434
8451
 
8435
8452
  // src/commands/client/agent.ts
8436
8453
  var __moduleDir = path10.dirname(fileURLToPath3(import.meta.url));
@@ -8750,8 +8767,14 @@ function registerAgentCommands(program) {
8750
8767
  addCommonClientOptions(
8751
8768
  skills.command("enable").description(getAgentCliCapabilityById("agent.skills.enable").description).argument("<agentId>", "Agent ID").argument("<selectionRefs...>", "Skill selection refs to enable").addHelpText("after", formatExamplesAndCautions({
8752
8769
  examples: [
8753
- "rudder agent skills enable <agent-id> rudder/rudder local/abc123/custom-skill",
8754
- "rudder agent skills enable <agent-id> <selection-ref> --json"
8770
+ {
8771
+ description: "Add skills while preserving the agent's existing enabled set:",
8772
+ command: "rudder agent skills enable <agent-id> rudder/rudder local/abc123/custom-skill"
8773
+ },
8774
+ {
8775
+ description: "Enable one newly created private skill and inspect the resulting snapshot:",
8776
+ command: "rudder agent skills enable <agent-id> <selection-ref> --json"
8777
+ }
8755
8778
  ],
8756
8779
  cautions: [
8757
8780
  "This is additive and preserves existing enabled optional skills.",
@@ -8775,8 +8798,14 @@ function registerAgentCommands(program) {
8775
8798
  "Comma-separated desired skill refs (for example rudder/rudder)"
8776
8799
  ).addHelpText("after", formatExamplesAndCautions({
8777
8800
  examples: [
8778
- 'rudder agent skills sync <agent-id> --desired-skills "rudder/rudder,local/abc123/custom-skill"',
8779
- 'rudder agent skills sync <agent-id> --desired-skills "" --json'
8801
+ {
8802
+ description: "Replace the optional enabled set with an explicitly preserved CSV:",
8803
+ command: 'rudder agent skills sync <agent-id> --desired-skills "rudder/rudder,local/abc123/custom-skill"'
8804
+ },
8805
+ {
8806
+ description: "Clear optional skills only when that is the intended final state:",
8807
+ command: 'rudder agent skills sync <agent-id> --desired-skills "" --json'
8808
+ }
8780
8809
  ],
8781
8810
  cautions: [
8782
8811
  "Sync replaces the full optional enabled-skill set; use enable for additive changes.",
@@ -9073,8 +9102,14 @@ function registerApprovalCommands(program) {
9073
9102
  addCommonClientOptions(
9074
9103
  approval.command("approve").description("Approve an approval request").argument("<approvalId>", "Approval ID").option("--decision-note <text>", "Decision note").option("--decided-by-user-id <id>", "Decision actor user ID").addHelpText("after", formatExamplesAndCautions({
9075
9104
  examples: [
9076
- "rudder approval get <approval-id> --json",
9077
- 'rudder approval approve <approval-id> --decision-note "Approved after reviewing linked issues" --json'
9105
+ {
9106
+ description: "Read the approval payload before deciding:",
9107
+ command: "rudder approval get <approval-id> --json"
9108
+ },
9109
+ {
9110
+ description: "Record the durable approval decision with concise context:",
9111
+ command: 'rudder approval approve <approval-id> --decision-note "Approved after reviewing linked issues" --json'
9112
+ }
9078
9113
  ],
9079
9114
  cautions: [
9080
9115
  "Read the approval and linked issues before approving; this is a governed mutation.",
@@ -9141,8 +9176,14 @@ function registerApprovalCommands(program) {
9141
9176
  addCommonClientOptions(
9142
9177
  approval.command("comment").description(getAgentCliCapabilityById("approval.comment").description).argument("<approvalId>", "Approval ID").option("--body-file <path>", "Read comment body from a file, or '-' for stdin").addHelpText("after", formatExamplesAndCautions({
9143
9178
  examples: [
9144
- "rudder approval comment <approval-id> --body-file ./approval-note.md --json",
9145
- "printf '%s\\n' 'Need one more linked issue checked.' | rudder approval comment <approval-id> --body-file -"
9179
+ {
9180
+ description: "Add a longer Markdown discussion note without deciding:",
9181
+ command: "rudder approval comment <approval-id> --body-file ./approval-note.md --json"
9182
+ },
9183
+ {
9184
+ description: "Ask a short follow-up from stdin:",
9185
+ command: "printf '%s\\n' 'Need one more linked issue checked.' | rudder approval comment <approval-id> --body-file -"
9186
+ }
9146
9187
  ],
9147
9188
  cautions: [
9148
9189
  "Comments do not approve or reject; use approve/reject/request-revision for the durable decision.",
@@ -9442,8 +9483,14 @@ function registerAutomationCommands(program) {
9442
9483
  addCommonClientOptions(
9443
9484
  automation.command("run").description(getAgentCliCapabilityById("automation.run").description).argument("<automationId>", "Automation ID").option("--trigger-id <id>", "Trigger ID").option("--payload <json>", "Manual run payload JSON").option("--idempotency-key <key>", "Idempotency key").option("--source <source>", "Run source", "manual").addHelpText("after", formatExamplesAndCautions({
9444
9485
  examples: [
9445
- `rudder automation run <automation-id> --payload '{"manual":true}' --json`,
9446
- "rudder automation run <automation-id> --trigger-id <trigger-id> --idempotency-key zst-123-smoke"
9486
+ {
9487
+ description: "Run a verified automation manually with an explicit payload:",
9488
+ command: `rudder automation run <automation-id> --payload '{"manual":true}' --json`
9489
+ },
9490
+ {
9491
+ description: "Retry a trigger-specific smoke run with duplicate protection:",
9492
+ command: "rudder automation run <automation-id> --trigger-id <trigger-id> --idempotency-key zst-123-smoke"
9493
+ }
9447
9494
  ],
9448
9495
  cautions: [
9449
9496
  "Confirm the automation and trigger target before running; manual runs can create tracked issues or chats.",
@@ -9641,8 +9688,14 @@ function registerChatCommands(program) {
9641
9688
  addCommonClientOptions(
9642
9689
  chat.command("read").description(getAgentCliCapabilityById("chat.read").description).argument("<chatId>", "Chat conversation ID").option("--include-transcript", "Include assistant transcript entries").option("--include-output", "Alias for --include-transcript").option("--include-outputs", "Alias for --include-transcript").option("--limit <n>", "Maximum recent messages", "20").option("--turn-limit <n>", "Alias for --limit for chat turn snapshots").option("--cursor <cursor>", "Stable message cursor returned in page.nextCursor").option("--max-output-chars <n>", "Maximum transcript output chars for human output", "1200").addHelpText("after", formatExamplesAndCautions({
9643
9690
  examples: [
9644
- "rudder chat read <chat-id> --turn-limit 20 --include-output",
9645
- "rudder chat read <chat-id> --cursor <nextCursor> --json"
9691
+ {
9692
+ description: "Read a bounded conversation page with transcript output when needed:",
9693
+ command: "rudder chat read <chat-id> --turn-limit 20 --include-output"
9694
+ },
9695
+ {
9696
+ description: "Continue from a stable cursor in scripts:",
9697
+ command: "rudder chat read <chat-id> --cursor <nextCursor> --json"
9698
+ }
9646
9699
  ],
9647
9700
  cautions: [
9648
9701
  "Read bounded pages first; long chats can include large transcript payloads.",
@@ -9698,8 +9751,14 @@ function registerChatCommands(program) {
9698
9751
  addCommonClientOptions(
9699
9752
  chat.command("send").description(getAgentCliCapabilityById("chat.send").description).argument("<chatId>", "Chat conversation ID").option("--body <text>", "Message body").option("--edit-user-message-id <id>", "Regenerate/edit from a prior user message").addHelpText("after", formatExamplesAndCautions({
9700
9753
  examples: [
9701
- 'rudder chat send <chat-id> --body "Status: validation is running"',
9702
- "printf '%s\\n' 'Multiline note' | rudder chat send <chat-id>"
9754
+ {
9755
+ description: "Append a short agent-authored status note:",
9756
+ command: 'rudder chat send <chat-id> --body "Status: validation is running"'
9757
+ },
9758
+ {
9759
+ description: "Send a longer or multiline note through stdin:",
9760
+ command: "printf '%s\\n' 'Multiline note' | rudder chat send <chat-id>"
9761
+ }
9703
9762
  ],
9704
9763
  cautions: [
9705
9764
  "chat send accepts --body or stdin; it does not support --body-file.",
@@ -11301,8 +11360,14 @@ function registerIssueCommands(program) {
11301
11360
  addCommonClientOptions(
11302
11361
  issue.command("comment").description(getAgentCliCapabilityById("issue.comment").description).argument("<issueId>", "Issue ID").option("--body-file <path>", "Read comment body from a file, or '-' for stdin").option("--image <path>", "Image file to upload and append to the comment; may be repeated", collectImagePath, []).option("--reopen", "Reopen if issue is done/cancelled").addHelpText("after", formatExamplesAndCautions({
11303
11362
  examples: [
11304
- "rudder issue comment ZST-123 --body-file ./progress.md --image ./screenshot.png --json",
11305
- "printf '%s\\n' 'Short status' | rudder issue comment ZST-123 --body-file -"
11363
+ {
11364
+ description: "Progress update with attached screenshot evidence:",
11365
+ command: "rudder issue comment ZST-123 --body-file ./progress.md --image ./screenshot.png --json"
11366
+ },
11367
+ {
11368
+ description: "Short stdin status when a separate file is unnecessary:",
11369
+ command: "printf '%s\\n' 'Short status' | rudder issue comment ZST-123 --body-file -"
11370
+ }
11306
11371
  ],
11307
11372
  cautions: [
11308
11373
  "Use --body-file for multiline Markdown; the old --body option is intentionally rejected.",
@@ -11338,8 +11403,14 @@ function registerIssueCommands(program) {
11338
11403
  "Review decision: approve, request_changes, needs_followup, or blocked"
11339
11404
  ).option("--comment-file <path>", "Read required review comment from a file, or '-' for stdin").addHelpText("after", formatExamplesAndCautions({
11340
11405
  examples: [
11341
- "rudder issue review ZST-123 --decision request_changes --comment-file ./review.md --json",
11342
- "rudder issue review ZST-123 --decision approve --comment-file ./review.md"
11406
+ {
11407
+ description: "Return implementation work with durable review feedback:",
11408
+ command: "rudder issue review ZST-123 --decision request_changes --comment-file ./review.md --json"
11409
+ },
11410
+ {
11411
+ description: "Approve after reading the issue evidence and validation:",
11412
+ command: "rudder issue review ZST-123 --decision approve --comment-file ./review.md"
11413
+ }
11343
11414
  ],
11344
11415
  cautions: [
11345
11416
  "Free-form comments are not durable review decisions; use this command for approve/request_changes/etc.",
@@ -11387,8 +11458,14 @@ function registerIssueCommands(program) {
11387
11458
  addCommonClientOptions(
11388
11459
  issue.command("done").description(getAgentCliCapabilityById("issue.done").description).argument("<issueId>", "Issue ID").option("--comment-file <path>", "Read required completion comment from a file, or '-' for stdin").option("--image <path>", "Image file to upload and append to the completion comment; may be repeated", collectImagePath, []).addHelpText("after", formatExamplesAndCautions({
11389
11460
  examples: [
11390
- "rudder issue done ZST-123 --comment-file ./done.md --image ./screenshot.png --json",
11391
- "rudder issue done ZST-123 --comment-file - < ./done.md"
11461
+ {
11462
+ description: "Close out with validation summary and visual evidence:",
11463
+ command: "rudder issue done ZST-123 --comment-file ./done.md --image ./screenshot.png --json"
11464
+ },
11465
+ {
11466
+ description: "Read the completion note from stdin in scripts:",
11467
+ command: "rudder issue done ZST-123 --comment-file - < ./done.md"
11468
+ }
11392
11469
  ],
11393
11470
  cautions: [
11394
11471
  "Include validation evidence and commit/push status in the completion comment.",
@@ -11775,8 +11852,14 @@ function registerLibraryCommands(program) {
11775
11852
  addCommonClientOptions(
11776
11853
  file.command("ref").description(getAgentCliCapabilityById("library.file.ref").description).argument("<filePath>", "Library file path").addHelpText("after", formatExamplesAndCautions({
11777
11854
  examples: [
11778
- "rudder library file ref projects/rudder/proposals/plan.md --json",
11779
- 'rudder library file ref "$RUDDER_PROJECT_LIBRARY_PATH/proposals/plan.md" --json'
11855
+ {
11856
+ description: "Return the renderable Markdown link for a known Library file:",
11857
+ command: "rudder library file ref projects/rudder/proposals/plan.md --json"
11858
+ },
11859
+ {
11860
+ description: "Reference a file under the current project Library path:",
11861
+ command: 'rudder library file ref "$RUDDER_PROJECT_LIBRARY_PATH/proposals/plan.md" --json'
11862
+ }
11780
11863
  ],
11781
11864
  cautions: [
11782
11865
  "Pass the Library-relative path, not an absolute filesystem path.",
@@ -11794,8 +11877,14 @@ function registerLibraryCommands(program) {
11794
11877
  addCommonClientOptions(
11795
11878
  file.command("put").description(getAgentCliCapabilityById("library.file.put").description).argument("<filePath>", "Library file path").option("--body-file <path>", "Read file content from a file, or '-' for stdin").addHelpText("after", formatExamplesAndCautions({
11796
11879
  examples: [
11797
- "rudder library file put projects/rudder/proposals/plan.md --body-file ./plan.md --json",
11798
- "printf '%s\\n' '# Plan' | rudder library file put projects/rudder/proposals/plan.md --body-file -"
11880
+ {
11881
+ description: "Upload a durable Markdown artifact from a local file:",
11882
+ command: "rudder library file put projects/rudder/proposals/plan.md --body-file ./plan.md --json"
11883
+ },
11884
+ {
11885
+ description: "Write a small generated artifact from stdin:",
11886
+ command: "printf '%s\\n' '# Plan' | rudder library file put projects/rudder/proposals/plan.md --body-file -"
11887
+ }
11799
11888
  ],
11800
11889
  cautions: [
11801
11890
  "Use --body-file for content; the old --body option is intentionally rejected.",
@@ -12090,8 +12179,14 @@ function registerProjectCommands(program) {
12090
12179
  addCommonClientOptions(
12091
12180
  project.command("create").description(getAgentCliCapabilityById("project.create").description).option("-O, --org-id <id>", "Organization ID").requiredOption("--name <name>", "Project name").option("--description <text>", "Project description").option("--status <status>", "Project status").option("--goal-id <id>", "Primary goal ID").option("--goal-ids <csv>", "Comma-separated goal IDs").option("--lead-agent-id <id>", "Lead agent ID").option("--target-date <date>", "Target date").option("--color <value>", "Project color or supported gradient token").addHelpText("after", formatExamplesAndCautions({
12092
12181
  examples: [
12093
- 'rudder project create --org-id <org-id> --name "Rudder dev" --status in_progress --json',
12094
- 'rudder project create --org-id <org-id> --name "Release" --goal-id <goal-id> --lead-agent-id <agent-id>'
12182
+ {
12183
+ description: "Create a new active workstream after confirming it does not already exist:",
12184
+ command: 'rudder project create --org-id <org-id> --name "Rudder dev" --status in_progress --json'
12185
+ },
12186
+ {
12187
+ description: "Create a project tied to a goal and responsible agent:",
12188
+ command: 'rudder project create --org-id <org-id> --name "Release" --goal-id <goal-id> --lead-agent-id <agent-id>'
12189
+ }
12095
12190
  ],
12096
12191
  cautions: [
12097
12192
  "Project mutations are organization-scoped; pass --org-id when context might be ambiguous.",
@@ -12121,8 +12216,14 @@ function registerProjectCommands(program) {
12121
12216
  addCommonClientOptions(
12122
12217
  project.command("update").description(getAgentCliCapabilityById("project.update").description).argument("<projectIdOrShortname>", "Project ID or shortname").option("-O, --org-id <id>", "Organization ID for shortname resolution").option("--name <name>", "Project name").option("--description <text>", "Project description").option("--status <status>", "Project status").option("--goal-id <id>", "Primary goal ID").option("--goal-ids <csv>", "Comma-separated goal IDs").option("--lead-agent-id <id>", "Lead agent ID").option("--target-date <date>", "Target date").option("--color <value>", "Project color or supported gradient token").option("--archived-at <iso8601|null>", "Set archivedAt timestamp or literal 'null'").addHelpText("after", formatExamplesAndCautions({
12123
12218
  examples: [
12124
- "rudder project update rudder-dev --org-id <org-id> --status in_progress --json",
12125
- "rudder project update <project-id> --archived-at null"
12219
+ {
12220
+ description: "Move a known project shortname under the intended org:",
12221
+ command: "rudder project update rudder-dev --org-id <org-id> --status in_progress --json"
12222
+ },
12223
+ {
12224
+ description: "Unarchive a verified project id:",
12225
+ command: "rudder project update <project-id> --archived-at null"
12226
+ }
12126
12227
  ],
12127
12228
  cautions: [
12128
12229
  "Shortname resolution needs the intended organization; include --org-id for cross-org local contexts.",
@@ -12173,8 +12274,14 @@ function registerRunsCommands(program) {
12173
12274
  addCommonClientOptions(
12174
12275
  runs.command("list").description(getAgentCliCapabilityById("runs.list").description).option("-O, --org-id <id>", "Organization ID").option("--updated-after <iso>", "Only runs updated after this timestamp").option("--run-id-prefix <prefix>", "Filter by run ID prefix").option("--agent-id <id>", "Filter by agent ID").option("--status <status>", "Filter by run status").option("--runtime <type>", "Filter by runtime type").option("--issue-id <id>", "Filter by linked issue ID").option("--used-skill <key-or-name>", "Filter by skill actually used during the run").option("--loaded-skill <key-or-name>", "Filter by skill loaded for the run").option("--created-before <iso>", "Only runs created before this timestamp").option("--limit <n>", "Maximum rows", "200").addHelpText("after", formatExamplesAndCautions({
12175
12276
  examples: [
12176
- "rudder runs list --org-id <org-id> --agent-id <agent-id> --status failed --limit 20",
12177
- "rudder runs list --org-id <org-id> --issue-id ZST-123 --used-skill release-maintainer --json"
12277
+ {
12278
+ description: "Find recent failures for one agent before opening transcripts:",
12279
+ command: "rudder runs list --org-id <org-id> --agent-id <agent-id> --status failed --limit 20"
12280
+ },
12281
+ {
12282
+ description: "Collect skill-specific evidence for a linked issue:",
12283
+ command: "rudder runs list --org-id <org-id> --issue-id ZST-123 --used-skill release-maintainer --json"
12284
+ }
12178
12285
  ],
12179
12286
  cautions: [
12180
12287
  "Filter first by org, agent, issue, status, skill, or time; do not start by dumping broad run history.",
@@ -12247,8 +12354,14 @@ function registerRunsCommands(program) {
12247
12354
  addCommonClientOptions(
12248
12355
  runs.command("transcript").description(getAgentCliCapabilityById("runs.transcript").description).argument("<runId>", "Run ID or short run ID").option("--errors-only", "Show only error transcript rows").option("--around-error <id>", "Show context around a run error id such as step-12").option("--context-turns <n>", "Turns around --around-error", "1").option("--cursor <cursor>", "Stable transcript cursor returned in page.nextCursor").option("--turn-limit <n>", "Maximum turns to return", "20").option("--chronological", "Show oldest-first instead of default newest-first").option("--narrative", "Use a narrative human layout").option("--max-chars <n>", "Maximum output characters per row", "1200").option("--max-output-chars <n>", "Alias for --max-chars").option("--include-output", "Include row output in compact human transcript rows").option("--include-outputs", "Alias for --include-output").addHelpText("after", formatExamplesAndCautions({
12249
12356
  examples: [
12250
- "rudder runs transcript <run-id> --around-error step-12 --context-turns 2",
12251
- "rudder runs transcript <run-id> --chronological --turn-limit 30 --include-output"
12357
+ {
12358
+ description: "Inspect the neighborhood around a failing step:",
12359
+ command: "rudder runs transcript <run-id> --around-error step-12 --context-turns 2"
12360
+ },
12361
+ {
12362
+ description: "Reconstruct a bounded chronological decision trail:",
12363
+ command: "rudder runs transcript <run-id> --chronological --turn-limit 30 --include-output"
12364
+ }
12252
12365
  ],
12253
12366
  cautions: [
12254
12367
  "Human output is compact and clipped by default; use --json only when a script needs the full payload.",
@@ -12275,8 +12388,14 @@ function registerRunsCommands(program) {
12275
12388
  addCommonClientOptions(
12276
12389
  runs.command("errors").description(getAgentCliCapabilityById("runs.errors").description).argument("<runId>", "Run ID or short run ID").option("--max-chars <n>", "Maximum output characters per error", "1200").addHelpText("after", formatExamplesAndCautions({
12277
12390
  examples: [
12278
- "rudder runs errors <run-id>",
12279
- "rudder runs errors <run-id> --max-chars 4000 --json"
12391
+ {
12392
+ description: "Start failed-run investigation with error summaries:",
12393
+ command: "rudder runs errors <run-id>"
12394
+ },
12395
+ {
12396
+ description: "Increase clipped error output for scripts or reports:",
12397
+ command: "rudder runs errors <run-id> --max-chars 4000 --json"
12398
+ }
12280
12399
  ],
12281
12400
  cautions: [
12282
12401
  "Start here for failed runs, then follow the transcript context command returned for the relevant step.",
@@ -12579,8 +12698,14 @@ function registerSkillCommands(program) {
12579
12698
  addCommonClientOptions(
12580
12699
  skill.command("file").description(getAgentCliCapabilityById("skill.file").description).argument("<skillId>", "Skill ID").option("-O, --org-id <id>", "Organization ID").option("--path <path>", "Skill package file path", "SKILL.md").addHelpText("after", formatExamplesAndCautions({
12581
12700
  examples: [
12582
- "rudder skill file <skill-uuid> --path SKILL.md --org-id <org-id>",
12583
- "rudder skill file <skill-uuid> --path references/usage.md --json"
12701
+ {
12702
+ description: "Read the main skill trigger and workflow instructions:",
12703
+ command: "rudder skill file <skill-uuid> --path SKILL.md --org-id <org-id>"
12704
+ },
12705
+ {
12706
+ description: "Inspect a specific reference file in the skill package:",
12707
+ command: "rudder skill file <skill-uuid> --path references/usage.md --json"
12708
+ }
12584
12709
  ],
12585
12710
  cautions: [
12586
12711
  "Prefer the skill UUID for slashful keys such as local/<hash>/<slug>.",
@@ -12603,8 +12728,14 @@ function registerSkillCommands(program) {
12603
12728
  addCommonClientOptions(
12604
12729
  skill.command("import").description(getAgentCliCapabilityById("skill.import").description).option("-O, --org-id <id>", "Organization ID").requiredOption("--source <source>", "Skill source (local path, URL, or repo ref)").addHelpText("after", formatExamplesAndCautions({
12605
12730
  examples: [
12606
- "rudder skill import --org-id <org-id> --source /abs/path/to/skill --json",
12607
- "rudder skill list --org-id <org-id> --json"
12731
+ {
12732
+ description: "Import a durable organization-shared skill package:",
12733
+ command: "rudder skill import --org-id <org-id> --source /abs/path/to/skill --json"
12734
+ },
12735
+ {
12736
+ description: "List imported skills afterward to get stable ids:",
12737
+ command: "rudder skill list --org-id <org-id> --json"
12738
+ }
12608
12739
  ],
12609
12740
  cautions: [
12610
12741
  "Import organization-shared skills from durable shared paths, not disposable agent-private work directories.",