replicas-cli 0.2.313 → 0.2.314

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 +138 -122
  2. package/package.json +1 -1
package/dist/index.mjs CHANGED
@@ -7639,6 +7639,143 @@ var USER_MESSAGE_ID_PAYLOAD_KEY = "replicasMessageId";
7639
7639
  var CODEX_ASP_ITEM_ID_PAYLOAD_KEY = "codexAspItemId";
7640
7640
  var CODEX_QUOTA_STATUS_EVENT_TYPE = "codex-quota-status";
7641
7641
 
7642
+ // ../shared/src/engine/types.ts
7643
+ var DEFAULT_CHAT_TITLES = {
7644
+ claude: "Claude Code",
7645
+ codex: "Codex",
7646
+ cursor: "Cursor",
7647
+ opencode: "Opencode",
7648
+ relay: "Relay"
7649
+ };
7650
+ function getInitialChatId(chats, preferredProvider = "claude") {
7651
+ if (chats.length === 0) return null;
7652
+ const isDefault = (c) => c.title === DEFAULT_CHAT_TITLES[c.provider];
7653
+ const hasActivity = (c) => c.updatedAt > c.createdAt;
7654
+ const mostActive = (list) => list.filter(hasActivity).sort((a, b) => b.updatedAt.localeCompare(a.updatedAt))[0] ?? null;
7655
+ const preferred = chats.filter((c) => c.provider === preferredProvider);
7656
+ const others = chats.filter((c) => c.provider !== preferredProvider);
7657
+ return mostActive(preferred)?.id ?? mostActive(others)?.id ?? preferred.find(isDefault)?.id ?? others.find(isDefault)?.id ?? chats[0]?.id ?? null;
7658
+ }
7659
+ var CLAUDE_OPUS_1M_MODEL = "opus[1m]";
7660
+ var LEGACY_CLAUDE_OPUS_1M_MODEL = "opus-1m";
7661
+ var CLAUDE_OPUS_4_8_MODEL = "claude-opus-4-8";
7662
+ var CLAUDE_SONNET_5_MODEL = "claude-sonnet-5";
7663
+ var CLAUDE_HAIKU_4_5_MODEL = "claude-haiku-4-5";
7664
+ var CLAUDE_OPUS_4_8_BEDROCK_MODEL = "us.anthropic.claude-opus-4-8";
7665
+ var CLAUDE_SONNET_5_BEDROCK_MODEL = "anthropic.claude-sonnet-5";
7666
+ var CLAUDE_HAIKU_4_5_BEDROCK_MODEL = "us.anthropic.claude-haiku-4-5-20251001-v1:0";
7667
+ var DEFAULT_CLAUDE_MODEL = CLAUDE_OPUS_4_8_MODEL;
7668
+ var DEFAULT_CODEX_MODEL = "gpt-5.5";
7669
+ var DEFAULT_OPENCODE_MODEL = "z-ai/glm-5.2";
7670
+ function normalizeClaudeModel(model) {
7671
+ if (model === "opus" || model === CLAUDE_OPUS_1M_MODEL || model === LEGACY_CLAUDE_OPUS_1M_MODEL) {
7672
+ return DEFAULT_CLAUDE_MODEL;
7673
+ }
7674
+ if (model === "sonnet") {
7675
+ return CLAUDE_SONNET_5_MODEL;
7676
+ }
7677
+ if (model === "haiku") {
7678
+ return CLAUDE_HAIKU_4_5_MODEL;
7679
+ }
7680
+ return model;
7681
+ }
7682
+ var CLAUDE_MODEL_CONTEXT_WINDOWS = {
7683
+ [CLAUDE_OPUS_4_8_MODEL]: 1e6,
7684
+ [CLAUDE_SONNET_5_MODEL]: 1e6,
7685
+ [CLAUDE_HAIKU_4_5_MODEL]: 2e5,
7686
+ [CLAUDE_OPUS_4_8_BEDROCK_MODEL]: 1e6,
7687
+ [CLAUDE_SONNET_5_BEDROCK_MODEL]: 1e6,
7688
+ [CLAUDE_HAIKU_4_5_BEDROCK_MODEL]: 2e5,
7689
+ "anthropic.claude-opus-4-8": 1e6,
7690
+ "us.anthropic.claude-sonnet-5": 1e6,
7691
+ "anthropic.claude-haiku-4-5": 2e5,
7692
+ "claude-haiku-4-5-20251001": 2e5,
7693
+ "claude-haiku-4-5@20251001": 2e5
7694
+ };
7695
+ var AGENT_MODELS = {
7696
+ claude: [DEFAULT_CLAUDE_MODEL, CLAUDE_SONNET_5_MODEL, CLAUDE_HAIKU_4_5_MODEL],
7697
+ codex: [DEFAULT_CODEX_MODEL, "gpt-5.4", "gpt-5.4-mini", "gpt-5.3-codex", "gpt-5.2"],
7698
+ cursor: [
7699
+ CLAUDE_OPUS_4_8_MODEL,
7700
+ "gpt-5.5",
7701
+ "composer-2.5",
7702
+ CLAUDE_SONNET_5_MODEL,
7703
+ "claude-opus-4-7",
7704
+ "gpt-5.4",
7705
+ "gpt-5.4-mini",
7706
+ "gpt-5.4-nano",
7707
+ "gpt-5.3-codex",
7708
+ "gpt-5.2",
7709
+ "gpt-5.2-codex",
7710
+ "gpt-5.1",
7711
+ "gpt-5.1-codex-max",
7712
+ "gpt-5.1-codex-mini",
7713
+ "gpt-5-mini",
7714
+ "gemini-3.1-pro",
7715
+ "gemini-3-flash",
7716
+ "grok-4.3",
7717
+ CLAUDE_HAIKU_4_5_MODEL,
7718
+ "kimi-k2.5"
7719
+ ],
7720
+ opencode: [DEFAULT_OPENCODE_MODEL, "minimax/minimax-m3", "xiaomi/mimo-v2.5-pro", "moonshotai/kimi-k2.6"],
7721
+ relay: [DEFAULT_CLAUDE_MODEL, CLAUDE_SONNET_5_MODEL]
7722
+ };
7723
+ var MODEL_LABELS = {
7724
+ sonnet: "Sonnet 5",
7725
+ "claude-sonnet-5": "Sonnet 5",
7726
+ opus: "Opus 4.8",
7727
+ [CLAUDE_OPUS_1M_MODEL]: "Opus 4.8 (1M)",
7728
+ [LEGACY_CLAUDE_OPUS_1M_MODEL]: "Opus 4.8 (1M)",
7729
+ haiku: "Haiku 4.5",
7730
+ [DEFAULT_CODEX_MODEL]: "GPT-5.5",
7731
+ [DEFAULT_OPENCODE_MODEL]: "GLM 5.2 via OpenRouter",
7732
+ "minimax/minimax-m3": "MiniMax M3 via OpenRouter",
7733
+ "xiaomi/mimo-v2.5-pro": "MiMo V2.5 Pro via OpenRouter",
7734
+ "moonshotai/kimi-k2.6": "Kimi K2.6 via OpenRouter",
7735
+ "gpt-5.4": "GPT-5.4",
7736
+ "gpt-5.4-mini": "GPT-5.4 Mini",
7737
+ "gpt-5.4-nano": "GPT-5.4 Nano",
7738
+ "gpt-5.3-codex": "GPT-5.3 Codex",
7739
+ "gpt-5.2": "GPT-5.2",
7740
+ "gpt-5.2-codex": "GPT-5.2 Codex",
7741
+ "gpt-5.1": "GPT-5.1",
7742
+ "gpt-5.1-codex-max": "GPT-5.1 Codex Max",
7743
+ "gpt-5.1-codex-mini": "GPT-5.1 Codex Mini",
7744
+ "gpt-5-mini": "GPT-5 Mini",
7745
+ "composer-2.5": "Composer 2.5",
7746
+ [CLAUDE_OPUS_4_8_MODEL]: "Opus 4.8",
7747
+ "claude-opus-4-7": "Opus 4.7",
7748
+ [CLAUDE_HAIKU_4_5_MODEL]: "Haiku 4.5",
7749
+ "gemini-3.1-pro": "Gemini 3.1 Pro",
7750
+ "gemini-3-flash": "Gemini 3 Flash",
7751
+ "grok-4.3": "Grok 4.3",
7752
+ "kimi-k2.5": "Kimi K2.5"
7753
+ };
7754
+ var MAX_CANVAS_FILE_BYTES = 5 * 1024 * 1024;
7755
+ var CANVAS_KIND_BY_EXTENSION = {
7756
+ ".md": { kind: "markdown", mimeType: "text/markdown; charset=utf-8" },
7757
+ ".markdown": { kind: "markdown", mimeType: "text/markdown; charset=utf-8" },
7758
+ ".html": { kind: "html", mimeType: "text/html; charset=utf-8" },
7759
+ ".htm": { kind: "html", mimeType: "text/html; charset=utf-8" },
7760
+ ".png": { kind: "image", mimeType: "image/png" },
7761
+ ".jpg": { kind: "image", mimeType: "image/jpeg" },
7762
+ ".jpeg": { kind: "image", mimeType: "image/jpeg" },
7763
+ ".gif": { kind: "image", mimeType: "image/gif" },
7764
+ ".webp": { kind: "image", mimeType: "image/webp" },
7765
+ ".svg": { kind: "image", mimeType: "image/svg+xml" },
7766
+ ".mp4": { kind: "video", mimeType: "video/mp4" },
7767
+ ".webm": { kind: "video", mimeType: "video/webm" },
7768
+ ".mov": { kind: "video", mimeType: "video/quicktime" },
7769
+ ".mp3": { kind: "audio", mimeType: "audio/mpeg" },
7770
+ ".wav": { kind: "audio", mimeType: "audio/wav" },
7771
+ ".ogg": { kind: "audio", mimeType: "audio/ogg" }
7772
+ };
7773
+ function classifyCanvasFilename(filename) {
7774
+ const idx = filename.lastIndexOf(".");
7775
+ const ext = idx === -1 ? "" : filename.slice(idx).toLowerCase();
7776
+ return CANVAS_KIND_BY_EXTENSION[ext] ?? { kind: "other", mimeType: "application/octet-stream" };
7777
+ }
7778
+
7642
7779
  // ../shared/src/pricing.ts
7643
7780
  var INTEGRATION_SOURCES = ["slack", "linear", "github", "gitlab"];
7644
7781
  var SYSTEMIC_SOURCES = ["api", "automation"];
@@ -9360,7 +9497,7 @@ var HOOK_EXEC_MAX_BUFFER_BYTES = 10 * 1024 * 1024;
9360
9497
  var REPLICAS_CONFIG_FILENAMES = ["replicas.json", "replicas.yaml", "replicas.yml"];
9361
9498
 
9362
9499
  // ../shared/src/cli-version.ts
9363
- var CLI_VERSION = "0.2.313";
9500
+ var CLI_VERSION = "0.2.314";
9364
9501
 
9365
9502
  // ../shared/src/engine/environment.ts
9366
9503
  var DESKTOP_NOVNC_PORT = 6080;
@@ -9372,127 +9509,6 @@ function getDesktopViewerUrl(publicUrl) {
9372
9509
  var DESKTOP_VIEWER_WIDTH = 1920;
9373
9510
  var DESKTOP_VIEWER_HEIGHT = 1080;
9374
9511
 
9375
- // ../shared/src/engine/types.ts
9376
- var DEFAULT_CHAT_TITLES = {
9377
- claude: "Claude Code",
9378
- codex: "Codex",
9379
- cursor: "Cursor",
9380
- opencode: "Opencode",
9381
- relay: "Relay"
9382
- };
9383
- function getInitialChatId(chats, preferredProvider = "claude") {
9384
- if (chats.length === 0) return null;
9385
- const isDefault = (c) => c.title === DEFAULT_CHAT_TITLES[c.provider];
9386
- const hasActivity = (c) => c.updatedAt > c.createdAt;
9387
- const mostActive = (list) => list.filter(hasActivity).sort((a, b) => b.updatedAt.localeCompare(a.updatedAt))[0] ?? null;
9388
- const preferred = chats.filter((c) => c.provider === preferredProvider);
9389
- const others = chats.filter((c) => c.provider !== preferredProvider);
9390
- return mostActive(preferred)?.id ?? mostActive(others)?.id ?? preferred.find(isDefault)?.id ?? others.find(isDefault)?.id ?? chats[0]?.id ?? null;
9391
- }
9392
- var CLAUDE_OPUS_1M_MODEL = "opus[1m]";
9393
- var LEGACY_CLAUDE_OPUS_1M_MODEL = "opus-1m";
9394
- var CLAUDE_OPUS_4_8_MODEL = "claude-opus-4-8";
9395
- var CLAUDE_SONNET_5_MODEL = "claude-sonnet-5";
9396
- var CLAUDE_HAIKU_4_5_MODEL = "claude-haiku-4-5";
9397
- var DEFAULT_CLAUDE_MODEL = CLAUDE_OPUS_4_8_MODEL;
9398
- var DEFAULT_CODEX_MODEL = "gpt-5.5";
9399
- var DEFAULT_OPENCODE_MODEL = "z-ai/glm-5.2";
9400
- function normalizeClaudeModel(model) {
9401
- if (model === "opus" || model === CLAUDE_OPUS_1M_MODEL || model === LEGACY_CLAUDE_OPUS_1M_MODEL) {
9402
- return DEFAULT_CLAUDE_MODEL;
9403
- }
9404
- if (model === "sonnet") {
9405
- return CLAUDE_SONNET_5_MODEL;
9406
- }
9407
- if (model === "haiku") {
9408
- return CLAUDE_HAIKU_4_5_MODEL;
9409
- }
9410
- return model;
9411
- }
9412
- var AGENT_MODELS = {
9413
- claude: [DEFAULT_CLAUDE_MODEL, CLAUDE_SONNET_5_MODEL, CLAUDE_HAIKU_4_5_MODEL],
9414
- codex: [DEFAULT_CODEX_MODEL, "gpt-5.4", "gpt-5.4-mini", "gpt-5.3-codex", "gpt-5.2"],
9415
- cursor: [
9416
- CLAUDE_OPUS_4_8_MODEL,
9417
- "gpt-5.5",
9418
- "composer-2.5",
9419
- CLAUDE_SONNET_5_MODEL,
9420
- "claude-opus-4-7",
9421
- "gpt-5.4",
9422
- "gpt-5.4-mini",
9423
- "gpt-5.4-nano",
9424
- "gpt-5.3-codex",
9425
- "gpt-5.2",
9426
- "gpt-5.2-codex",
9427
- "gpt-5.1",
9428
- "gpt-5.1-codex-max",
9429
- "gpt-5.1-codex-mini",
9430
- "gpt-5-mini",
9431
- "gemini-3.1-pro",
9432
- "gemini-3-flash",
9433
- "grok-4.3",
9434
- CLAUDE_HAIKU_4_5_MODEL,
9435
- "kimi-k2.5"
9436
- ],
9437
- opencode: [DEFAULT_OPENCODE_MODEL, "minimax/minimax-m3", "xiaomi/mimo-v2.5-pro", "moonshotai/kimi-k2.6"],
9438
- relay: [DEFAULT_CLAUDE_MODEL, CLAUDE_SONNET_5_MODEL]
9439
- };
9440
- var MODEL_LABELS = {
9441
- sonnet: "Sonnet 5",
9442
- "claude-sonnet-5": "Sonnet 5",
9443
- opus: "Opus 4.8",
9444
- [CLAUDE_OPUS_1M_MODEL]: "Opus 4.8 (1M)",
9445
- [LEGACY_CLAUDE_OPUS_1M_MODEL]: "Opus 4.8 (1M)",
9446
- haiku: "Haiku 4.5",
9447
- [DEFAULT_CODEX_MODEL]: "GPT-5.5",
9448
- [DEFAULT_OPENCODE_MODEL]: "GLM 5.2 via OpenRouter",
9449
- "minimax/minimax-m3": "MiniMax M3 via OpenRouter",
9450
- "xiaomi/mimo-v2.5-pro": "MiMo V2.5 Pro via OpenRouter",
9451
- "moonshotai/kimi-k2.6": "Kimi K2.6 via OpenRouter",
9452
- "gpt-5.4": "GPT-5.4",
9453
- "gpt-5.4-mini": "GPT-5.4 Mini",
9454
- "gpt-5.4-nano": "GPT-5.4 Nano",
9455
- "gpt-5.3-codex": "GPT-5.3 Codex",
9456
- "gpt-5.2": "GPT-5.2",
9457
- "gpt-5.2-codex": "GPT-5.2 Codex",
9458
- "gpt-5.1": "GPT-5.1",
9459
- "gpt-5.1-codex-max": "GPT-5.1 Codex Max",
9460
- "gpt-5.1-codex-mini": "GPT-5.1 Codex Mini",
9461
- "gpt-5-mini": "GPT-5 Mini",
9462
- "composer-2.5": "Composer 2.5",
9463
- [CLAUDE_OPUS_4_8_MODEL]: "Opus 4.8",
9464
- "claude-opus-4-7": "Opus 4.7",
9465
- [CLAUDE_HAIKU_4_5_MODEL]: "Haiku 4.5",
9466
- "gemini-3.1-pro": "Gemini 3.1 Pro",
9467
- "gemini-3-flash": "Gemini 3 Flash",
9468
- "grok-4.3": "Grok 4.3",
9469
- "kimi-k2.5": "Kimi K2.5"
9470
- };
9471
- var MAX_CANVAS_FILE_BYTES = 5 * 1024 * 1024;
9472
- var CANVAS_KIND_BY_EXTENSION = {
9473
- ".md": { kind: "markdown", mimeType: "text/markdown; charset=utf-8" },
9474
- ".markdown": { kind: "markdown", mimeType: "text/markdown; charset=utf-8" },
9475
- ".html": { kind: "html", mimeType: "text/html; charset=utf-8" },
9476
- ".htm": { kind: "html", mimeType: "text/html; charset=utf-8" },
9477
- ".png": { kind: "image", mimeType: "image/png" },
9478
- ".jpg": { kind: "image", mimeType: "image/jpeg" },
9479
- ".jpeg": { kind: "image", mimeType: "image/jpeg" },
9480
- ".gif": { kind: "image", mimeType: "image/gif" },
9481
- ".webp": { kind: "image", mimeType: "image/webp" },
9482
- ".svg": { kind: "image", mimeType: "image/svg+xml" },
9483
- ".mp4": { kind: "video", mimeType: "video/mp4" },
9484
- ".webm": { kind: "video", mimeType: "video/webm" },
9485
- ".mov": { kind: "video", mimeType: "video/quicktime" },
9486
- ".mp3": { kind: "audio", mimeType: "audio/mpeg" },
9487
- ".wav": { kind: "audio", mimeType: "audio/wav" },
9488
- ".ogg": { kind: "audio", mimeType: "audio/ogg" }
9489
- };
9490
- function classifyCanvasFilename(filename) {
9491
- const idx = filename.lastIndexOf(".");
9492
- const ext = idx === -1 ? "" : filename.slice(idx).toLowerCase();
9493
- return CANVAS_KIND_BY_EXTENSION[ext] ?? { kind: "other", mimeType: "application/octet-stream" };
9494
- }
9495
-
9496
9512
  // ../shared/src/engine/v1.ts
9497
9513
  var MERGED_MESSAGE_SEPARATOR = "\n\n<!-- replicas:merged -->\n\n";
9498
9514
  function normalizeCodexAspTranscriptStatus(status, failed = false) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-cli",
3
- "version": "0.2.313",
3
+ "version": "0.2.314",
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": {