replicas-cli 0.2.262 → 0.2.264

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.
Files changed (2) hide show
  1. package/dist/index.mjs +15 -3
  2. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -9236,7 +9236,7 @@ var HOOK_EXEC_MAX_BUFFER_BYTES = 10 * 1024 * 1024;
9236
9236
  var REPLICAS_CONFIG_FILENAMES = ["replicas.json", "replicas.yaml", "replicas.yml"];
9237
9237
 
9238
9238
  // ../shared/src/cli-version.ts
9239
- var CLI_VERSION = "0.2.262";
9239
+ var CLI_VERSION = "0.2.264";
9240
9240
 
9241
9241
  // ../shared/src/engine/environment.ts
9242
9242
  var DESKTOP_NOVNC_PORT = 6080;
@@ -9287,6 +9287,7 @@ var MODEL_LABELS = {
9287
9287
  "gpt-5.3-codex": "GPT-5.3 Codex",
9288
9288
  "gpt-5.2": "GPT-5.2"
9289
9289
  };
9290
+ var MAX_CANVAS_FILE_BYTES = 5 * 1024 * 1024;
9290
9291
  var CANVAS_KIND_BY_EXTENSION = {
9291
9292
  ".md": { kind: "markdown", mimeType: "text/markdown; charset=utf-8" },
9292
9293
  ".markdown": { kind: "markdown", mimeType: "text/markdown; charset=utf-8" },
@@ -12784,6 +12785,13 @@ Repositories (${response.repositories.length}):
12784
12785
  // src/commands/automation.ts
12785
12786
  import chalk18 from "chalk";
12786
12787
  import prompts4 from "prompts";
12788
+ function parseScopeFilter(value) {
12789
+ if (!value) return void 0;
12790
+ if (value === "org" || value === "user" || value === "all") return value;
12791
+ console.log(chalk18.red(`Invalid --owner: ${value}`));
12792
+ console.log(chalk18.gray("Valid options: org, user, all"));
12793
+ process.exit(1);
12794
+ }
12787
12795
  function parseAgentProviderOption(value) {
12788
12796
  if (value === void 0) return void 0;
12789
12797
  const trimmed = value.trim();
@@ -12867,6 +12875,7 @@ function resolveSelectableEnvironmentId(envInput, selectableEnvs) {
12867
12875
  function printAutomation(automation2) {
12868
12876
  console.log(chalk18.white(` ${automation2.name}`));
12869
12877
  console.log(chalk18.gray(` ID: ${automation2.id}`));
12878
+ console.log(chalk18.gray(` Owner: ${automation2.user_id ? "personal" : "organization"}`));
12870
12879
  if (automation2.description) {
12871
12880
  console.log(chalk18.gray(` Description: ${automation2.description}`));
12872
12881
  }
@@ -12896,6 +12905,8 @@ async function automationListCommand(options) {
12896
12905
  const params = new URLSearchParams();
12897
12906
  if (options.page) params.set("page", options.page);
12898
12907
  if (options.limit) params.set("limit", options.limit);
12908
+ const scope = parseScopeFilter(options.owner);
12909
+ if (scope) params.set("scope", scope);
12899
12910
  const query = params.toString();
12900
12911
  const response = await orgAuthenticatedFetch(
12901
12912
  `/v1/automations${query ? "?" + query : ""}`
@@ -13172,6 +13183,7 @@ async function automationCreateCommand(name, options) {
13172
13183
  prFollowups = prFollowupsResponse.prFollowups === true;
13173
13184
  }
13174
13185
  const body = {
13186
+ scope: options.personal ? "user" : "org",
13175
13187
  name: automationName,
13176
13188
  prompt: automationPrompt,
13177
13189
  environment_id: selectedEnvironmentId,
@@ -17865,7 +17877,7 @@ program.command("read <id>").description("Read conversation history of a replica
17865
17877
  }
17866
17878
  });
17867
17879
  var automation = program.command("automation").alias("auto").description("Manage automations");
17868
- automation.command("list").description("List all automations").option("-p, --page <page>", "Page number").option("-l, --limit <limit>", "Number of items per page").action(async (options) => {
17880
+ 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").action(async (options) => {
17869
17881
  try {
17870
17882
  await automationListCommand(options);
17871
17883
  } catch (error) {
@@ -17889,7 +17901,7 @@ automation.command("get <id>").description("Get automation details by ID").actio
17889
17901
  process.exit(1);
17890
17902
  }
17891
17903
  });
17892
- automation.command("create [name]").description("Create a new automation").option("-p, --prompt <prompt>", "Prompt for the automation").option("-e, --environment <environment>", "Environment name or ID").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("--lifecycle <policy>", "Workspace lifecycle: delete_when_done, delete_after_inactivity, default").option("--auto-stop-minutes <minutes>", "Inactivity timeout in minutes (3-1440, requires --lifecycle delete_after_inactivity)").option("--pr-followups", "Allow follow-up actions on matching PRs").option("--agent-provider <provider>", 'Coding agent to use: claude, codex, relay (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, max (or "none" to clear)').option("--disabled", "Create in disabled state").action(async (name, options) => {
17904
+ automation.command("create [name]").description("Create a new automation").option("-p, --prompt <prompt>", "Prompt for the automation").option("-e, --environment <environment>", "Environment name or ID").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("--lifecycle <policy>", "Workspace lifecycle: delete_when_done, delete_after_inactivity, default").option("--auto-stop-minutes <minutes>", "Inactivity timeout in minutes (3-1440, requires --lifecycle delete_after_inactivity)").option("--pr-followups", "Allow follow-up actions on matching PRs").option("--agent-provider <provider>", 'Coding agent to use: claude, codex, relay (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, max (or "none" to clear)').option("--personal", "Create a personal automation owned by the authenticated user").option("--disabled", "Create in disabled state").action(async (name, options) => {
17893
17905
  try {
17894
17906
  await automationCreateCommand(name, {
17895
17907
  ...options,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-cli",
3
- "version": "0.2.262",
3
+ "version": "0.2.264",
4
4
  "description": "CLI for managing Replicas workspaces - SSH into cloud dev environments with automatic port forwarding",
5
5
  "main": "dist/index.mjs",
6
6
  "bin": {