@corvio/cli 0.1.0-beta.39 → 0.1.0-beta.40
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/cli.js +41 -9
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
agentCredentialPath,
|
|
40
40
|
} from "./core.js";
|
|
41
41
|
|
|
42
|
-
const VERSION = "0.1.0-beta.
|
|
42
|
+
const VERSION = "0.1.0-beta.40";
|
|
43
43
|
const DEFAULT_API_BASE = "https://api.corvio.ai/v1";
|
|
44
44
|
const DEFAULT_APP_BASE = "https://corvio.ai";
|
|
45
45
|
const USER_AGENT = `corvio-cli/${VERSION}`;
|
|
@@ -89,7 +89,7 @@ const COMMAND_OPTIONS = Object.freeze({
|
|
|
89
89
|
"ask:": [
|
|
90
90
|
"prompt", "conversation-id", "sources", "allow-actions", "context-file", "idempotency-key",
|
|
91
91
|
"processing-profile", "max-processing-profile", "scan-mode", "skills-extraction-mode", "caller-model",
|
|
92
|
-
"file", "asset-ids", "mime-type", "background",
|
|
92
|
+
"file", "asset-ids", "mime-type", "inline-material-file", "inline-material-title", "background",
|
|
93
93
|
],
|
|
94
94
|
"agents:list": ["include-revoked"],
|
|
95
95
|
"agents:connect": [
|
|
@@ -171,7 +171,7 @@ Usage:
|
|
|
171
171
|
corvio workspaces list|use|current|create [id]
|
|
172
172
|
corvio capabilities
|
|
173
173
|
corvio collaboration status [--project <path>] [--provider codex|claude_code|copilot|grok_build|muse_code]
|
|
174
|
-
corvio ask --prompt <text> [--file <path>] [--asset-ids <id,id>] [--conversation-id <id>] [--allow-actions] [--processing-profile auto|economy|standard|deep]
|
|
174
|
+
corvio ask --prompt <text> [--file <path>] [--asset-ids <id,id>] [--inline-material-file <path>] [--conversation-id <id>] [--allow-actions] [--processing-profile auto|economy|standard|deep]
|
|
175
175
|
corvio agents list|connect|create|update|rotate [id]
|
|
176
176
|
corvio agent claim|renew|complete|fail|comments|comment|reply|status|closeout|run [id]
|
|
177
177
|
corvio questions list|get|operation|cancel [id]
|
|
@@ -200,13 +200,13 @@ const COMMAND_HELP = Object.freeze({
|
|
|
200
200
|
workspaces: `Usage:\n corvio workspaces list\n corvio workspaces use <workspace-id>\n corvio workspaces current\n corvio workspaces create --name <name> [--kind personal|team]\n\nWorkspace status and blocked capability reasons are returned with each item.`,
|
|
201
201
|
capabilities: `Usage: corvio capabilities [--json]\n\nShow live API resources, principal scopes, selected Workspace status, and CLI compatibility.`,
|
|
202
202
|
collaboration: `Usage:\n corvio collaboration status [--project <path>] [--provider codex|claude_code|copilot|grok_build|muse_code|workbuddy]\n\nCheck local Corvio prerequisites and every discoverable Corvio Skill copy. Current copies stay quiet; non-current receipts include one compact Agent notice and a source-aware next action. Standalone refresh commands pin the verified installer when available and preserve project/global scope. Muse Code and Grok Build inspect their native and shared Agent Skill roots; WorkBuddy inspection is read-only. The CLI cannot prove that the current host task loaded a particular copy, or whether remote MCP or host memory is active.`,
|
|
203
|
-
ask: `Usage: corvio ask --prompt <text> [--file <path>] [--asset-ids <id,id>] [--conversation-id <id>] [--sources workspace,web,memory] [--allow-actions] [--background] [--processing-profile auto|economy|standard|deep] [--max-processing-profile economy|standard|deep] [--scan-mode auto|always|off] [--skills-extraction-mode auto|always|off] [--caller-model <host-model>] [--context-file <json>] [--idempotency-key <key>]\n\nAnswer-only is the default: omit --allow-actions; there is no --mode option. Keep the user's natural question unchanged, then append the smallest complete decision-relevant context or stable handles as a separate clause. A carried Project handle normally bounds a cross-branch question without enumerating all descendants. Handles are evidence addresses: do not invent a comparison rubric, prescribe reasoning steps, substitute another user objective, or turn current Tree labels into a detailed task plan. Unless the user chose them, do not invent taxonomy, titles, artifact count, or Corvio's internal plan; Corvio chooses the cognitive structure and carriers. In a bounded read-only continuation, start this foreground command exactly once when a trusted current-task or prior receipt already proves this authenticated CLI and exact Workspace; do not launch an identical Question concurrently or retry before terminal exit. If the shell tool yields a running-session handle, wait on that exact handle until the CLI exits instead of answering from prior context. It returns the terminal Question without model-visible polling. Use --background for work that should outlive the current shell; it returns one durable operation immediately. Inspect it with questions operation, stop it with questions cancel, and use the terminal conversation_id for a corrected follow-up instead of silently changing an in-flight objective. Transport continuity does not prove a cheaper processing profile; leave processing on auto unless the remaining transformation independently justifies another profile. Do not install, probe, or switch to the CLI only to avoid MCP polling, and do not extend it to an unbound Workspace. --file retains
|
|
203
|
+
ask: `Usage: corvio ask --prompt <text> [--file <path>] [--asset-ids <id,id>] [--inline-material-file <path> --inline-material-title <title>] [--conversation-id <id>] [--sources workspace,web,memory] [--allow-actions] [--background] [--processing-profile auto|economy|standard|deep] [--max-processing-profile economy|standard|deep] [--scan-mode auto|always|off] [--skills-extraction-mode auto|always|off] [--caller-model <host-model>] [--context-file <json>] [--idempotency-key <key>]\n\nAnswer-only is the default: omit --allow-actions; there is no --mode option. Keep the user's natural question unchanged, then append the smallest complete decision-relevant context or stable handles as a separate clause. A carried Project handle normally bounds a cross-branch question without enumerating all descendants. Handles are evidence addresses: do not invent a comparison rubric, prescribe reasoning steps, substitute another user objective, or turn current Tree labels into a detailed task plan. Unless the user chose them, do not invent taxonomy, titles, artifact count, or Corvio's internal plan; Corvio chooses the cognitive structure and carriers. In a bounded read-only continuation, start this foreground command exactly once when a trusted current-task or prior receipt already proves this authenticated CLI and exact Workspace; do not launch an identical Question concurrently or retry before terminal exit. If the shell tool yields a running-session handle, wait on that exact handle until the CLI exits instead of answering from prior context. It returns the terminal Question without model-visible polling. Use --background for work that should outlive the current shell; it returns one durable operation immediately. Inspect it with questions operation, stop it with questions cancel, and use the terminal conversation_id for a corrected follow-up instead of silently changing an in-flight objective. Transport continuity does not prove a cheaper processing profile; leave processing on auto unless the remaining transformation independently justifies another profile. Do not install, probe, or switch to the CLI only to avoid MCP polling, and do not extend it to an unbound Workspace. --file retains an original selected local file, verifies its hash, and attaches the finalized Asset to this exact question. --asset-ids attaches already-retained Corvio Assets. --inline-material-file is only for Markdown the Host just composed: it carries that text as source evidence without first creating a root Page. Use it with --allow-actions when durable owner, structure, Memory, or Skill reconciliation remains semantic; do not use it instead of --file for original local evidence, and do not run a second cleanup Question after docs create. For this route keep --skills-extraction-mode auto; the returned knowledge_policy owns Memory/Skill disposition. Do not force or suppress Memory/Skill creation in the Question. Rejection, blocking, or pre-acceptance failure leaves that owner unresolved: follow typed recovery or report the unresolved effect without a direct Page or synthetic Asset fallback. Use --allow-actions when Corvio should create the Page, Spreadsheet, Presentation, Code, HTML Artifact, Memory, or qualifying Project Skill that best serves the result. A continuation handle is subject evidence, not necessarily the durable write destination: for a reusable pattern or method, resolve the fitting same-scope Memory or Skill owner before admitting or merging it. If the current turn already supplies a complete current owner receipt plus the exact Memory/Skill correction or non-merge boundary, pass them directly to one allow-actions Question; do not search or open an answer-only Question first. Read first only when a missing fact could change target, scope, authority, or constraints. Read the terminal Question receipt and use artifact.url or links.primary_artifact verbatim; reader_output artifacts are deliverables, structure_container artifacts are hierarchy, and node_id is never a document URL. Upload alone is not evidence of interpretation. Skill extraction mode always requires --allow-actions and an evidence-backed decision, not forced Skill creation; answer-only questions may use auto or off.`,
|
|
204
204
|
agents: `Usage:\n corvio agents list\n corvio agents connect [--provider codex|claude_code|copilot|grok_build] [--project <path>] [--permission-profile read_only|workspace_write|danger_full_access] [--trigger-policy owner_only|workspace_members] [--display-name <name>] [--recover-credential] [--no-listen]\n corvio agents create --handle <handle> --display-name <name> [--provider codex|claude_code|copilot|grok_build|grok_bot|muse|muse_code|custom] [--permissions read,comment,edit]\n corvio agents update <id> [--display-name <name>] [--status active|paused|revoked] [--permissions <list>]\n corvio agents rotate <id>\n\n'connect' binds the current Git project (or --project path) to one stable personal Agent. Repeating it is idempotent; another project creates another Agent. It reports provider/CLI, listener, and local Skill prerequisites separately; run corvio collaboration status after installing or refreshing the Skill. The CLI cannot prove that the current host task loaded those surfaces. The default workspace_write profile is limited by the provider's native sandbox. owner_only is the safe trigger default. Secrets and absolute project paths stay local.`,
|
|
205
205
|
agent: `Usage:\n corvio agent claim [--worker-id <id>] [--wait-seconds <0-30>]\n corvio agent renew <event-id> --lease-token <token> [--lease-seconds <30-900>]\n corvio agent complete <event-id> --lease-token <token> [--result-file <json>]\n corvio agent fail <event-id> --lease-token <token> --error <message>\n corvio agent mentions --document-id <id> [--query <name>]\n corvio agent comments --document-id <id>\n corvio agent comment --document-id <id> --body <text> [--selection-file <json>] [--start-new-chain] [--idempotency-key <key>]\n corvio agent reply <thread-id> --document-id <id> --body <text> [--source-event-id <id> --source-event-lease-token <token>|--start-new-chain] [--idempotency-key <key>]\n corvio agent status <thread-id> --document-id <id> --status open|resolved\n corvio agent closeout --document-id <id> [--thread-id <id>] --body <verified-result> [--status open|resolved] [--idempotency-key <key>]\n corvio agent run [--provider codex|claude_code|copilot|grok_build|custom] [--handler <executable>] [--agent <id>] [--once] [--processing-profile auto|economy|standard|deep] [--max-processing-profile economy|standard|deep] [--scan-mode auto|always|off] [--skills-extraction-mode auto|always|off] [--caller-model <host-model>]\n\nUse mentions before commenting when the target is uncertain; aliases resolve to stable user or Agent IDs and ambiguity fails closed. Use closeout when a Corvio document or comment owned the task: it returns the verified result to that surface and reads document/comments back. Agent-to-Agent comments require either a claimed source event or explicit --start-new-chain. The runner iteratively exchanges origin-scoped evidence with Corvio Query/Writer, then invokes the bound provider inside its local project. Local code changes use the recorded provider permission profile; complex Corvio document changes belong to Query/Writer. Provider children never receive Corvio credentials.`,
|
|
206
206
|
questions: `Usage:\n corvio questions list [--limit <n>] [--cursor <cursor>] [--conversation-id <id>]\n corvio questions get <question-id>\n corvio questions operation <operation-id> [--after-cursor <n>] [--wait-until-terminal] [--timeout-seconds <1-7200>]\n corvio questions cancel <operation-id> --yes\n\nA Question operation is the durable owner for background work. operation returns only new user-visible milestones after --after-cursor and never exposes hidden reasoning or provisional answer text. --wait-until-terminal keeps deterministic polling in this process and returns a typed deadline receipt if the local deadline expires. cancel is idempotent; treat cancellation_requested as non-terminal and verify cancelled before telling the user the task stopped. Cancellation does not roll back effects that already settled. To correct the objective, stop or finish the current operation, then use corvio ask --conversation-id <conversation_id> so the new Question is an explicit successor.`,
|
|
207
207
|
conversations: `Usage:\n corvio conversations list [--limit <n>] [--cursor <cursor>]\n corvio conversations get <conversation-id>`,
|
|
208
|
-
search: `Usage: corvio search <query> [--limit <n>] [--page-id <id>] [--node-id <id>]
|
|
209
|
-
docs: `Usage:\n corvio docs list [--limit <n>] [--cursor <cursor>] [--lifecycle active|archived]\n corvio docs get <id> [--output <path>]\n corvio docs read <id> [--mode auto|overview|line-range|section|search|full] [--start-line <n> --end-line <n>|--section-ref <S#>|--query <text>] [--max-chars <n>]\n corvio docs patch <id> --input <json> --yes [--operation-id <id>] [--change-summary <text>]\n corvio docs table-read <id> [--table-id <id>] [--after-row-id <id>] [--limit <1-100>]\n corvio docs table-mutate <id> --input <json> --yes [--operation-id <id>] [--change-summary <text>]\n corvio docs create --title <title> [--file <path>|--markdown <text>] [--parent-node-id <id>] [--idempotency-key <key>]\n corvio docs update <id> [--title <title>] [--file <path>|--markdown <text>] [--expected-revision <n>] [--change-summary <text>]\n corvio docs move <id> --parent-node-id <id>\n corvio docs archive <id> --yes\n corvio docs restore <id> --yes\n corvio docs share <id> --yes [--display-name <name>]\n corvio docs open <id>\n\nUse \`docs read --mode auto\` first for a small full body or a large-document overview, then read an exact section or line range. Use \`docs patch\` when the host already knows 1-20 exact L# replacements; it preserves untouched lines and returns a compact verified delta. A selected Markdown file can become an editable Page without resending the body through the model. Use \`docs update\` only when whole-body replacement is the smallest faithful change. Delegate document-wide judgment, cross-source synthesis, structure/formatting interpretation, and typed Spreadsheet, Presentation, Code, or HTML work to \`corvio ask --allow-actions\`. A Project is a structure container; body writes fail with project_structure_container_body_write_disabled, while a title-only Project rename remains valid. Projects stay at the Workspace root and cannot be nested; use \`files organize\` or \`ask --allow-actions\` for Work Model maintenance. Use table-read plus table-mutate for bounded stable-ID cell updates or row appends. Agent-authenticated document changes require --change-summary and create a visible document-level comment after the guarded update. When a document/comment is the task owner, use \`corvio agent closeout\` to return verified work to that same collaboration surface and read it back.`,
|
|
208
|
+
search: `Usage: corvio search <query> [--limit <n>] [--page-id <id>] [--node-id <id>]\n\nUse one narrow query for initial owner discovery. When content_complete=true and hit_count=0, continue from current-turn facts; do not retry with synonyms, translations, broader wording, or another language in the same turn.`,
|
|
209
|
+
docs: `Usage:\n corvio docs list [--limit <n>] [--cursor <cursor>] [--lifecycle active|archived]\n corvio docs get <id> [--output <path>]\n corvio docs read <id> [--mode auto|overview|line-range|section|search|full] [--start-line <n> --end-line <n>|--section-ref <S#>|--query <text>] [--max-chars <n>]\n corvio docs patch <id> --input <json> --yes [--operation-id <id>] [--change-summary <text>]\n corvio docs table-read <id> [--table-id <id>] [--after-row-id <id>] [--limit <1-100>]\n corvio docs table-mutate <id> --input <json> --yes [--operation-id <id>] [--change-summary <text>]\n corvio docs create --title <title> [--file <path>|--markdown <text>] [--parent-node-id <id>] [--idempotency-key <key>]\n corvio docs update <id> [--title <title>] [--file <path>|--markdown <text>] [--expected-revision <n>] [--change-summary <text>]\n corvio docs move <id> --parent-node-id <id>\n corvio docs archive <id> --yes\n corvio docs restore <id> --yes\n corvio docs share <id> --yes [--display-name <name>]\n corvio docs open <id>\n\nUse \`docs read --mode auto\` first for a small full body or a large-document overview, then read an exact section or line range. Use \`docs patch\` when the host already knows 1-20 exact L# replacements; it preserves untouched lines and returns a compact verified delta. A selected Markdown file can become an editable Page without resending the body through the model. Use direct \`docs create\` only when one Page and its durable owner are already decision-ready; when the exact standalone body, Page carrier, and root position are fixed, skip owner discovery because it cannot change the write. If the Host just composed Markdown for future use but its owner, Work Model structure, Memory, or Skill outcome remains semantic, use one \`corvio ask --allow-actions --inline-material-file <path>\` before any durable write; never follow direct create with an automatic cleanup Question. A rejected, blocked, or failed inline-material Question still has an unresolved owner and is not permission to fall back to \`docs create\` without a later independent user decision. Use \`docs update\` only when whole-body replacement is the smallest faithful change. Delegate document-wide judgment, cross-source synthesis, structure/formatting interpretation, and typed Spreadsheet, Presentation, Code, or HTML work to \`corvio ask --allow-actions\`. A Project is a structure container; body writes fail with project_structure_container_body_write_disabled, while a title-only Project rename remains valid. Projects stay at the Workspace root and cannot be nested; use \`files organize\` or \`ask --allow-actions\` for Work Model maintenance. Use table-read plus table-mutate for bounded stable-ID cell updates or row appends. Agent-authenticated document changes require --change-summary and create a visible document-level comment after the guarded update. When a document/comment is the task owner, use \`corvio agent closeout\` to return verified work to that same collaboration surface and read it back.`,
|
|
210
210
|
projects: `Usage:\n corvio projects list [--limit <n>]\n corvio projects create --title <title> [--idempotency-key <key>]\n\nProjects are durable root-level grouping owners in the Corvio Docs tree and cannot be nested under another Project. Reuse a matching Project instead of creating one ceremonial Project per file; use semantic branch Pages and leaves for deeper Work Models. 'corvio folders' is an alias.`,
|
|
211
211
|
files: `Usage:\n corvio files list [--limit <n>]\n corvio files get <id> [--content]\n corvio files download <id> [--output <path>]\n corvio files upload --file <path> [--mime-type <type>] [--organize --instruction <text> --additional-asset-ids <id,id> --yes] [--wait-until-terminal] [--timeout-seconds <1-7200>]\n corvio files organize <id> --instruction <text> --yes [--additional-asset-ids <id,id>] [--target-root-node-id <project-node-id>] [--processing-profile auto|economy|standard|deep] [--scan-mode auto|always|off] [--skills-extraction-mode auto|always|off] [--wait-until-terminal] [--timeout-seconds <1-7200>]\n corvio files operation <operation-id> [--wait-until-terminal] [--timeout-seconds <1-7200>]\n corvio files resume <operation-id> --yes [--wait-until-terminal] [--timeout-seconds <1-7200>]\n corvio files cancel <operation-id> --yes\n corvio files open <id>\n\nUse --content only when source facts are needed. It returns one bounded AI-safe projection with hash, completeness, and truncation receipts; it does not rewrite or materialize the original. Upload alone preserves the exact original, provenance, hash, policy, and stable Asset ID. Organization is a separate asynchronous value step: one coherent source set can produce reader-facing structure, source reconciliation, Memory candidates, and qualifying Project Skills. Pass --instruction a weak natural goal plus explicit user constraints and only authority facts needed to prevent wrong identity or scope. Keep source-derived facts in the source; do not precompute an outline, edit checklist, taxonomy, titles, artifact count, or sole leaf target from current visibility. A heterogeneous source may update several real Projects while its provenance carrier stays a standalone document; do not direct Corvio to make the source Page an umbrella Project. For a newly finalized Asset that should enter a Work Model or Skill evaluation, use one organize operation as the sole semantic owner; do not open ask before or after it for the same Asset set. --target-root-node-id is optional and accepts only a Project node_id returned by projects list, never a Page/document UUID or leaf node; omit it when the Project is not known. Use --wait-until-terminal when a filesystem-capable Host should keep deterministic polling inside this one foreground CLI invocation; --timeout-seconds is a local wait deadline, and reaching it returns the latest non-terminal receipt rather than claiming completion. Without that flag, 'files operation' remains an immediate read. Inspect terminal output_document plus skills_evaluation; evaluated_no_qualifying_skill is valid. Resume reuses the same durable operation after resolving its blocker; cancel is idempotent.`,
|
|
212
212
|
sync: `Usage:\n corvio sync init --root-node-id <id> [--dir <path>] [--name <name>]\n corvio sync status|plan|pull [--dir <path>]\n corvio sync push --yes [--dir <path>]\n corvio sync resolve --conflict-id <id> --strategy use-remote|keep-local --yes [--dir <path>]`,
|
|
@@ -217,9 +217,14 @@ function contextualHelp(command, action) {
|
|
|
217
217
|
const normalizedCommand = command === "workspace" ? "workspaces" : command === "folders" ? "projects" : command;
|
|
218
218
|
const baseCommandHelp = COMMAND_HELP[normalizedCommand];
|
|
219
219
|
if (!baseCommandHelp) return HELP.trimEnd();
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
220
|
+
let commandHelp = baseCommandHelp;
|
|
221
|
+
if (normalizedCommand === "docs") {
|
|
222
|
+
commandHelp = `${baseCommandHelp}\n\nDocument commands accept either a bare document ID or the canonical workspace_id/document_id handle returned by Corvio. A canonical handle that disagrees with the selected Workspace fails before any remote request. Document reads return canonical_id for direct reuse.`;
|
|
223
|
+
} else if (normalizedCommand === "ask") {
|
|
224
|
+
commandHelp = `${baseCommandHelp}\n\nFor one coherent authorized future-use outcome that combines original files with Host-generated Markdown, finalize the originals and make one allow-actions call with both --asset-ids (or --file) and --inline-material-file. The original remains an Asset, the Host result remains a typed inline resource, and this Question is the single semantic effect owner; do not run files organize before or after it for the same mixed packet.`;
|
|
225
|
+
} else if (normalizedCommand === "files") {
|
|
226
|
+
commandHelp = `${baseCommandHelp}\n\nThe one-organize rule applies to Asset-only Work Model intake. If the same coherent authorized outcome also includes Host-generated Markdown, use one corvio ask --allow-actions call with the finalized Asset IDs and --inline-material-file instead of splitting the packet across files organize and ask.`;
|
|
227
|
+
}
|
|
223
228
|
if (!action) return commandHelp;
|
|
224
229
|
const matchingLine = commandHelp
|
|
225
230
|
.split("\n")
|
|
@@ -1295,6 +1300,32 @@ async function ask(options, positionals) {
|
|
|
1295
1300
|
const assetIds = listOption(options, "asset-ids", []);
|
|
1296
1301
|
for (const asset of attachedAssets) assetIds.push(String(asset.id));
|
|
1297
1302
|
const uniqueAssetIds = [...new Set(assetIds.map((value) => String(value).trim()).filter(Boolean))];
|
|
1303
|
+
const inlineMaterials = [];
|
|
1304
|
+
if (options["inline-material-file"]) {
|
|
1305
|
+
const contentMarkdown = (await readTextFile(options["inline-material-file"])).trim();
|
|
1306
|
+
if (!contentMarkdown || contentMarkdown.length > MAX_MARKDOWN_CHARACTERS) {
|
|
1307
|
+
throw new CliError(
|
|
1308
|
+
`--inline-material-file must contain between 1 and ${MAX_MARKDOWN_CHARACTERS} Markdown characters.`,
|
|
1309
|
+
{ code: "inline_material_invalid" },
|
|
1310
|
+
);
|
|
1311
|
+
}
|
|
1312
|
+
const inlineMaterialTitle = String(
|
|
1313
|
+
options["inline-material-title"] || basename(String(options["inline-material-file"])),
|
|
1314
|
+
).trim();
|
|
1315
|
+
if (!inlineMaterialTitle || inlineMaterialTitle.length > 200) {
|
|
1316
|
+
throw new CliError("--inline-material-title must contain between 1 and 200 characters.", {
|
|
1317
|
+
code: "inline_material_title_invalid",
|
|
1318
|
+
});
|
|
1319
|
+
}
|
|
1320
|
+
inlineMaterials.push({
|
|
1321
|
+
title: inlineMaterialTitle,
|
|
1322
|
+
content_markdown: contentMarkdown,
|
|
1323
|
+
});
|
|
1324
|
+
} else if (options["inline-material-title"]) {
|
|
1325
|
+
throw new CliError("--inline-material-title requires --inline-material-file.", {
|
|
1326
|
+
code: "inline_material_file_required",
|
|
1327
|
+
});
|
|
1328
|
+
}
|
|
1298
1329
|
let result;
|
|
1299
1330
|
try {
|
|
1300
1331
|
result = await api.request(options.background ? "/question-operations" : "/questions", {
|
|
@@ -1307,6 +1338,7 @@ async function ask(options, positionals) {
|
|
|
1307
1338
|
prompt,
|
|
1308
1339
|
conversation_id: options["conversation-id"] || null,
|
|
1309
1340
|
asset_ids: uniqueAssetIds,
|
|
1341
|
+
inline_materials: inlineMaterials,
|
|
1310
1342
|
mode: options["allow-actions"] ? "allow_actions" : "answer_only",
|
|
1311
1343
|
sources: listOption(options, "sources", ["workspace", "web", "memory"]),
|
|
1312
1344
|
processing_profile: processingProfile,
|