replicas-cli 0.3.303 → 0.3.304

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.cjs +139 -59
  2. package/package.json +1 -1
package/dist/index.cjs CHANGED
@@ -16989,10 +16989,141 @@ var init_v1 = __esm({
16989
16989
  }
16990
16990
  });
16991
16991
 
16992
+ // ../shared/src/design-tokens.ts
16993
+ var plain, dark, DESIGN_COLORS, SERIES, BRAND_COLORS;
16994
+ var init_design_tokens = __esm({
16995
+ "../shared/src/design-tokens.ts"() {
16996
+ "use strict";
16997
+ plain = {
16998
+ black: "#000000",
16999
+ white: "#ffffff",
17000
+ purple: "#a855f7",
17001
+ blue: "#0ea5e9",
17002
+ pink: "#ec4899",
17003
+ orange: "#f97316",
17004
+ teal: "#14b8a6",
17005
+ lime: "#84cc16"
17006
+ };
17007
+ dark = {
17008
+ background: "#111111",
17009
+ muted: "#1f1f1f",
17010
+ selected: "#2a2a2a",
17011
+ foreground: "#ededed",
17012
+ mutedForeground: "#a3a3a3",
17013
+ border: "#2a2a2a",
17014
+ primary: "#3eeba3",
17015
+ primaryText: "#3eeba3",
17016
+ primaryForeground: "#111111",
17017
+ primarySoft: "#3eeba31a",
17018
+ success: "#3eeba3",
17019
+ successText: "#3eeba3",
17020
+ successForeground: "#111111",
17021
+ successSoft: "#3eeba31a",
17022
+ destructive: "#ef4444",
17023
+ destructiveText: "#ff6f63",
17024
+ destructiveForeground: "#ffffff",
17025
+ warning: "#f59e0b",
17026
+ warningText: "#facc15",
17027
+ ...plain
17028
+ };
17029
+ DESIGN_COLORS = {
17030
+ dark,
17031
+ light: {
17032
+ background: "#ffffff",
17033
+ muted: "#f2f3f1",
17034
+ selected: "#e8ece7",
17035
+ foreground: "#162118",
17036
+ mutedForeground: "#67706a",
17037
+ border: "#e2e6e0",
17038
+ primary: "#2f9d57",
17039
+ primaryText: "#007136",
17040
+ primaryForeground: "#ffffff",
17041
+ primarySoft: "#2f9d571a",
17042
+ success: "#2f9d57",
17043
+ successText: "#007136",
17044
+ successForeground: "#ffffff",
17045
+ successSoft: "#2f9d571a",
17046
+ destructive: "#dc2626",
17047
+ destructiveText: "#b2000f",
17048
+ destructiveForeground: "#ffffff",
17049
+ warning: "#92400e",
17050
+ warningText: "#825100",
17051
+ ...plain
17052
+ }
17053
+ };
17054
+ SERIES = ["primary", "blue", "purple", "orange", "pink", "lime", "teal", "warning"];
17055
+ BRAND_COLORS = {
17056
+ replicas: { light: "#2f9d57", dark: "#3eeba3" },
17057
+ claude: "#d97757",
17058
+ codex: ["#b1a7ff", "#7a9dff", "#3941ff"],
17059
+ muse: "#0668e1",
17060
+ opencode: ["#4b4646", "#f1ecec"],
17061
+ slack: ["#e01e5a", "#36c5f0", "#2eb67d", "#ecb22e"],
17062
+ linear: "#8d8ff8",
17063
+ gitlab: "#fc6d26",
17064
+ badge: { label: "#121212", linear: "#5e6ad2", slack: "#4a154b" },
17065
+ // Emails assume a white page.
17066
+ email: { text: "#222", muted: "#888", link: "#0066cc" }
17067
+ };
17068
+ }
17069
+ });
17070
+
16992
17071
  // ../shared/src/provider-icons.ts
17072
+ var PROVIDER_ICON_DEFINITIONS, SLACK_ICON_DEFINITION, LINEAR_ICON_DEFINITION;
16993
17073
  var init_provider_icons = __esm({
16994
17074
  "../shared/src/provider-icons.ts"() {
16995
17075
  "use strict";
17076
+ init_design_tokens();
17077
+ PROVIDER_ICON_DEFINITIONS = {
17078
+ claude: {
17079
+ viewBox: "0 0 24 24",
17080
+ paths: ["M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6 10.949h1.488V8.102H6v2.847zm10.51 0H18V8.102h-1.49v2.847z"],
17081
+ fills: [BRAND_COLORS.claude],
17082
+ fillRules: ["evenodd"]
17083
+ },
17084
+ codex: {
17085
+ viewBox: "0 0 24 24",
17086
+ paths: ["M8.086.457a6.105 6.105 0 013.046-.415c1.333.153 2.521.72 3.564 1.7a.117.117 0 00.107.029c1.408-.346 2.762-.224 4.061.366l.063.03.154.076c1.357.703 2.33 1.77 2.918 3.198.278.679.418 1.388.421 2.126a5.655 5.655 0 01-.18 1.631.167.167 0 00.04.155 5.982 5.982 0 011.578 2.891c.385 1.901-.01 3.615-1.183 5.14l-.182.22a6.063 6.063 0 01-2.934 1.851.162.162 0 00-.108.102c-.255.736-.511 1.364-.987 1.992-1.199 1.582-2.962 2.462-4.948 2.451-1.583-.008-2.986-.587-4.21-1.736a.145.145 0 00-.14-.032c-.518.167-1.04.191-1.604.185a5.924 5.924 0 01-2.595-.622 6.058 6.058 0 01-2.146-1.781c-.203-.269-.404-.522-.551-.821a7.74 7.74 0 01-.495-1.283 6.11 6.11 0 01-.017-3.064.166.166 0 00.008-.074.115.115 0 00-.037-.064 5.958 5.958 0 01-1.38-2.202 5.196 5.196 0 01-.333-1.589 6.915 6.915 0 01.188-2.132c.45-1.484 1.309-2.648 2.577-3.493.282-.188.55-.334.802-.438.286-.12.573-.22.861-.304a.129.129 0 00.087-.087A6.016 6.016 0 015.635 2.31C6.315 1.464 7.132.846 8.086.457zm-.804 7.85a.848.848 0 00-1.473.842l1.694 2.965-1.688 2.848a.849.849 0 001.46.864l1.94-3.272a.849.849 0 00.007-.854l-1.94-3.393zm5.446 6.24a.849.849 0 000 1.695h4.848a.849.849 0 000-1.696h-4.848z"],
17087
+ fillRules: ["evenodd"],
17088
+ gradient: BRAND_COLORS.codex
17089
+ },
17090
+ cursor: {
17091
+ viewBox: "640 340 320 320",
17092
+ paths: ["M920.015 424.958L805.919 359.086C802.256 356.97 797.735 356.97 794.071 359.086L679.981 424.958C676.901 426.736 675 430.025 675 433.587V566.419C675 569.981 676.901 573.269 679.981 575.048L794.077 640.92C797.74 643.036 802.261 643.036 805.925 640.92L920.02 575.048C923.1 573.269 925.001 569.981 925.001 566.419V433.587C925.001 430.025 923.1 426.736 920.02 424.958H920.015ZM912.848 438.911L802.706 629.682C801.961 630.968 799.995 630.443 799.995 628.954V504.039C799.995 501.543 798.662 499.234 796.498 497.981L688.321 435.526C687.036 434.781 687.561 432.816 689.05 432.816H909.334C912.462 432.816 914.417 436.206 912.853 438.917H912.848V438.911Z"]
17093
+ },
17094
+ muse: {
17095
+ viewBox: "0 0 24 24",
17096
+ paths: ["M3 4h4.5l4.5 7.2L16.5 4H21v16h-4V10.5l-5 7.5-5-7.5V20H3V4Z"],
17097
+ fills: [BRAND_COLORS.muse]
17098
+ },
17099
+ opencode: {
17100
+ viewBox: "0 0 240 300",
17101
+ paths: ["M180 240H60V120H180V240Z", "M180 60H60V240H180V60ZM240 300H0V0H240V300Z"],
17102
+ fills: BRAND_COLORS.opencode
17103
+ },
17104
+ pi: {
17105
+ viewBox: "0 0 800 800",
17106
+ paths: ["M165.29 165.29h352.07V400H400v117.36H282.65v117.36H165.29V165.29Zm117.36 117.36V400H400V282.65H282.65Z", "M517.36 400h117.36v234.72H517.36V400Z"],
17107
+ fillRules: ["evenodd", void 0]
17108
+ }
17109
+ };
17110
+ SLACK_ICON_DEFINITION = {
17111
+ viewBox: "0 0 128 128",
17112
+ paths: [
17113
+ "M27.255 80.719c0 7.33-5.978 13.317-13.309 13.317C6.616 94.036.63 88.049.63 80.719s5.987-13.317 13.317-13.317h13.309zm6.709 0c0-7.33 5.987-13.317 13.317-13.317s13.317 5.986 13.317 13.317v33.335c0 7.33-5.986 13.317-13.317 13.317-7.33 0-13.317-5.987-13.317-13.317zm0 0",
17114
+ "M47.281 27.255c-7.33 0-13.317-5.978-13.317-13.309C33.964 6.616 39.951.63 47.281.63s13.317 5.987 13.317 13.317v13.309zm0 6.709c7.33 0 13.317 5.987 13.317 13.317s-5.986 13.317-13.317 13.317H13.946C6.616 60.598.63 54.612.63 47.281c0-7.33 5.987-13.317 13.317-13.317zm0 0",
17115
+ "M100.745 47.281c0-7.33 5.978-13.317 13.309-13.317 7.33 0 13.317 5.987 13.317 13.317s-5.987 13.317-13.317 13.317h-13.309zm-6.709 0c0 7.33-5.987 13.317-13.317 13.317s-13.317-5.986-13.317-13.317V13.946C67.402 6.616 73.388.63 80.719.63c7.33 0 13.317 5.987 13.317 13.317zm0 0",
17116
+ "M80.719 100.745c7.33 0 13.317 5.978 13.317 13.309 0 7.33-5.987 13.317-13.317 13.317s-13.317-5.987-13.317-13.317v-13.309zm0-6.709c-7.33 0-13.317-5.987-13.317-13.317s5.986-13.317 13.317-13.317h33.335c7.33 0 13.317 5.986 13.317 13.317 0 7.33-5.987 13.317-13.317 13.317zm0 0"
17117
+ ],
17118
+ fills: BRAND_COLORS.slack
17119
+ };
17120
+ LINEAR_ICON_DEFINITION = {
17121
+ viewBox: "2 2 12 12",
17122
+ paths: [
17123
+ "M2.147 9.383c-.027-.114.109-.186.192-.103L6.72 13.66c.083.083.011.219-.103.192a6.015 6.015 0 0 1-4.47-4.47ZM2 7.627a.119.119 0 0 0 .035.091l6.247 6.247a.119.119 0 0 0 .091.035c.285-.018.564-.055.836-.111a.117.117 0 0 0 .057-.198L2.31 6.734a.117.117 0 0 0-.198.057 6.007 6.007 0 0 0-.11.836ZM2.505 5.565a.119.119 0 0 0 .025.132l7.773 7.773a.118.118 0 0 0 .132.025c.215-.096.422-.203.623-.322a.118.118 0 0 0 .022-.185L3.012 4.92a.118.118 0 0 0-.185.022c-.119.2-.226.408-.322.623ZM3.519 4.169a.118.118 0 0 1-.005-.163 6.006 6.006 0 1 1 8.48 8.48.118.118 0 0 1-.163-.005L3.52 4.169Z"
17124
+ ],
17125
+ fills: [BRAND_COLORS.linear]
17126
+ };
16996
17127
  }
16997
17128
  });
16998
17129
 
@@ -17000,6 +17131,7 @@ var init_provider_icons = __esm({
17000
17131
  var init_pr_footer = __esm({
17001
17132
  "../shared/src/pr-footer.ts"() {
17002
17133
  "use strict";
17134
+ init_design_tokens();
17003
17135
  init_provider_icons();
17004
17136
  init_urls();
17005
17137
  }
@@ -20185,54 +20317,6 @@ curl -sS --fail-with-body -X POST "\${REPLICAS_MONOLITH_URL:-$MONOLITH_URL}/v1/e
20185
20317
  }
20186
20318
  });
20187
20319
 
20188
- // ../shared/src/design-tokens.ts
20189
- var DESIGN_COLORS;
20190
- var init_design_tokens = __esm({
20191
- "../shared/src/design-tokens.ts"() {
20192
- "use strict";
20193
- DESIGN_COLORS = {
20194
- dark: {
20195
- background: "#111111",
20196
- foreground: "#ededed",
20197
- muted: "#1f1f1f",
20198
- mutedForeground: "#a3a3a3",
20199
- accent: "#2b2b2b",
20200
- primary: "#3eeba3",
20201
- primaryForeground: "#111111",
20202
- border: "#2a2a2a",
20203
- destructive: "#ef4444",
20204
- warning: "#f59e0b",
20205
- sidebar: "#181818",
20206
- sidebarAccent: "#1f1f1f",
20207
- chatCodeBackground: "#111111",
20208
- chatCodeHeader: "#151515",
20209
- chatCodeBorder: "#333333",
20210
- chatCodeForeground: "#e5e7eb",
20211
- chatCodeMuted: "#9ca3af"
20212
- },
20213
- light: {
20214
- background: "#ffffff",
20215
- foreground: "#162118",
20216
- muted: "#f2f3f1",
20217
- mutedForeground: "#67706a",
20218
- accent: "#e8ece7",
20219
- primary: "#2f9d57",
20220
- primaryForeground: "#ffffff",
20221
- border: "#e2e6e0",
20222
- destructive: "#dc2626",
20223
- warning: "#92400e",
20224
- sidebar: "#f7f8f6",
20225
- sidebarAccent: "#e8ece7",
20226
- chatCodeBackground: "#f7f8f6",
20227
- chatCodeHeader: "#eef1ed",
20228
- chatCodeBorder: "#d9ded8",
20229
- chatCodeForeground: "#162118",
20230
- chatCodeMuted: "#67706a"
20231
- }
20232
- };
20233
- }
20234
- });
20235
-
20236
20320
  // ../shared/src/visuals.ts
20237
20321
  function visualTheme(appearance, fontUrl) {
20238
20322
  const colors = DESIGN_COLORS[appearance];
@@ -20243,16 +20327,16 @@ function visualTheme(appearance, fontUrl) {
20243
20327
  "--foreground": colors.foreground,
20244
20328
  "--muted": colors.muted,
20245
20329
  "--muted-foreground": colors.mutedForeground,
20246
- "--accent": colors.accent,
20330
+ "--accent": colors.selected,
20247
20331
  "--primary": colors.primary,
20248
20332
  "--primary-foreground": colors.primaryForeground,
20249
20333
  "--border": colors.border,
20250
20334
  "--ring": colors.primary,
20251
20335
  "--destructive": colors.destructive,
20252
20336
  "--warning": colors.warning,
20253
- "--code-background": colors.chatCodeBackground,
20254
- "--code-foreground": colors.chatCodeForeground,
20255
- ...Object.fromEntries(CHART_COLORS[appearance].map((color, index) => [`--chart-${index + 1}`, color])),
20337
+ "--code-background": colors.background,
20338
+ "--code-foreground": colors.foreground,
20339
+ ...Object.fromEntries(SERIES.map((color, index) => [`--chart-${index + 1}`, colors[color]])),
20256
20340
  "--radius": "6px",
20257
20341
  "--font-sans": FONT_SANS,
20258
20342
  "--font-mono": FONT_MONO
@@ -20293,7 +20377,7 @@ function injectVisualBootstrap(html) {
20293
20377
  const at = htmlOpen ? htmlOpen.index + htmlOpen[0].length : doctype ? doctype[0].length : 0;
20294
20378
  return `${prefix}${html.slice(0, at)}<head>${markup}</head>${html.slice(at)}`;
20295
20379
  }
20296
- var VISUAL_MEASURE_WIDTHS, VISUAL_COLUMN_WIDTH, VISUAL_PHONE_WIDTH, VISUAL_MIN_HEIGHT, VISUAL_MAX_HEIGHT, VISUAL_FONT_PATH, FONT_SANS, FONT_MONO, CHART_COLORS, VISUAL_PAGE_RULES, THEME_FRAGMENT_KEY, HOST_CONTEXT_CHANGED_METHOD, SIZE_CHANGED_METHOD, OPEN_LINK_METHOD, OPEN_IMAGE_METHOD, VISUAL_CONTENT_HEIGHT_EXPRESSION, BASE_CSS, THEME_STYLE_ID, BOOTSTRAP_SCRIPT, blankNonMarkup;
20380
+ var VISUAL_MEASURE_WIDTHS, VISUAL_COLUMN_WIDTH, VISUAL_PHONE_WIDTH, VISUAL_MIN_HEIGHT, VISUAL_MAX_HEIGHT, VISUAL_FONT_PATH, FONT_SANS, FONT_MONO, VISUAL_PAGE_RULES, THEME_FRAGMENT_KEY, HOST_CONTEXT_CHANGED_METHOD, SIZE_CHANGED_METHOD, OPEN_LINK_METHOD, OPEN_IMAGE_METHOD, VISUAL_CONTENT_HEIGHT_EXPRESSION, BASE_CSS, THEME_STYLE_ID, BOOTSTRAP_SCRIPT, blankNonMarkup;
20297
20381
  var init_visuals = __esm({
20298
20382
  "../shared/src/visuals.ts"() {
20299
20383
  "use strict";
@@ -20307,14 +20391,10 @@ var init_visuals = __esm({
20307
20391
  VISUAL_FONT_PATH = "/fonts/GeneralSans-Variable.woff2";
20308
20392
  FONT_SANS = '"General Sans", system-ui, -apple-system, "Segoe UI", sans-serif';
20309
20393
  FONT_MONO = '"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace';
20310
- CHART_COLORS = {
20311
- dark: ["#199e70", "#3987e5", "#d95926", "#9085e9", "#c98500", "#d55181"],
20312
- light: ["#2f9d57", "#2a78d6", "#eb6834", "#4a3aa7", "#976202", "#d84497"]
20313
- };
20314
20394
  VISUAL_PAGE_RULES = `- Write one self-contained HTML file with inline <style> and <script>; a fragment without <html> or <head> is fine. Put data inline instead of fetching it. Libraries may load from public CDNs such as cdn.jsdelivr.net. Local images written as absolute paths (src="/abs/shot.png", url(/abs/bg.webp)) are inlined when you publish.
20315
20395
  - The page sits directly on the chat background, as wide as your reply (about ${VISUAL_COLUMN_WIDTH}px on desktop, ${VISUAL_PHONE_WIDTH - 30}px on phones), with its left edge aligned to your text. Leave html and body transparent, use a fluid width with no outer padding, and add no outer card, border, or title banner: the page is part of your reply.
20316
20396
  - Let content set the height. Never use 100vh, height:100%, or min-height:100vh on html, body, or the outer element; publishing refuses a page whose height follows the frame. Give charts fixed pixel heights.
20317
- - Color everything with the theme variables so the page follows light and dark mode live: --foreground, --muted-foreground (secondary text), --background, --muted (subtle fills), --accent, --border, --primary and --primary-foreground (Replicas green), --destructive, --warning, --code-background, --code-foreground, and --chart-1 to --chart-6 for series (use them in order and label series directly). Never hardcode a light or dark palette. A canvas or chart library that needs literal colors can read them with getComputedStyle(document.documentElement) and redraw on matchMedia("(prefers-color-scheme: dark)") changes.
20397
+ - Color everything with the theme variables so the page follows light and dark mode live: --foreground, --muted-foreground (secondary text), --background, --muted (subtle fills), --accent, --border, --primary and --primary-foreground (Replicas green), --destructive, --warning, --code-background, --code-foreground, and --chart-1 to --chart-8 for series (use them in order and label series directly). Never hardcode a light or dark palette. A canvas or chart library that needs literal colors can read them with getComputedStyle(document.documentElement) and redraw on matchMedia("(prefers-color-scheme: dark)") changes.
20318
20398
  - Text is 13px General Sans, like the chat; --font-sans and --font-mono are set. Keep Replicas' flat look: separate sections with 1px var(--border) lines or var(--muted) fills, without shadows or rounded cards. Use var(--radius) only on small controls.
20319
20399
  - A mockup of a specific product's UI, such as a client's app or a competitor's screen, is the exception: give it its own panel with at least 16px of padding and use that product's real colors, fonts, corners, and shadows inside it, so it looks like the product. Everything around the panel follows the rules above.
20320
20400
  - Interaction is welcome: hover details, tabs, toggles, sliders. Links open in a new browser tab.
@@ -31790,7 +31870,7 @@ var CLI_VERSION;
31790
31870
  var init_cli_version = __esm({
31791
31871
  "../shared/src/cli-version.ts"() {
31792
31872
  "use strict";
31793
- CLI_VERSION = "0.3.303";
31873
+ CLI_VERSION = "0.3.304";
31794
31874
  }
31795
31875
  });
31796
31876
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "replicas-cli",
3
- "version": "0.3.303",
3
+ "version": "0.3.304",
4
4
  "description": "CLI for managing Replicas workspaces - SSH into cloud dev environments with automatic port forwarding",
5
5
  "main": "dist/index.cjs",
6
6
  "bin": {