mirror of
https://github.com/stablyai/orca.git
synced 2026-10-30 16:47:34 +00:00
* Let automations pass extra agent arguments on each run Automations could only use the host's default agent Arguments, so a per-automation choice such as a different model needed a settings change that affected every run. Automations can now save extra arguments that are appended to the host's defaults on each fresh run. Extras are allowlisted to model, effort, and Claude's --add-dir, and are refused for permission, config, prompt, and session options. - Add the field through the CLI (`automations create/edit --extra-agent-args`), the RPC contract, the automation store, and the editor's Advanced section, with validation at save and at launch. - Merge extras over the defaults by replacing a model or effort option the defaults already set, then re-tokenize to confirm the launch argv matches what was validated. - Gate writes behind a new runtime capability, and refuse to save or migrate extras to a host that would silently drop them. - Require a fresh session, since reused sessions cannot take new arguments. * Simplify automation argument validation and launch handling * improve the extra args display * fix translation * Validate automation extra args during ORCA migration Dormant automations imported from the migration manifest skipped the extra-args check. A disallowed flag, or Reuse combined with extra args, could persist and then fail every later run. The manifest parser now rejects those rows. Also move the automation runtime capability constants into `automation-runtime-capabilities.ts`. `protocol-version.ts` re-exports them, so existing imports keep working. * add more demo with effort
27 lines
1.4 KiB
TypeScript
27 lines
1.4 KiB
TypeScript
// Older hosts drop automation.list's selector and return every host's rows.
|
|
export const AUTOMATION_LIST_HOST_SCOPE_RUNTIME_CAPABILITY =
|
|
'automation.list-host-scope.v1' as const
|
|
export const AUTOMATION_LIST_HOST_SCOPE_UPDATE_REQUIRED_MESSAGE =
|
|
'Filtering automations by host requires a newer Orca server. Update the HUB and try again.'
|
|
// Owner preconditions prevent mutations against a host the user never saw.
|
|
export const AUTOMATION_OWNER_FENCING_RUNTIME_CAPABILITY = 'automation.owner-fencing.v1' as const
|
|
export const AUTOMATION_OWNER_FENCING_UPDATE_REQUIRED_MESSAGE =
|
|
'Editing automations on this host requires a newer Orca server. Update the HUB and try again.'
|
|
export const AUTOMATION_CREATE_IDEMPOTENCY_RUNTIME_CAPABILITY =
|
|
'automation.create-idempotency.v1' as const
|
|
// Older hosts strip extraAgentArgs and would run without the user's arguments.
|
|
export const AUTOMATION_EXTRA_AGENT_ARGS_RUNTIME_CAPABILITY =
|
|
'automations.extra-agent-args.v1' as const
|
|
|
|
export const AUTOMATION_RUNTIME_CAPABILITIES = [
|
|
AUTOMATION_LIST_HOST_SCOPE_RUNTIME_CAPABILITY,
|
|
AUTOMATION_OWNER_FENCING_RUNTIME_CAPABILITY,
|
|
AUTOMATION_CREATE_IDEMPOTENCY_RUNTIME_CAPABILITY,
|
|
AUTOMATION_EXTRA_AGENT_ARGS_RUNTIME_CAPABILITY
|
|
] as const
|
|
|
|
export const AUTOMATION_RUNTIME_CLIENT_CAPABILITIES = [
|
|
AUTOMATION_OWNER_FENCING_RUNTIME_CAPABILITY,
|
|
AUTOMATION_CREATE_IDEMPOTENCY_RUNTIME_CAPABILITY
|
|
] as const
|