orca/src/cli
Jinjing 5b377a9c0f Gate artifact publishing behind off-by-default capability (#13368)
* fix(artifacts): gate agent artifact publishing behind an off-by-default capability

Public artifact sharing was reachable by any agent through `orca artifacts
share`: the Artifacts settings toggle only controlled sidebar visibility, and
nothing in the main process checked a capability before minting a public URL.

Add `artifactSharingEnabled` (default off) and enforce it in
ArtifactCloudService.share/update — before auth, network, or the share-record
write — so the CLI, relay-forwarded remote CLI, and IPC paths are all denied.
The denial carries a stable `artifact_sharing_disabled` code plus next steps
through the RPC error allowlist, so the CLI prints actionable guidance.

list, unshare, and delete stay ungated: turning publishing off must not strand
already-published links. The capability is absent from the `settings.update`
RPC schema, so an agent cannot grant it to itself — only the desktop UI can.

Co-authored-by: Orca <help@stably.ai>

* fix(artifacts): gate agent artifact publishing behind an off-by-default

Publishing is blocked until enabled in Settings → Artifacts. CLI preflights the capability before reading files to avoid unnecessary uploads. RPC surface rejects capability grants so callers cannot self-grant. UI shows opt-in workflow and recovery path when publishing is off. Web clients mirror the host's setting read-only.

---------

Co-authored-by: Orca <help@stably.ai>
2026-08-09 13:57:46 -07:00
..
handlers Gate artifact publishing behind off-by-default capability (#13368) 2026-08-09 13:57:46 -07:00
runtime fix(agent-hooks): resumed Claude Code session gets its sidebar agent row at SessionStart (STA-3386) (#12859) 2026-08-05 22:06:36 -07:00
specs Add account-backed artifact sharing (#13012) 2026-08-07 23:02:29 -07:00
agent-context.test.ts
agent-context.ts
args.test.ts feat(cli): add `orca account add` / `account list` for headless hosts (Claude + Codex) (#9177) 2026-07-30 12:50:07 -07:00
args.ts Add account-backed artifact sharing (#13012) 2026-08-07 23:02:29 -07:00
artifact-format.ts Add account-backed artifact sharing (#13012) 2026-08-07 23:02:29 -07:00
base64-payload-byte-count.test.ts
base64-payload-byte-count.ts
browser-format.ts fix(browser): add native-UA session profiles (#12608) 2026-08-04 19:07:23 -07:00
browser-handler-groups.ts perf(cli): load only the handler group a command dispatches into (#10883) 2026-07-27 01:01:25 -07:00
browser.test.ts fix(browser): add native-UA session profiles (#12608) 2026-08-04 19:07:23 -07:00
bundled-skill-guides.ts Gate artifact publishing behind off-by-default capability (#13368) 2026-08-09 13:57:46 -07:00
codex-command-classification.test.ts
codex-command-classification.ts
command-spec.ts fix(quality): enforce performance-safe lint baseline (#11074) 2026-07-27 20:54:02 -07:00
command-suggestion.test.ts
command-suggestion.ts fix(quality): enforce performance-safe lint baseline (#11074) 2026-07-27 20:54:02 -07:00
computer-format.ts Revert "fix(memory): bound OOM-prone accumulators (#10179)" (#10255) 2026-07-23 18:35:31 -07:00
dispatch.ts perf(cli): construct the runtime client only when a command needs it (#10919) 2026-07-27 17:16:01 -07:00
emulator-logcat-format.test.ts
emulator-logcat-format.ts
emulator-permissions-args.ts
flags.test.ts
flags.ts perf(cli): construct the runtime client only when a command needs it (#10919) 2026-07-27 17:16:01 -07:00
format-recovery.test.ts
format.test.ts Implement robust orchestration primitives and connected-server workers (#9925) 2026-07-27 12:31:37 -07:00
format.ts perf(cli): construct the runtime client only when a command needs it (#10919) 2026-07-27 17:16:01 -07:00
handler-group-manifest.test.ts perf(cli): load only the handler group a command dispatches into (#10883) 2026-07-27 01:01:25 -07:00
handler-group-manifest.ts Add account-backed artifact sharing (#13012) 2026-08-07 23:02:29 -07:00
help.ts Add account-backed artifact sharing (#13012) 2026-08-07 23:02:29 -07:00
index.test.ts Add account-backed artifact sharing (#13012) 2026-08-07 23:02:29 -07:00
index.ts Add account-backed artifact sharing (#13012) 2026-08-07 23:02:29 -07:00
linear-format.test.ts
linear-format.ts feat(linear): add MCP-style save issue (#9670) 2026-07-21 13:25:22 -07:00
linear-request-builders.ts Revert "fix(memory): bound OOM-prone accumulators (#10179)" (#10255) 2026-07-23 18:35:31 -07:00
linear-save-issue-request.ts feat(linear): add MCP-style save issue (#9670) 2026-07-21 13:25:22 -07:00
main-module-bundle-parity.test.ts Fix packaged skills CLI runtime ownership (#11627) 2026-07-30 18:27:16 -07:00
project-format.ts
registry-parity.test.ts
registry-parity.ts
repo-path-arguments.ts
runtime-client-deferral.test.ts perf(cli): construct the runtime client only when a command needs it (#10919) 2026-07-27 17:16:01 -07:00
runtime-client.test.ts fix(orchestration): preserve active workers across updates (#11271) 2026-07-29 11:31:35 -07:00
runtime-client.ts
selectors.ts chore: condense code comments (#12008) 2026-08-01 14:24:31 -07:00
serve-electron-flag-parity.test.ts fix(serve): recognize CLI-form serve args on the Electron process (#12818) 2026-08-06 23:56:34 -07:00
shell-command-quote.test.ts
shell-command-quote.ts
skills.test.ts fix(windows): stop rejecting .cmd spawns under Program Files (x86) (#11686) 2026-07-31 01:01:35 -07:00
terminal-format.test.ts fix(runtime): coalesce concurrent host terminal focus (#11841) 2026-08-03 02:18:05 -07:00
terminal-format.ts fix(runtime): coalesce concurrent host terminal focus (#11841) 2026-08-03 02:18:05 -07:00
test-fixtures.ts
vocabulary-policy.test.ts
vocabulary-policy.ts
workspace-format.ts fix(memory): clarify Resource Manager accounting (#10821) 2026-07-26 19:46:29 -07:00
worktree-project-target.ts