replicas-cli 0.3.69 → 0.3.70
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 +27 -21
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -23856,6 +23856,18 @@ var automationTriggerSchema = external_exports.discriminatedUnion("type", [
|
|
|
23856
23856
|
external_exports.object({ type: external_exports.literal("custom"), config: external_exports.object({}) })
|
|
23857
23857
|
]);
|
|
23858
23858
|
|
|
23859
|
+
// ../shared/src/automations/types.ts
|
|
23860
|
+
var AUTOMATION_DEBOUNCE_MAX_SECONDS = 24 * 60 * 60;
|
|
23861
|
+
var AUTOMATION_LIFECYCLE_POLICIES = ["default", "archive_when_done", "sleep_when_done", "delete_when_done"];
|
|
23862
|
+
function toAutomationLifecyclePolicy(policy) {
|
|
23863
|
+
if (!policy) return "default";
|
|
23864
|
+
if (policy === "delete_after_inactivity") return "archive_when_done";
|
|
23865
|
+
return policy;
|
|
23866
|
+
}
|
|
23867
|
+
function lifecyclePolicySupportsAutoStop(policy) {
|
|
23868
|
+
return policy === "default";
|
|
23869
|
+
}
|
|
23870
|
+
|
|
23859
23871
|
// ../shared/src/workspace-identity.ts
|
|
23860
23872
|
var AWS_SOURCE_IDENTITY_CLAIM = "https://aws.amazon.com/source_identity";
|
|
23861
23873
|
var WORKSPACE_TOKEN_TTL_SECONDS = 15 * 60;
|
|
@@ -23937,7 +23949,6 @@ var STALE_PREPARING_MS = 10 * 6e4;
|
|
|
23937
23949
|
function isWorkspaceSuspendedStatus(status) {
|
|
23938
23950
|
return status === "sleeping" || status === "archived";
|
|
23939
23951
|
}
|
|
23940
|
-
var VALID_LIFECYCLE_POLICIES = ["default", "archive_when_done", "sleep_when_done", "delete_after_inactivity"];
|
|
23941
23952
|
function workspaceConfigWithCapabilities(config3, capabilities = {}) {
|
|
23942
23953
|
const mergedCapabilities = {
|
|
23943
23954
|
...config3?.capabilities,
|
|
@@ -24004,7 +24015,10 @@ var automationToolInputSchema = external_exports.object({
|
|
|
24004
24015
|
description: external_exports.string().optional().describe("One-line summary shown in the dashboard."),
|
|
24005
24016
|
plan_mode: external_exports.boolean().optional(),
|
|
24006
24017
|
goal_mode: external_exports.boolean().optional(),
|
|
24007
|
-
fast_mode: external_exports.boolean().optional()
|
|
24018
|
+
fast_mode: external_exports.boolean().optional(),
|
|
24019
|
+
workspace_lifecycle_policy: external_exports.enum(AUTOMATION_LIFECYCLE_POLICIES).optional().describe(
|
|
24020
|
+
"What happens to a run's workspace when the agent finishes. `delete_when_done` (default) when the output lives elsewhere (PR comments, checks, Slack posts); `sleep_when_done` when later runs reuse the workspace, like one per PR across pushes; `default` (keep alive) when people follow up in the workspace."
|
|
24021
|
+
)
|
|
24008
24022
|
});
|
|
24009
24023
|
var automationCreateToolInputSchema = automationToolInputSchema.extend({
|
|
24010
24024
|
scope: external_exports.enum(["org", "user"]).optional().describe("`org` (default) or `user` for a personal automation, which needs a personal API key.")
|
|
@@ -24015,7 +24029,6 @@ var automationUpdateToolInputSchema = automationToolInputSchema.partial().extend
|
|
|
24015
24029
|
agent_provider: external_exports.enum(AGENT).nullable().optional(),
|
|
24016
24030
|
model: external_exports.string().nullable().optional(),
|
|
24017
24031
|
thinking_level: external_exports.enum(VALID_THINKING_LEVELS).nullable().optional(),
|
|
24018
|
-
workspace_lifecycle_policy: external_exports.enum(VALID_LIFECYCLE_POLICIES).optional(),
|
|
24019
24032
|
workspace_size: external_exports.enum(WORKSPACE_SIZES).optional()
|
|
24020
24033
|
});
|
|
24021
24034
|
var chatPath = { id: external_exports.string().describe("Workspace ID"), chat_id: external_exports.string().describe("Chat ID") };
|
|
@@ -25895,12 +25908,16 @@ replicas automation create ... --disabled
|
|
|
25895
25908
|
# Description and workspace size (small is the default; large, ultra)
|
|
25896
25909
|
replicas automation create ... --description "..." --size large
|
|
25897
25910
|
|
|
25898
|
-
# Workspace lifecycle
|
|
25899
|
-
replicas automation create ... --lifecycle archive_when_done
|
|
25911
|
+
# Workspace lifecycle (delete_when_done is the default)
|
|
25900
25912
|
replicas automation create ... --lifecycle sleep_when_done
|
|
25901
25913
|
replicas automation create ... --lifecycle default --auto-stop-minutes 30
|
|
25902
25914
|
\`\`\`
|
|
25903
25915
|
|
|
25916
|
+
Pick the lifecycle by what happens after a run:
|
|
25917
|
+
- \`delete_when_done\` (default): the output lives elsewhere and nobody opens the workspace, e.g. a PR "DRY code check" that posts a comment or check.
|
|
25918
|
+
- \`sleep_when_done\`: later runs reuse the workspace, e.g. one workspace per PR across pushes.
|
|
25919
|
+
- \`default\`: people read or follow up in the workspace, e.g. a weekly changelog the team replies to.
|
|
25920
|
+
|
|
25904
25921
|
When the user says "make me an automation that...", default to **picking the environment for them by listing the available envs** and asking only when the user hasn't already pinned one. Same for repos in GitHub triggers. Don't pepper the user with questions you can answer by reading the existing config.
|
|
25905
25922
|
|
|
25906
25923
|
### Follow-ups and reminders
|
|
@@ -28575,7 +28592,7 @@ var headlessAgentRequestSchema = external_exports.object({
|
|
|
28575
28592
|
});
|
|
28576
28593
|
|
|
28577
28594
|
// ../shared/src/cli-version.ts
|
|
28578
|
-
var CLI_VERSION = "0.3.
|
|
28595
|
+
var CLI_VERSION = "0.3.70";
|
|
28579
28596
|
|
|
28580
28597
|
// ../shared/src/version.ts
|
|
28581
28598
|
function compareVersions(v1, v2) {
|
|
@@ -29163,18 +29180,6 @@ var AUDIT_LOG_ACTION = {
|
|
|
29163
29180
|
};
|
|
29164
29181
|
var AUDIT_LOG_ACTIONS = Object.values(AUDIT_LOG_ACTION);
|
|
29165
29182
|
|
|
29166
|
-
// ../shared/src/automations/types.ts
|
|
29167
|
-
var AUTOMATION_DEBOUNCE_MAX_SECONDS = 24 * 60 * 60;
|
|
29168
|
-
var AUTOMATION_LIFECYCLE_POLICIES = ["default", "archive_when_done", "sleep_when_done"];
|
|
29169
|
-
function toAutomationLifecyclePolicy(policy) {
|
|
29170
|
-
if (!policy) return "default";
|
|
29171
|
-
if (policy === "default" || policy === "archive_when_done" || policy === "sleep_when_done") return policy;
|
|
29172
|
-
return "archive_when_done";
|
|
29173
|
-
}
|
|
29174
|
-
function lifecyclePolicySupportsAutoStop(policy) {
|
|
29175
|
-
return policy === "default";
|
|
29176
|
-
}
|
|
29177
|
-
|
|
29178
29183
|
// ../shared/src/automations/github-checks.ts
|
|
29179
29184
|
var AUTOMATION_CHECK_CONCLUSIONS = ["success", "failure"];
|
|
29180
29185
|
function isAutomationCheckConclusion(value) {
|
|
@@ -32120,7 +32125,8 @@ async function replicaCreateCommand(name, options) {
|
|
|
32120
32125
|
name: replicaName,
|
|
32121
32126
|
message: message2,
|
|
32122
32127
|
environment_id: selectedEnvironmentId,
|
|
32123
|
-
coding_agent: codingAgent
|
|
32128
|
+
coding_agent: codingAgent,
|
|
32129
|
+
lifecycle_policy: "default"
|
|
32124
32130
|
};
|
|
32125
32131
|
console.log(import_chalk20.default.gray("\nCreating replica..."));
|
|
32126
32132
|
const response = await orgAuthenticatedFetch("/v1/replica", {
|
|
@@ -34433,8 +34439,8 @@ credentials.command("usage").description("Show how much of each connected Claude
|
|
|
34433
34439
|
var automation = program.command("automation").alias("auto").description("Manage automations");
|
|
34434
34440
|
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));
|
|
34435
34441
|
automation.command("get <id>").description("Get automation details by ID").action(run(automationGetCommand));
|
|
34436
|
-
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")').option("--trigger-cron-timezone <timezone>", "Timezone for cron trigger (default: UTC)").option("--trigger-github <event>", 'GitHub event (e.g. "pull_request.opened")').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")').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:
|
|
34437
|
-
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 (replaces existing triggers)").option("--trigger-cron-timezone <timezone>", "Timezone for cron trigger").option("--trigger-github <event>", "Set GitHub event (replaces existing triggers)").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 (replaces existing triggers)").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 (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:
|
|
34442
|
+
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")').option("--trigger-cron-timezone <timezone>", "Timezone for cron trigger (default: UTC)").option("--trigger-github <event>", 'GitHub event (e.g. "pull_request.opened")').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")').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 })));
|
|
34443
|
+
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 (replaces existing triggers)").option("--trigger-cron-timezone <timezone>", "Timezone for cron trigger").option("--trigger-github <event>", "Set GitHub event (replaces existing triggers)").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 (replaces existing triggers)").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 (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).action(run(automationEditCommand));
|
|
34438
34444
|
automation.command("run <id>").description("Manually trigger an automation (cron-triggered automations only)").action(run(automationRunCommand));
|
|
34439
34445
|
automation.command("delete <id>").description("Delete an automation").option("-f, --force", "Skip confirmation prompt").action(run(automationDeleteCommand));
|
|
34440
34446
|
automation.command("check <checkRunId>").description("Report this automation run's verdict on one of its GitHub checks").requiredOption("--token <token>", "Ownership token for this check, exactly as given in the prompt").requiredOption("--conclusion <conclusion>", "success or failure").requiredOption("--title <title>", "One-line verdict shown on the check").option("--summary <summary>", "What was checked and why it passed or failed").action(run(automationCheckCommand));
|