replicas-cli 0.3.273 → 0.3.275
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.cjs +76 -53
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -16938,6 +16938,62 @@ var init_pr_footer = __esm({
|
|
|
16938
16938
|
}
|
|
16939
16939
|
});
|
|
16940
16940
|
|
|
16941
|
+
// ../shared/src/routes/linear.ts
|
|
16942
|
+
var linearSessionMetadataSchema, LINEAR_WORKFLOW_STATE_TYPES;
|
|
16943
|
+
var init_linear = __esm({
|
|
16944
|
+
"../shared/src/routes/linear.ts"() {
|
|
16945
|
+
"use strict";
|
|
16946
|
+
init_zod();
|
|
16947
|
+
init_agent();
|
|
16948
|
+
linearSessionMetadataSchema = external_exports.object({
|
|
16949
|
+
via_mothership: external_exports.boolean().optional(),
|
|
16950
|
+
attached: external_exports.boolean().optional(),
|
|
16951
|
+
issue_id: external_exports.string(),
|
|
16952
|
+
issue_identifier: external_exports.string(),
|
|
16953
|
+
issue_title: external_exports.string(),
|
|
16954
|
+
issue_description: external_exports.string(),
|
|
16955
|
+
issue_url: external_exports.string(),
|
|
16956
|
+
comment_id: external_exports.string(),
|
|
16957
|
+
comment_body: external_exports.string(),
|
|
16958
|
+
triggered_by_id: external_exports.string().optional(),
|
|
16959
|
+
triggered_by_name: external_exports.string().optional(),
|
|
16960
|
+
triggered_by_email: external_exports.string().optional(),
|
|
16961
|
+
linear_workspace_id: external_exports.string().optional(),
|
|
16962
|
+
creator_id: external_exports.string().optional(),
|
|
16963
|
+
creator_name: external_exports.string().optional(),
|
|
16964
|
+
creator_email: external_exports.string().optional(),
|
|
16965
|
+
assignee_id: external_exports.string().optional(),
|
|
16966
|
+
assignee_name: external_exports.string().optional(),
|
|
16967
|
+
assignee_email: external_exports.string().optional(),
|
|
16968
|
+
issue_state: external_exports.string().optional(),
|
|
16969
|
+
parent_issue: external_exports.object({
|
|
16970
|
+
id: external_exports.string(),
|
|
16971
|
+
identifier: external_exports.string(),
|
|
16972
|
+
title: external_exports.string(),
|
|
16973
|
+
description: external_exports.string().nullable()
|
|
16974
|
+
}).optional(),
|
|
16975
|
+
workspace: external_exports.object({
|
|
16976
|
+
id: external_exports.string(),
|
|
16977
|
+
coding_agent: external_exports.custom((value) => typeof value === "string" && isValidAgentProvider(value)),
|
|
16978
|
+
task_description: external_exports.string(),
|
|
16979
|
+
created_at: external_exports.string()
|
|
16980
|
+
}).optional()
|
|
16981
|
+
});
|
|
16982
|
+
LINEAR_WORKFLOW_STATE_TYPES = ["triage", "backlog", "unstarted", "started", "completed", "canceled", "duplicate"];
|
|
16983
|
+
}
|
|
16984
|
+
});
|
|
16985
|
+
|
|
16986
|
+
// ../shared/src/automations/linear/index.ts
|
|
16987
|
+
var LINEAR_ISSUE_STATE_CHANGED_EVENT, LINEAR_STATE_TYPES;
|
|
16988
|
+
var init_linear2 = __esm({
|
|
16989
|
+
"../shared/src/automations/linear/index.ts"() {
|
|
16990
|
+
"use strict";
|
|
16991
|
+
init_linear();
|
|
16992
|
+
LINEAR_ISSUE_STATE_CHANGED_EVENT = "issue.state_changed";
|
|
16993
|
+
LINEAR_STATE_TYPES = LINEAR_WORKFLOW_STATE_TYPES.filter((type) => type !== "duplicate");
|
|
16994
|
+
}
|
|
16995
|
+
});
|
|
16996
|
+
|
|
16941
16997
|
// ../shared/src/uuid.ts
|
|
16942
16998
|
var UUID_RE;
|
|
16943
16999
|
var init_uuid = __esm({
|
|
@@ -16999,13 +17055,14 @@ function getReviewerLoginsError(event, logins) {
|
|
|
16999
17055
|
if (isReviewRequested === !!logins?.some((login) => login.trim().replace(/^@+/, ""))) return null;
|
|
17000
17056
|
return isReviewRequested ? "The PR review requested trigger needs at least one GitHub username" : "Requested reviewers only apply to the PR review requested trigger";
|
|
17001
17057
|
}
|
|
17002
|
-
var repositoryTriggerConfigSchema, cronTriggerSchema, githubTriggerSchema, gitlabTriggerSchema, automationTriggerSchema;
|
|
17058
|
+
var repositoryTriggerConfigSchema, cronTriggerSchema, githubTriggerSchema, gitlabTriggerSchema, linearTriggerConfigSchema, automationTriggerSchema;
|
|
17003
17059
|
var init_trigger_schemas = __esm({
|
|
17004
17060
|
"../shared/src/automations/trigger-schemas.ts"() {
|
|
17005
17061
|
"use strict";
|
|
17006
17062
|
init_zod();
|
|
17007
17063
|
init_uuid();
|
|
17008
17064
|
init_github();
|
|
17065
|
+
init_linear2();
|
|
17009
17066
|
repositoryTriggerConfigSchema = external_exports.object({
|
|
17010
17067
|
event: external_exports.string(),
|
|
17011
17068
|
repository_ids: external_exports.array(external_exports.string().regex(UUID_RE, "must be a repository id")).optional(),
|
|
@@ -17022,12 +17079,14 @@ var init_trigger_schemas = __esm({
|
|
|
17022
17079
|
})
|
|
17023
17080
|
});
|
|
17024
17081
|
gitlabTriggerSchema = external_exports.object({ type: external_exports.literal("gitlab"), config: repositoryTriggerConfigSchema });
|
|
17082
|
+
linearTriggerConfigSchema = external_exports.object({ event: external_exports.string(), team_ids: external_exports.array(external_exports.string()).optional(), state_types: external_exports.array(external_exports.enum(LINEAR_STATE_TYPES)).optional() });
|
|
17025
17083
|
automationTriggerSchema = external_exports.discriminatedUnion("type", [
|
|
17026
17084
|
cronTriggerSchema,
|
|
17027
17085
|
githubTriggerSchema,
|
|
17028
17086
|
gitlabTriggerSchema,
|
|
17029
17087
|
external_exports.object({ type: external_exports.literal("slack"), config: external_exports.object({ event: external_exports.string(), channel_ids: external_exports.array(external_exports.string()).optional(), group_thread_replies: external_exports.boolean().optional() }) }),
|
|
17030
17088
|
external_exports.object({ type: external_exports.literal("sentry"), config: external_exports.object({ event: external_exports.string(), project_slugs: external_exports.array(external_exports.string()).optional(), min_level: external_exports.string().optional() }) }),
|
|
17089
|
+
external_exports.object({ type: external_exports.literal("linear"), config: linearTriggerConfigSchema }),
|
|
17031
17090
|
external_exports.object({ type: external_exports.literal("custom"), config: external_exports.object({}) })
|
|
17032
17091
|
]);
|
|
17033
17092
|
}
|
|
@@ -17301,6 +17360,7 @@ var init_replicas_mcp = __esm({
|
|
|
17301
17360
|
"use strict";
|
|
17302
17361
|
init_zod();
|
|
17303
17362
|
init_agent();
|
|
17363
|
+
init_linear2();
|
|
17304
17364
|
init_trigger_schemas();
|
|
17305
17365
|
init_types5();
|
|
17306
17366
|
init_chat_fork();
|
|
@@ -17325,6 +17385,7 @@ var init_replicas_mcp = __esm({
|
|
|
17325
17385
|
setSlackAgentDefaults: "set_slack_agent_defaults",
|
|
17326
17386
|
claimSettingsOffer: "claim_settings_offer",
|
|
17327
17387
|
setThreadMuted: "set_thread_muted",
|
|
17388
|
+
setSlackConnectMuted: "set_slack_connect_muted",
|
|
17328
17389
|
spawnSubagent: "spawn_subagent",
|
|
17329
17390
|
messageSubagent: "message_subagent",
|
|
17330
17391
|
listSubagents: "list_subagents",
|
|
@@ -17357,7 +17418,7 @@ var init_replicas_mcp = __esm({
|
|
|
17357
17418
|
prompt: external_exports.string().describe("Prompt each automation run starts with."),
|
|
17358
17419
|
environment_id: external_exports.string().describe(`Environment id from \`${REPLICAS_MCP_TOOLS.listEnvironments}\`.`),
|
|
17359
17420
|
triggers: external_exports.array(automationTriggerSchema).min(1).describe(
|
|
17360
|
-
|
|
17421
|
+
`One or more triggers. Cron: \`{ "type": "cron", "config": { "schedule": "0 9 * * 1", "timezone": "America/New_York" } }\`. GitHub: \`{ "type": "github", "config": { "event": "pull_request.opened", "repository_ids": ["<repository uuid>"] } }\`. Linear: \`{ "type": "linear", "config": { "event": "${LINEAR_ISSUE_STATE_CHANGED_EVENT}", "state_types": ["completed"] } }\`.`
|
|
17361
17422
|
),
|
|
17362
17423
|
description: external_exports.string().optional().describe("One-line summary shown in the dashboard."),
|
|
17363
17424
|
plan_mode: external_exports.boolean().optional(),
|
|
@@ -18663,7 +18724,7 @@ replicas gpu delete
|
|
|
18663
18724
|
|
|
18664
18725
|
// ../shared/src/default-skills/replicas-agent/abilities/linear.ts
|
|
18665
18726
|
var SECTION7, REFERENCE7, LINEAR_ABILITY;
|
|
18666
|
-
var
|
|
18727
|
+
var init_linear3 = __esm({
|
|
18667
18728
|
"../shared/src/default-skills/replicas-agent/abilities/linear.ts"() {
|
|
18668
18729
|
"use strict";
|
|
18669
18730
|
SECTION7 = `### Linear
|
|
@@ -20333,7 +20394,7 @@ var init_registry = __esm({
|
|
|
20333
20394
|
init_github2();
|
|
20334
20395
|
init_gitlab();
|
|
20335
20396
|
init_gpu();
|
|
20336
|
-
|
|
20397
|
+
init_linear3();
|
|
20337
20398
|
init_media();
|
|
20338
20399
|
init_previews();
|
|
20339
20400
|
init_plugins();
|
|
@@ -31630,7 +31691,7 @@ var CLI_VERSION;
|
|
|
31630
31691
|
var init_cli_version = __esm({
|
|
31631
31692
|
"../shared/src/cli-version.ts"() {
|
|
31632
31693
|
"use strict";
|
|
31633
|
-
CLI_VERSION = "0.3.
|
|
31694
|
+
CLI_VERSION = "0.3.274";
|
|
31634
31695
|
}
|
|
31635
31696
|
});
|
|
31636
31697
|
|
|
@@ -31860,50 +31921,6 @@ var init_external_accounts = __esm({
|
|
|
31860
31921
|
}
|
|
31861
31922
|
});
|
|
31862
31923
|
|
|
31863
|
-
// ../shared/src/routes/linear.ts
|
|
31864
|
-
var linearSessionMetadataSchema;
|
|
31865
|
-
var init_linear2 = __esm({
|
|
31866
|
-
"../shared/src/routes/linear.ts"() {
|
|
31867
|
-
"use strict";
|
|
31868
|
-
init_zod();
|
|
31869
|
-
init_agent();
|
|
31870
|
-
linearSessionMetadataSchema = external_exports.object({
|
|
31871
|
-
via_mothership: external_exports.boolean().optional(),
|
|
31872
|
-
attached: external_exports.boolean().optional(),
|
|
31873
|
-
issue_id: external_exports.string(),
|
|
31874
|
-
issue_identifier: external_exports.string(),
|
|
31875
|
-
issue_title: external_exports.string(),
|
|
31876
|
-
issue_description: external_exports.string(),
|
|
31877
|
-
issue_url: external_exports.string(),
|
|
31878
|
-
comment_id: external_exports.string(),
|
|
31879
|
-
comment_body: external_exports.string(),
|
|
31880
|
-
triggered_by_id: external_exports.string().optional(),
|
|
31881
|
-
triggered_by_name: external_exports.string().optional(),
|
|
31882
|
-
triggered_by_email: external_exports.string().optional(),
|
|
31883
|
-
linear_workspace_id: external_exports.string().optional(),
|
|
31884
|
-
creator_id: external_exports.string().optional(),
|
|
31885
|
-
creator_name: external_exports.string().optional(),
|
|
31886
|
-
creator_email: external_exports.string().optional(),
|
|
31887
|
-
assignee_id: external_exports.string().optional(),
|
|
31888
|
-
assignee_name: external_exports.string().optional(),
|
|
31889
|
-
assignee_email: external_exports.string().optional(),
|
|
31890
|
-
issue_state: external_exports.string().optional(),
|
|
31891
|
-
parent_issue: external_exports.object({
|
|
31892
|
-
id: external_exports.string(),
|
|
31893
|
-
identifier: external_exports.string(),
|
|
31894
|
-
title: external_exports.string(),
|
|
31895
|
-
description: external_exports.string().nullable()
|
|
31896
|
-
}).optional(),
|
|
31897
|
-
workspace: external_exports.object({
|
|
31898
|
-
id: external_exports.string(),
|
|
31899
|
-
coding_agent: external_exports.custom((value) => typeof value === "string" && isValidAgentProvider(value)),
|
|
31900
|
-
task_description: external_exports.string(),
|
|
31901
|
-
created_at: external_exports.string()
|
|
31902
|
-
}).optional()
|
|
31903
|
-
});
|
|
31904
|
-
}
|
|
31905
|
-
});
|
|
31906
|
-
|
|
31907
31924
|
// ../shared/src/routes/slack.ts
|
|
31908
31925
|
var init_slack2 = __esm({
|
|
31909
31926
|
"../shared/src/routes/slack.ts"() {
|
|
@@ -31912,7 +31929,7 @@ var init_slack2 = __esm({
|
|
|
31912
31929
|
});
|
|
31913
31930
|
|
|
31914
31931
|
// ../shared/src/routes/scout.ts
|
|
31915
|
-
var SCOUT_LINEAR_ACTIONS, scoutLinearSessionIntentRequestSchema, scoutLinearStartRequestSchema, slackChannelIdSchema, slackThreadTsSchema, scoutSlackSpawnRequestSchema, scoutSlackSpawnInNewThreadRequestSchema, scoutSlackRelayRequestSchema, scoutSlackSetThreadMutedRequestSchema, scoutListWorkspacesRequestSchema, scoutSlackConfirmationSchema, scoutAutomationToolInputSchema, scoutSaveChannelPresetToolInputSchema, scoutUpdateChannelSettingsToolInputSchema, scoutSetOrganizationProactivityToolInputSchema, scoutDeleteChannelPresetToolInputSchema, RESET_TO_DEFAULT, resettable, scoutSetSlackAgentDefaultsToolInputSchema, scoutClaimSettingsOfferToolInputSchema;
|
|
31932
|
+
var SCOUT_LINEAR_ACTIONS, scoutLinearSessionIntentRequestSchema, scoutLinearStartRequestSchema, slackChannelIdSchema, slackThreadTsSchema, scoutSlackSpawnRequestSchema, scoutSlackSpawnInNewThreadRequestSchema, scoutSlackRelayRequestSchema, scoutSlackSetThreadMutedRequestSchema, scoutListWorkspacesRequestSchema, scoutSlackConfirmationSchema, scoutAutomationToolInputSchema, scoutSaveChannelPresetToolInputSchema, scoutUpdateChannelSettingsToolInputSchema, scoutSetSlackConnectMutedToolInputSchema, scoutSetOrganizationProactivityToolInputSchema, scoutDeleteChannelPresetToolInputSchema, RESET_TO_DEFAULT, resettable, scoutSetSlackAgentDefaultsToolInputSchema, scoutClaimSettingsOfferToolInputSchema;
|
|
31916
31933
|
var init_scout2 = __esm({
|
|
31917
31934
|
"../shared/src/routes/scout.ts"() {
|
|
31918
31935
|
"use strict";
|
|
@@ -31988,7 +32005,11 @@ var init_scout2 = __esm({
|
|
|
31988
32005
|
monitored: external_exports.boolean().optional().describe("Linear: `true` starts monitoring the team (organization admins only), `false` stops. Slack: kept for older callers; prefer `proactivity`. `false` means `tagged`, and `true` lifts a `tagged` channel back to the organization's level. Omit to keep it."),
|
|
31989
32006
|
preset_id: external_exports.string().nullable().optional().describe("Preset to assign; `null` removes the preset. Omit to keep it."),
|
|
31990
32007
|
instructions: external_exports.string().nullable().optional().describe("Complete channel-specific instructions, applied after the preset; replaces the existing text. `null` clears them. Omit to keep them."),
|
|
31991
|
-
proactivity: external_exports.enum([...SCOUT_PROACTIVITY_LEVELS, "organization"]).optional().describe("Slack only: this channel's or group DM's own level, overriding the organization's here alone. `organization` makes it follow the organization's level again. Omit to keep it. 1:1 DMs are always addressed to Replicas, so they take no level.")
|
|
32008
|
+
proactivity: external_exports.enum([...SCOUT_PROACTIVITY_LEVELS, "organization"]).optional().describe("Slack only: this channel's or group DM's own level, overriding the organization's here alone. `organization` makes it follow the organization's level again. Omit to keep it. 1:1 DMs are always addressed to Replicas, so they take no level."),
|
|
32009
|
+
muted: external_exports.enum(["on", "off", "default"]).optional().describe(`Slack only, organization admins only: \`on\` mutes Replicas in this channel, \`off\` unmutes it here, \`default\` follows the Slack Connect default from \`${REPLICAS_MCP_TOOLS.setSlackConnectMuted}\`. Omit to keep it.`)
|
|
32010
|
+
});
|
|
32011
|
+
scoutSetSlackConnectMutedToolInputSchema = scoutSlackConfirmationSchema.extend({
|
|
32012
|
+
muted: external_exports.boolean().describe("`true` mutes Replicas in every Slack Connect channel without its own setting; `false` lets them follow their levels again.")
|
|
31992
32013
|
});
|
|
31993
32014
|
scoutSetOrganizationProactivityToolInputSchema = scoutSlackConfirmationSchema.extend({
|
|
31994
32015
|
proactivity: external_exports.enum(SCOUT_PROACTIVITY_LEVELS).describe("The level every Slack channel and group DM follows unless it has its own. Slack Connect channels without their own level stay `tagged`.")
|
|
@@ -41922,6 +41943,7 @@ var init_registry2 = __esm({
|
|
|
41922
41943
|
init_gitlab3();
|
|
41923
41944
|
init_slack3();
|
|
41924
41945
|
init_sentry3();
|
|
41946
|
+
init_linear2();
|
|
41925
41947
|
init_custom();
|
|
41926
41948
|
}
|
|
41927
41949
|
});
|
|
@@ -41941,6 +41963,7 @@ var init_automations = __esm({
|
|
|
41941
41963
|
init_cron();
|
|
41942
41964
|
init_slack3();
|
|
41943
41965
|
init_sentry3();
|
|
41966
|
+
init_linear2();
|
|
41944
41967
|
init_custom();
|
|
41945
41968
|
init_trigger_schemas();
|
|
41946
41969
|
}
|
|
@@ -42358,7 +42381,7 @@ var init_src = __esm({
|
|
|
42358
42381
|
init_gitlab2();
|
|
42359
42382
|
init_integrations();
|
|
42360
42383
|
init_external_accounts();
|
|
42361
|
-
|
|
42384
|
+
init_linear();
|
|
42362
42385
|
init_slack2();
|
|
42363
42386
|
init_scout2();
|
|
42364
42387
|
init_plugins2();
|
|
@@ -48749,7 +48772,7 @@ var init_src2 = __esm({
|
|
|
48749
48772
|
credentials.command("remove <service>").description("Remove stored credentials for a service (also claude, codex, muse subscriptions)").option("-o, --org", "Organization credentials instead of personal").action(run(credentialsRemoveCommand));
|
|
48750
48773
|
credentials.command("usage").description("Show how much of each connected Claude and ChatGPT subscription's 5-hour and weekly limits is used (personal and organization by default)").addOption(new import_commander.Option("-o, --org", "Only organization subscriptions").conflicts("user")).option("-u, --user", "Only your personal subscriptions").action(run(credentialsUsageCommand));
|
|
48751
48774
|
automation = program.command("automation").alias("auto").description("Manage automations");
|
|
48752
|
-
automation.command("list").description("List all automations").option("-p, --page <page>", "Page number").option("-l, --limit <limit>", "Number of items per page").option("--owner <owner>", "Ownership filter: org, user, all").option("--trigger-type <type>", "Only automations with a trigger of this type (cron, github, gitlab, slack, sentry, custom)").option("--enabled <enabled>", "Only enabled or disabled automations (true/false)").option("--search <search>", "Case-insensitive substring match on the name").option("--background <background>", "Only background (true) or main-list (false) automations").action(run(automationListCommand));
|
|
48775
|
+
automation.command("list").description("List all automations").option("-p, --page <page>", "Page number").option("-l, --limit <limit>", "Number of items per page").option("--owner <owner>", "Ownership filter: org, user, all").option("--trigger-type <type>", "Only automations with a trigger of this type (cron, github, gitlab, slack, sentry, linear, custom)").option("--enabled <enabled>", "Only enabled or disabled automations (true/false)").option("--search <search>", "Case-insensitive substring match on the name").option("--background <background>", "Only background (true) or main-list (false) automations").action(run(automationListCommand));
|
|
48753
48776
|
automation.command("get <id>").description("Get automation details by ID").action(run(automationGetCommand));
|
|
48754
48777
|
automation.command("create [name]").description("Create a new automation").option("-p, --prompt <prompt>", "Prompt for the automation").option("-d, --description <description>", "Description shown with the automation").option("-e, --environment <environment>", "Environment name or ID").option("--size <size>", "Size of workspaces runs create (not a reused existing one): small (default), large, ultra").option("--trigger-cron <schedule>", 'Cron schedule expression, e.g. "0 9 * * 1-5" (repeatable)', collect, []).option("--trigger-cron-timezone <timezone>", "Timezone for cron schedules (default: UTC)").option("--trigger-github <event>", 'GitHub event, e.g. "pull_request.opened" (repeatable)', collect, []).option("--trigger-github-repos <repos>", "Comma-separated repo names to filter GitHub trigger").option("--trigger-github-exclude-users <users>", "Comma-separated GitHub usernames to exclude from triggering (pass empty string to clear the list)").option("--trigger-github-reviewers <users>", "Comma-separated GitHub usernames to fire for (required with pull_request.review_requested)").option("--trigger-gitlab <event>", 'GitLab event, e.g. "merge_request.opened" (repeatable)', collect, []).option("--trigger-gitlab-repos <repos>", "Comma-separated repo names to filter GitLab trigger").option("--trigger-gitlab-exclude-users <users>", "Comma-separated GitLab usernames to exclude from triggering (pass empty string to clear the list)").option("--github-checks <names>", "Comma-separated GitHub check names to create on matching PRs (requires a PR opened/updated trigger)").option("--lifecycle <policy>", "Workspace lifecycle: delete_when_done (default for new automations), sleep_when_done, archive_when_done, default").option("--sleep-when-done", "Sleep automation workspaces as soon as the agent finishes").option("--auto-stop-minutes <minutes>", "Inactivity timeout in minutes (3-1440, requires --lifecycle default)").option("--pr-followups", "Allow follow-up actions on matching PRs").option("--agent-provider <provider>", 'Coding agent to use: claude, codex, cursor (or "none" to inherit org default)').option("--model <model>", 'Model identifier (must be valid for --agent-provider; pass "none" to clear)').option("--thinking-level <level>", 'Thinking/reasoning level: low, medium, high, xhigh, max (or "none" to clear)').option("--plan-mode", "Run automation messages in plan mode").option("--goal-mode", "Set automation messages as goals").option("--fast-mode", "Run automation messages in fast mode").option("--personal", "Create a personal automation owned by the authenticated user").option("--in <duration>", "Run once after this long, e.g. 30m, 2h, 3d, 1w (inside a workspace, defaults --workspace to current)").option("--at <datetime>", "Run once at this ISO-8601 time with timezone, e.g. 2026-10-08T09:00:00-07:00").option("--max-runs <n>", 'Delete the automation after this many runs ("none" for unlimited)').option("--workspace <target>", "Where runs go: new (default, new workspace each run), reuse (one workspace created on the first run), current (this workspace), or a workspace ID").option("--background", "Keep it out of the main automations list (for offhand follow-ups)").option("--disabled", "Create in disabled state").action(run((name, options) => automationCreateCommand(name, { ...options, enabled: !options.disabled })));
|
|
48755
48778
|
automation.command("edit <id>").description("Edit an existing automation").option("-n, --name <name>", "New name").option("-p, --prompt <prompt>", "New prompt").option("-d, --description <description>", "New description (pass empty string to clear)").option("--size <size>", "Size of workspaces runs create (not a reused existing one): small, large, ultra").option("--enabled <enabled>", "Enable or disable (true/false)").option("--trigger-cron <schedule>", "Set cron schedule (repeatable; replaces existing triggers unless --keep-triggers)", collect, []).option("--trigger-cron-timezone <timezone>", "Timezone for cron schedules").option("--trigger-github <event>", "Set GitHub event (repeatable; replaces existing triggers unless --keep-triggers)", collect, []).option("--trigger-github-repos <repos>", "Comma-separated repo names to filter GitHub trigger").option("--trigger-github-exclude-users <users>", "Comma-separated GitHub usernames to exclude from triggering (pass empty string to clear the list)").option("--trigger-github-reviewers <users>", "Comma-separated GitHub usernames to fire for (required with pull_request.review_requested)").option("--trigger-gitlab <event>", "Set GitLab event (repeatable; replaces existing triggers unless --keep-triggers)", collect, []).option("--trigger-gitlab-repos <repos>", "Comma-separated repo names to filter GitLab trigger").option("--trigger-gitlab-exclude-users <users>", "Comma-separated GitLab usernames to exclude from triggering (pass empty string to clear the list)").option("--keep-triggers", "Add the --trigger-cron, --trigger-github, --trigger-gitlab, --in or --at triggers to the existing ones instead of replacing them").option("--github-checks <names>", "Comma-separated GitHub check names to create on matching PRs (replaces the current list; pass empty string to remove them)").option("--add-github-checks <names>", "Comma-separated GitHub check names to add, keeping the ones already configured").option("--environment <environment>", "Environment name or ID").option("--lifecycle <policy>", "Workspace lifecycle: delete_when_done (default for new automations), sleep_when_done, archive_when_done, default").option("--sleep-when-done", "Sleep automation workspaces as soon as the agent finishes").option("--auto-stop-minutes <minutes>", "Inactivity timeout in minutes (3-1440, requires --lifecycle default)").option("--pr-followups <enabled>", "Allow follow-up actions on matching PRs (true/false)", parseBooleanOption).option("--agent-provider <provider>", 'Coding agent to use: claude, codex, cursor (or "none" to inherit org default)').option("--model <model>", 'Model identifier (must be valid for --agent-provider; pass "none" to clear)').option("--thinking-level <level>", 'Thinking/reasoning level: low, medium, high, xhigh, max (or "none" to clear)').option("--plan-mode <enabled>", "Run automation messages in plan mode (true/false)", parseBooleanOption).option("--goal-mode <enabled>", "Set automation messages as goals (true/false)", parseBooleanOption).option("--fast-mode <enabled>", "Run automation messages in fast mode (true/false)", parseBooleanOption).option("--in <duration>", "Replace triggers with a one-time run after this long, e.g. 30m, 2h, 3d, 1w").option("--at <datetime>", "Replace triggers with a one-time run at this ISO-8601 time with timezone").option("--max-runs <n>", 'Delete the automation after this many runs in total ("none" for unlimited)').option("--workspace <target>", "Where runs go: new, reuse, current, or a workspace ID").option("--background <enabled>", "Keep it out of the main automations list (true/false)", parseBooleanOption).option("--move-to-org", "Move a personal automation to the organization so teammates can see and edit it (cannot be undone)").action(run(automationEditCommand));
|