@ricsam/r5dctl 0.0.106 → 0.0.108
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/README.md +12 -2
- package/dist/cjs/cli.cjs +34 -7
- package/dist/cjs/package.json +1 -1
- package/dist/mjs/cli.mjs +34 -7
- package/dist/mjs/package.json +1 -1
- package/dist/types/cli.d.ts +4 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -87,6 +87,7 @@ r5dctl conversation move-head <session-id> <node-id> # rewind or replay the
|
|
|
87
87
|
r5dctl conversation fork <session-id> <node-id> # copy the branch up to a node into a new session
|
|
88
88
|
r5dctl conversation fork <session-id> <node-id> --name "Retry with tests"
|
|
89
89
|
r5dctl session prompt --worker <label> --mode plan --model max <session-id> "..."
|
|
90
|
+
r5dctl session prompt --worker <label> --mode agent --model max --delivery queue <session-id> "After you finish your current task, review the release notes" # deliberately deferred work
|
|
90
91
|
r5dctl -s <session-id> answer-questions --worker <label> --mode plan --model max -a1 "Recipe Collection" -a2 "Both Manual & AI"
|
|
91
92
|
r5dctl -s <session-id> answer-env-request --worker <label> --mode agent --model max -e KEY=value --context "Generate the remaining salts"
|
|
92
93
|
|
|
@@ -94,7 +95,8 @@ r5dctl -p <project> session start --worker <label> --worktree main --model max "
|
|
|
94
95
|
r5dctl -p <project> session start --worker <label> --new-worktree fix/tests --source worktree:main --model max -f "Fix the failing tests"
|
|
95
96
|
r5dctl -p <project> session start --worker <label> --new-worktree fix/tests --source worktree:main --working-tree clean --model max "Fix the failing tests from main's committed state"
|
|
96
97
|
r5dctl session status <session-id>
|
|
97
|
-
r5dctl session prompt --worker <label> --mode agent --model max <session-id> "Also check the migration"
|
|
98
|
+
r5dctl session prompt --worker <label> --mode agent --model max --delivery steer <session-id> "Also check the migration"
|
|
99
|
+
r5dctl session prompt --worker <label> --mode agent --model max --delivery force <session-id> "Stop that and fix the build first"
|
|
98
100
|
r5dctl session stop <session-id>
|
|
99
101
|
r5dctl session process-log <run-id> --tail 200
|
|
100
102
|
r5dctl session process-log <run-id> --grep "error|failed"
|
|
@@ -129,7 +131,15 @@ pull requests.
|
|
|
129
131
|
|
|
130
132
|
`get branches` lists every branch the project knows about, including managed branches without sessions. A worker whose workspace sync found a configured branch's checkout directory missing, or present but not a linked worktree of the project, skips that branch and reports it; the listing then shows `checkout=missing on <worker>` or `checkout=not_a_worktree on <worker>`, and `workspace status` prints a `Missing checkouts on <worker>` line. Recover either by deleting the branch with `delete branch <branch> --confirm` or by reconnecting that worker, which recreates the checkout without snapshotting the project's other checkouts.
|
|
131
133
|
|
|
132
|
-
`session start` creates an ordinary agent-mode chat on an explicitly selected existing worktree, or creates a named linked worktree from an explicit `worktree:<branch>` source. A new worktree is cut from the source branch's current commit; `--working-tree carry` (the default, `git switch -c` semantics) also copies the source checkout's uncommitted changes into it, while `--working-tree clean` checks out that commit only. The new session's first message states which mode applies, and the start output prints `Source` and `Working tree` lines. A clean request fails with a clear error when the selected worker predates the option, because such a worker would silently carry instead. It requires project, worker, model, and prompt and never infers them from the current shell. Start returns a durable `provisioning` handle immediately; workspace synchronization, linked-worktree creation, and prompt enqueue continue in the background and are visible through `session status`. Idempotent request retries return the same handle. Prompts return after durable enqueue. Task specialization belongs in the prompt; there are no predefined debug, explore, research, or test agents.
|
|
134
|
+
`session start` creates an ordinary agent-mode chat on an explicitly selected existing worktree, or creates a named linked worktree from an explicit `worktree:<branch>` source. A new worktree is cut from the source branch's current commit; `--working-tree carry` (the default, `git switch -c` semantics) also copies the source checkout's uncommitted changes into it, while `--working-tree clean` checks out that commit only. The new session's first message states which mode applies, and the start output prints `Source` and `Working tree` lines. A clean request fails with a clear error when the selected worker predates the option, because such a worker would silently carry instead. It requires project, worker, model, and prompt and never infers them from the current shell. Start returns a durable `provisioning` handle immediately; workspace synchronization, linked-worktree creation, and prompt enqueue continue in the background and are visible through `session status`. Idempotent request retries return the same handle. Prompts return after durable enqueue. Task specialization belongs in the prompt; there are no predefined debug, explore, research, or test agents.
|
|
135
|
+
|
|
136
|
+
`session prompt` works on any project session you can access, including one created in the web UI. `--delivery` decides how the prompt reaches a session whose agent is busy: `steer` (the default) lands inside the current turn right after the agent's next tool result, `queue` waits until the agent finishes the whole turn, and `force` aborts the agent's current round of tool calls and continues from the prompt instead. An idle session starts a new generation whatever the delivery, and a steer queued while the session was idle with an unfinished turn is still heard by the generation that resumes it. The response's `Prompt:` line reports `started`, `steered`, `queued`, or `forced`. `session stop` returns as soon as the agent run is stopped; the stopped worktree's workspace Git synchronization finishes asynchronously behind the response.
|
|
137
|
+
|
|
138
|
+
Use the optional `--sender "Authentication review"` flag to display a title above the usual message bubble. Agent shells expose `R5D_SESSION_NAME`, refreshed at each command start from the session name (or its ID until named), so agents can pass `--sender "$R5D_SESSION_NAME"`. The sender is a caller-supplied label; omitting the flag sends no title and leaves the message body unchanged.
|
|
139
|
+
|
|
140
|
+
For messages to an active session, explicitly use `--delivery steer` for coordination such as merge notices, requests to pause or avoid files, blockers, corrections, and handoff or resume notices. Use `--delivery force` when its current tool round must be interrupted. Reserve `--delivery queue` for work intentionally deferred until the entire current turn ends; even an FYI needs steering when it affects current work. These rules apply equally to peers, parents, and children.
|
|
141
|
+
|
|
142
|
+
Delivery is not acknowledgment. If a merge or shared-checkout change depends on another session pausing edits, send the pause request separately, wait for its explicit reply, and recheck the working tree before proceeding. `Prompt: queued` cannot establish that coordination, and even `steered` or `forced` does not prove the agent has read or acted on the request. Reply to coordination requests and send resume notices with `--delivery steer`.
|
|
133
143
|
|
|
134
144
|
`get sessions` lists a project's sessions, newest first, and appends each session's live state (`running`, `stopping`, `paused`, `provisioning`, `queued`, or `idle`) and how long ago its conversation last advanced (`running, last active 12s ago`). Several sessions can work in the same branch checkout at once (task chips, shared-mode sub-agents, sessions the user starts), so run it with `--branch` before relying on a working tree or reviewing what changed in it. A server that predates the fields prints the id, branch, and name only.
|
|
135
145
|
|
package/dist/cjs/cli.cjs
CHANGED
|
@@ -113,6 +113,8 @@ var import_r5d_api = require("@ricsam/r5d-api");
|
|
|
113
113
|
var import_shell = require("./shell.cjs");
|
|
114
114
|
const CHAT_MODES = /* @__PURE__ */ new Set(["plan", "agent", "large_diff_remediation"]);
|
|
115
115
|
const R5DCTL_SESSION_MODES = /* @__PURE__ */ new Set(["plan", "agent"]);
|
|
116
|
+
const R5DCTL_PROMPT_DELIVERIES = /* @__PURE__ */ new Set(["queue", "steer", "force"]);
|
|
117
|
+
const R5DCTL_PROMPT_DEFAULT_DELIVERY = "steer";
|
|
116
118
|
const MODEL_TIERS = /* @__PURE__ */ new Set(["low", "medium", "high", "max"]);
|
|
117
119
|
const R5DCTL_PACKAGE_NAME = "@ricsam/r5dctl";
|
|
118
120
|
const CLI_GLOBAL_OPTION_HELP = [
|
|
@@ -175,11 +177,16 @@ const SESSION_RUN_HELP_TEXT = [
|
|
|
175
177
|
' r5dctl -p <project> session start --worker <label> --worktree <branch> --model <tier> [-f|--follow|--watch] [--tools] [--parent-session <session-id>] "<prompt>"',
|
|
176
178
|
' r5dctl -p <project> session start --worker <label> --new-worktree <branch> --source worktree:<branch> [--working-tree carry|clean] --model <tier> [-f|--follow|--watch] [--tools] [--parent-session <session-id>] "<prompt>"',
|
|
177
179
|
" r5dctl session status <session-id>",
|
|
178
|
-
' r5dctl session prompt --worker <label> --mode <mode> --model <tier> <session-id> "<prompt>"',
|
|
180
|
+
' r5dctl session prompt --worker <label> --mode <mode> --model <tier> [--delivery queue|steer|force] [--sender <name>] <session-id> "<prompt>"',
|
|
179
181
|
" r5dctl session stop <session-id>",
|
|
180
182
|
" r5dctl session process-log <run-id> [--tail <n>] [--grep <pattern>]",
|
|
181
183
|
"",
|
|
182
184
|
"Create, inspect, resume, and stop ordinary agent sessions.",
|
|
185
|
+
"prompt reaches a busy session by --delivery: steer (default) lands after the agent's next tool result,",
|
|
186
|
+
"queue waits for the current turn to finish, force replaces the agent's current tool round. An idle session starts a new generation either way.",
|
|
187
|
+
"Use --delivery steer for active-session coordination, including merge notices, pause requests, blockers, and handoffs.",
|
|
188
|
+
"Use force when the current tool round must be interrupted; queue is only for work deliberately deferred until the turn ends.",
|
|
189
|
+
"Prompt delivery is not acknowledgment. If a shared-checkout change depends on a pause, wait for the recipient's reply before proceeding.",
|
|
183
190
|
"A new worktree starts with the source checkout's uncommitted changes (--working-tree carry, the default);",
|
|
184
191
|
"--working-tree clean checks out the source branch's current commit only. Start and status print the mode, never a commit hash.",
|
|
185
192
|
"Use -f/--follow/--watch to attach after a start; Ctrl-C detaches without stopping the session.",
|
|
@@ -309,8 +316,8 @@ const SHARED_HELP_ENTRIES = [
|
|
|
309
316
|
},
|
|
310
317
|
{
|
|
311
318
|
section: "sessions",
|
|
312
|
-
usage: 'session prompt --worker <label> --mode <mode> --model <tier> <session-id> "<prompt>"',
|
|
313
|
-
description: "
|
|
319
|
+
usage: 'session prompt --worker <label> --mode <mode> --model <tier> [--delivery queue|steer|force] [--sender <name>] <session-id> "<prompt>"',
|
|
320
|
+
description: "Prompt a session: steer into the current turn after the next tool result (default), queue behind the turn, or force in place of the current tool round; an idle session starts a new generation. Use steer for active-session coordination; queue only deliberately deferred work. --sender adds an optional title above the message."
|
|
314
321
|
},
|
|
315
322
|
{
|
|
316
323
|
section: "sessions",
|
|
@@ -603,6 +610,14 @@ function requireSessionMode(value) {
|
|
|
603
610
|
}
|
|
604
611
|
return mode;
|
|
605
612
|
}
|
|
613
|
+
function parsePromptDelivery(value) {
|
|
614
|
+
if (value === void 0) return R5DCTL_PROMPT_DEFAULT_DELIVERY;
|
|
615
|
+
const delivery = value.trim();
|
|
616
|
+
if (!R5DCTL_PROMPT_DELIVERIES.has(delivery)) {
|
|
617
|
+
throw new Error("Invalid --delivery. Expected one of: queue, steer, force");
|
|
618
|
+
}
|
|
619
|
+
return delivery;
|
|
620
|
+
}
|
|
606
621
|
function parseBranchCreateArgs(args) {
|
|
607
622
|
const parsed = parseCommandOperands(args, /* @__PURE__ */ new Set(["--source", "--working-tree", "--worker"]), /* @__PURE__ */ new Map(), "create branch", 1);
|
|
608
623
|
if (parsed.positionals.length > 0) throw new Error(`Unexpected create branch argument: ${parsed.positionals[0]}`);
|
|
@@ -802,17 +817,27 @@ function parseSessionRunCommand(options, args) {
|
|
|
802
817
|
return { kind: subcommand, sessionId };
|
|
803
818
|
}
|
|
804
819
|
if (subcommand === "prompt") {
|
|
805
|
-
const parsed = parseCommandOperands(
|
|
820
|
+
const parsed = parseCommandOperands(
|
|
821
|
+
commandArgs,
|
|
822
|
+
/* @__PURE__ */ new Set(["--worker", "--mode", "--model", "--delivery", "--sender"]),
|
|
823
|
+
/* @__PURE__ */ new Map(),
|
|
824
|
+
"session prompt",
|
|
825
|
+
1
|
|
826
|
+
);
|
|
806
827
|
const sessionId = requireValue(parsed.positionals[0], "Session id is required for `session prompt`");
|
|
807
828
|
const prompt = parsed.positionals.slice(1).join(" ").trim();
|
|
808
829
|
if (!prompt) throw new Error("Prompt is required for `session prompt`");
|
|
830
|
+
const sender = parsed.values.get("--sender")?.trim();
|
|
831
|
+
if (sender !== void 0 && !sender) throw new Error("--sender must not be empty");
|
|
809
832
|
return {
|
|
810
833
|
kind: "prompt",
|
|
811
834
|
worker: requireWorker(parsed.values),
|
|
812
835
|
sessionId,
|
|
813
836
|
prompt,
|
|
837
|
+
...sender ? { sender } : {},
|
|
814
838
|
mode: requireSessionMode(parsed.values.get("--mode")),
|
|
815
|
-
model: requireModel(parsed.values.get("--model"))
|
|
839
|
+
model: requireModel(parsed.values.get("--model")),
|
|
840
|
+
delivery: parsePromptDelivery(parsed.values.get("--delivery"))
|
|
816
841
|
};
|
|
817
842
|
}
|
|
818
843
|
throw new Error(`Unknown session command: ${subcommand}`);
|
|
@@ -2172,7 +2197,7 @@ function renderSessionRunStatus(session) {
|
|
|
2172
2197
|
const summary = responseString(session, "summary");
|
|
2173
2198
|
if (summary) lines.push("", summary);
|
|
2174
2199
|
const sessionId = responseString(session, "sessionId");
|
|
2175
|
-
if (sessionId && ["provisioning", "queued", "running"].includes(status)) {
|
|
2200
|
+
if (sessionId && ["provisioning", "queued", "running", "waiting"].includes(status)) {
|
|
2176
2201
|
lines.push("", "Next:", ` r5dctl session status ${sessionId}`, ` r5dctl session stop ${sessionId}`);
|
|
2177
2202
|
}
|
|
2178
2203
|
return `${lines.join("\n")}
|
|
@@ -2208,7 +2233,9 @@ async function dispatchSessionRunCommand(client, command) {
|
|
|
2208
2233
|
worker: command.worker,
|
|
2209
2234
|
mode: command.mode,
|
|
2210
2235
|
model: command.model,
|
|
2211
|
-
requestId: (0, import_node_crypto.randomUUID)()
|
|
2236
|
+
requestId: (0, import_node_crypto.randomUUID)(),
|
|
2237
|
+
delivery: command.delivery,
|
|
2238
|
+
...command.sender ? { sender: command.sender } : {}
|
|
2212
2239
|
});
|
|
2213
2240
|
return { data: data2, human: renderSessionRunStatus(data2) };
|
|
2214
2241
|
}
|
package/dist/cjs/package.json
CHANGED
package/dist/mjs/cli.mjs
CHANGED
|
@@ -13,6 +13,8 @@ import {
|
|
|
13
13
|
import { runR5dctlShell } from "./shell.mjs";
|
|
14
14
|
const CHAT_MODES = /* @__PURE__ */ new Set(["plan", "agent", "large_diff_remediation"]);
|
|
15
15
|
const R5DCTL_SESSION_MODES = /* @__PURE__ */ new Set(["plan", "agent"]);
|
|
16
|
+
const R5DCTL_PROMPT_DELIVERIES = /* @__PURE__ */ new Set(["queue", "steer", "force"]);
|
|
17
|
+
const R5DCTL_PROMPT_DEFAULT_DELIVERY = "steer";
|
|
16
18
|
const MODEL_TIERS = /* @__PURE__ */ new Set(["low", "medium", "high", "max"]);
|
|
17
19
|
const R5DCTL_PACKAGE_NAME = "@ricsam/r5dctl";
|
|
18
20
|
const CLI_GLOBAL_OPTION_HELP = [
|
|
@@ -75,11 +77,16 @@ const SESSION_RUN_HELP_TEXT = [
|
|
|
75
77
|
' r5dctl -p <project> session start --worker <label> --worktree <branch> --model <tier> [-f|--follow|--watch] [--tools] [--parent-session <session-id>] "<prompt>"',
|
|
76
78
|
' r5dctl -p <project> session start --worker <label> --new-worktree <branch> --source worktree:<branch> [--working-tree carry|clean] --model <tier> [-f|--follow|--watch] [--tools] [--parent-session <session-id>] "<prompt>"',
|
|
77
79
|
" r5dctl session status <session-id>",
|
|
78
|
-
' r5dctl session prompt --worker <label> --mode <mode> --model <tier> <session-id> "<prompt>"',
|
|
80
|
+
' r5dctl session prompt --worker <label> --mode <mode> --model <tier> [--delivery queue|steer|force] [--sender <name>] <session-id> "<prompt>"',
|
|
79
81
|
" r5dctl session stop <session-id>",
|
|
80
82
|
" r5dctl session process-log <run-id> [--tail <n>] [--grep <pattern>]",
|
|
81
83
|
"",
|
|
82
84
|
"Create, inspect, resume, and stop ordinary agent sessions.",
|
|
85
|
+
"prompt reaches a busy session by --delivery: steer (default) lands after the agent's next tool result,",
|
|
86
|
+
"queue waits for the current turn to finish, force replaces the agent's current tool round. An idle session starts a new generation either way.",
|
|
87
|
+
"Use --delivery steer for active-session coordination, including merge notices, pause requests, blockers, and handoffs.",
|
|
88
|
+
"Use force when the current tool round must be interrupted; queue is only for work deliberately deferred until the turn ends.",
|
|
89
|
+
"Prompt delivery is not acknowledgment. If a shared-checkout change depends on a pause, wait for the recipient's reply before proceeding.",
|
|
83
90
|
"A new worktree starts with the source checkout's uncommitted changes (--working-tree carry, the default);",
|
|
84
91
|
"--working-tree clean checks out the source branch's current commit only. Start and status print the mode, never a commit hash.",
|
|
85
92
|
"Use -f/--follow/--watch to attach after a start; Ctrl-C detaches without stopping the session.",
|
|
@@ -209,8 +216,8 @@ const SHARED_HELP_ENTRIES = [
|
|
|
209
216
|
},
|
|
210
217
|
{
|
|
211
218
|
section: "sessions",
|
|
212
|
-
usage: 'session prompt --worker <label> --mode <mode> --model <tier> <session-id> "<prompt>"',
|
|
213
|
-
description: "
|
|
219
|
+
usage: 'session prompt --worker <label> --mode <mode> --model <tier> [--delivery queue|steer|force] [--sender <name>] <session-id> "<prompt>"',
|
|
220
|
+
description: "Prompt a session: steer into the current turn after the next tool result (default), queue behind the turn, or force in place of the current tool round; an idle session starts a new generation. Use steer for active-session coordination; queue only deliberately deferred work. --sender adds an optional title above the message."
|
|
214
221
|
},
|
|
215
222
|
{
|
|
216
223
|
section: "sessions",
|
|
@@ -503,6 +510,14 @@ function requireSessionMode(value) {
|
|
|
503
510
|
}
|
|
504
511
|
return mode;
|
|
505
512
|
}
|
|
513
|
+
function parsePromptDelivery(value) {
|
|
514
|
+
if (value === void 0) return R5DCTL_PROMPT_DEFAULT_DELIVERY;
|
|
515
|
+
const delivery = value.trim();
|
|
516
|
+
if (!R5DCTL_PROMPT_DELIVERIES.has(delivery)) {
|
|
517
|
+
throw new Error("Invalid --delivery. Expected one of: queue, steer, force");
|
|
518
|
+
}
|
|
519
|
+
return delivery;
|
|
520
|
+
}
|
|
506
521
|
function parseBranchCreateArgs(args) {
|
|
507
522
|
const parsed = parseCommandOperands(args, /* @__PURE__ */ new Set(["--source", "--working-tree", "--worker"]), /* @__PURE__ */ new Map(), "create branch", 1);
|
|
508
523
|
if (parsed.positionals.length > 0) throw new Error(`Unexpected create branch argument: ${parsed.positionals[0]}`);
|
|
@@ -702,17 +717,27 @@ function parseSessionRunCommand(options, args) {
|
|
|
702
717
|
return { kind: subcommand, sessionId };
|
|
703
718
|
}
|
|
704
719
|
if (subcommand === "prompt") {
|
|
705
|
-
const parsed = parseCommandOperands(
|
|
720
|
+
const parsed = parseCommandOperands(
|
|
721
|
+
commandArgs,
|
|
722
|
+
/* @__PURE__ */ new Set(["--worker", "--mode", "--model", "--delivery", "--sender"]),
|
|
723
|
+
/* @__PURE__ */ new Map(),
|
|
724
|
+
"session prompt",
|
|
725
|
+
1
|
|
726
|
+
);
|
|
706
727
|
const sessionId = requireValue(parsed.positionals[0], "Session id is required for `session prompt`");
|
|
707
728
|
const prompt = parsed.positionals.slice(1).join(" ").trim();
|
|
708
729
|
if (!prompt) throw new Error("Prompt is required for `session prompt`");
|
|
730
|
+
const sender = parsed.values.get("--sender")?.trim();
|
|
731
|
+
if (sender !== void 0 && !sender) throw new Error("--sender must not be empty");
|
|
709
732
|
return {
|
|
710
733
|
kind: "prompt",
|
|
711
734
|
worker: requireWorker(parsed.values),
|
|
712
735
|
sessionId,
|
|
713
736
|
prompt,
|
|
737
|
+
...sender ? { sender } : {},
|
|
714
738
|
mode: requireSessionMode(parsed.values.get("--mode")),
|
|
715
|
-
model: requireModel(parsed.values.get("--model"))
|
|
739
|
+
model: requireModel(parsed.values.get("--model")),
|
|
740
|
+
delivery: parsePromptDelivery(parsed.values.get("--delivery"))
|
|
716
741
|
};
|
|
717
742
|
}
|
|
718
743
|
throw new Error(`Unknown session command: ${subcommand}`);
|
|
@@ -2072,7 +2097,7 @@ function renderSessionRunStatus(session) {
|
|
|
2072
2097
|
const summary = responseString(session, "summary");
|
|
2073
2098
|
if (summary) lines.push("", summary);
|
|
2074
2099
|
const sessionId = responseString(session, "sessionId");
|
|
2075
|
-
if (sessionId && ["provisioning", "queued", "running"].includes(status)) {
|
|
2100
|
+
if (sessionId && ["provisioning", "queued", "running", "waiting"].includes(status)) {
|
|
2076
2101
|
lines.push("", "Next:", ` r5dctl session status ${sessionId}`, ` r5dctl session stop ${sessionId}`);
|
|
2077
2102
|
}
|
|
2078
2103
|
return `${lines.join("\n")}
|
|
@@ -2108,7 +2133,9 @@ async function dispatchSessionRunCommand(client, command) {
|
|
|
2108
2133
|
worker: command.worker,
|
|
2109
2134
|
mode: command.mode,
|
|
2110
2135
|
model: command.model,
|
|
2111
|
-
requestId: randomUUID()
|
|
2136
|
+
requestId: randomUUID(),
|
|
2137
|
+
delivery: command.delivery,
|
|
2138
|
+
...command.sender ? { sender: command.sender } : {}
|
|
2112
2139
|
});
|
|
2113
2140
|
return { data: data2, human: renderSessionRunStatus(data2) };
|
|
2114
2141
|
}
|
package/dist/mjs/package.json
CHANGED
package/dist/types/cli.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R5dctlApiError, R5dctlClient, type R5dctlConversationForkResponse, type R5dctlConversationHeadResponse, type R5dctlConversationRenderOptions, type R5dctlConversationResponse, type R5dctlConversationNodeResponse, type R5dctlConversationOverviewResponse, type R5dctlConversationWorkDetail, type R5dctlConversationWorkResponse, type R5dctlEnvData, type R5dctlK8sResourceHistory, type R5dctlK8sUsage, type R5dctlK8sWorkload, type R5dctlProcessInspection, type R5dctlProcessListInput, type R5dctlProcessLog, type R5dctlProcessRun, type R5dctlBranch, type R5dctlBranchDeleteResponse, type R5dctlBranchDescription, type R5dctlBranchOperation, type R5dctlSessionSummary, type R5dctlSessionEvent, type R5dctlSessionStartInput, type R5dctlWorkspaceStatus, type R5dctlWorkspaceSyncResult, type R5dctlWorkingTreeMode, type R5dctlWorktreeSource, type R5dctlSessionMode, type ChatMode, type ModelTier } from "@ricsam/r5d-api";
|
|
1
|
+
import { R5dctlApiError, R5dctlClient, type R5dctlConversationForkResponse, type R5dctlConversationHeadResponse, type R5dctlConversationRenderOptions, type R5dctlConversationResponse, type R5dctlConversationNodeResponse, type R5dctlConversationOverviewResponse, type R5dctlConversationWorkDetail, type R5dctlConversationWorkResponse, type R5dctlEnvData, type R5dctlK8sResourceHistory, type R5dctlK8sUsage, type R5dctlK8sWorkload, type R5dctlProcessInspection, type R5dctlProcessListInput, type R5dctlProcessLog, type R5dctlProcessRun, type R5dctlBranch, type R5dctlBranchDeleteResponse, type R5dctlBranchDescription, type R5dctlBranchOperation, type R5dctlSessionSummary, type R5dctlSessionEvent, type R5dctlSessionStartInput, type R5dctlWorkspaceStatus, type R5dctlWorkspaceSyncResult, type R5dctlWorkingTreeMode, type R5dctlWorktreeSource, type R5dctlPromptDelivery, type R5dctlSessionMode, type ChatMode, type ModelTier } from "@ricsam/r5d-api";
|
|
2
2
|
export type GlobalOptions = {
|
|
3
3
|
baseUrl?: string;
|
|
4
4
|
json: boolean;
|
|
@@ -73,8 +73,10 @@ export type R5dctlSessionRunCommand = R5dctlSessionStartCommand | {
|
|
|
73
73
|
worker: string;
|
|
74
74
|
sessionId: string;
|
|
75
75
|
prompt: string;
|
|
76
|
+
sender?: string;
|
|
76
77
|
mode: R5dctlSessionMode;
|
|
77
78
|
model: ModelTier;
|
|
79
|
+
delivery: R5dctlPromptDelivery;
|
|
78
80
|
} | {
|
|
79
81
|
kind: "stop";
|
|
80
82
|
sessionId: string;
|
|
@@ -305,6 +307,7 @@ export type R5dctlSessionRunClient = {
|
|
|
305
307
|
mode: R5dctlSessionMode;
|
|
306
308
|
model: ModelTier;
|
|
307
309
|
requestId: string;
|
|
310
|
+
delivery?: R5dctlPromptDelivery;
|
|
308
311
|
}) => Promise<R5dctlCommandResponse>;
|
|
309
312
|
stop: (sessionId: string) => Promise<R5dctlCommandResponse>;
|
|
310
313
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ricsam/r5dctl",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.108",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/cjs/cli.cjs",
|
|
6
6
|
"module": "./dist/mjs/cli.mjs",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"r5dctl": "dist/cjs/main.cjs"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@ricsam/r5d-api": "^0.0.
|
|
29
|
+
"@ricsam/r5d-api": "^0.0.108",
|
|
30
30
|
"dotenv": "^17",
|
|
31
31
|
"qrcode": "^1.5.4",
|
|
32
32
|
"ws": "^8.18.3"
|