@rotifer/playground 0.8.6 → 0.10.0

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 (102) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/README.md +18 -19
  3. package/README.zh.md +18 -19
  4. package/dist/cloud/auth.d.ts +14 -4
  5. package/dist/cloud/auth.d.ts.map +1 -1
  6. package/dist/cloud/auth.js +19 -7
  7. package/dist/cloud/auth.js.map +1 -1
  8. package/dist/cloud/badge.d.ts +42 -0
  9. package/dist/cloud/badge.d.ts.map +1 -0
  10. package/dist/cloud/badge.js +67 -0
  11. package/dist/cloud/badge.js.map +1 -0
  12. package/dist/cloud/client.d.ts +14 -0
  13. package/dist/cloud/client.d.ts.map +1 -1
  14. package/dist/cloud/client.js +54 -13
  15. package/dist/cloud/client.js.map +1 -1
  16. package/dist/cloud/gene-ref.d.ts +41 -0
  17. package/dist/cloud/gene-ref.d.ts.map +1 -0
  18. package/dist/cloud/gene-ref.js +45 -0
  19. package/dist/cloud/gene-ref.js.map +1 -0
  20. package/dist/cloud/index.d.ts +1 -0
  21. package/dist/cloud/index.d.ts.map +1 -1
  22. package/dist/cloud/index.js +1 -0
  23. package/dist/cloud/index.js.map +1 -1
  24. package/dist/cloud/types.d.ts +2 -0
  25. package/dist/cloud/types.d.ts.map +1 -1
  26. package/dist/cloud/types.js +2 -1
  27. package/dist/cloud/types.js.map +1 -1
  28. package/dist/commands/agent-list.d.ts.map +1 -1
  29. package/dist/commands/agent-list.js +8 -1
  30. package/dist/commands/agent-list.js.map +1 -1
  31. package/dist/commands/compile.d.ts.map +1 -1
  32. package/dist/commands/compile.js +21 -5
  33. package/dist/commands/compile.js.map +1 -1
  34. package/dist/commands/doctor.d.ts +3 -0
  35. package/dist/commands/doctor.d.ts.map +1 -0
  36. package/dist/commands/doctor.js +58 -0
  37. package/dist/commands/doctor.js.map +1 -0
  38. package/dist/commands/hello.d.ts.map +1 -1
  39. package/dist/commands/hello.js +45 -6
  40. package/dist/commands/hello.js.map +1 -1
  41. package/dist/commands/init.d.ts.map +1 -1
  42. package/dist/commands/init.js +11 -9
  43. package/dist/commands/init.js.map +1 -1
  44. package/dist/commands/list.js +3 -3
  45. package/dist/commands/list.js.map +1 -1
  46. package/dist/commands/network.d.ts.map +1 -1
  47. package/dist/commands/network.js +177 -64
  48. package/dist/commands/network.js.map +1 -1
  49. package/dist/commands/publish.d.ts.map +1 -1
  50. package/dist/commands/publish.js +47 -0
  51. package/dist/commands/publish.js.map +1 -1
  52. package/dist/commands/reputation.d.ts.map +1 -1
  53. package/dist/commands/reputation.js +51 -10
  54. package/dist/commands/reputation.js.map +1 -1
  55. package/dist/commands/run.d.ts.map +1 -1
  56. package/dist/commands/run.js +7 -1
  57. package/dist/commands/run.js.map +1 -1
  58. package/dist/commands/user-config.js +2 -2
  59. package/dist/commands/user-config.js.map +1 -1
  60. package/dist/commands/versions.d.ts.map +1 -1
  61. package/dist/commands/versions.js +34 -3
  62. package/dist/commands/versions.js.map +1 -1
  63. package/dist/commands/vg.d.ts.map +1 -1
  64. package/dist/commands/vg.js +7 -25
  65. package/dist/commands/vg.js.map +1 -1
  66. package/dist/commands/whoami.d.ts.map +1 -1
  67. package/dist/commands/whoami.js +7 -1
  68. package/dist/commands/whoami.js.map +1 -1
  69. package/dist/commands/wrap.d.ts.map +1 -1
  70. package/dist/commands/wrap.js +25 -2
  71. package/dist/commands/wrap.js.map +1 -1
  72. package/dist/index.js +2 -0
  73. package/dist/index.js.map +1 -1
  74. package/dist/types/phenotype.d.ts +181 -0
  75. package/dist/types/phenotype.d.ts.map +1 -0
  76. package/dist/types/phenotype.js +87 -0
  77. package/dist/types/phenotype.js.map +1 -0
  78. package/dist/utils/binding.d.ts +28 -4
  79. package/dist/utils/binding.d.ts.map +1 -1
  80. package/dist/utils/binding.js +34 -12
  81. package/dist/utils/binding.js.map +1 -1
  82. package/dist/utils/config.js +1 -1
  83. package/dist/utils/config.js.map +1 -1
  84. package/dist/utils/javy-compiler.d.ts +32 -1
  85. package/dist/utils/javy-compiler.d.ts.map +1 -1
  86. package/dist/utils/javy-compiler.js +136 -12
  87. package/dist/utils/javy-compiler.js.map +1 -1
  88. package/dist/utils/p2p-daemon.d.ts +30 -0
  89. package/dist/utils/p2p-daemon.d.ts.map +1 -0
  90. package/dist/utils/p2p-daemon.js +199 -0
  91. package/dist/utils/p2p-daemon.js.map +1 -0
  92. package/dist/utils/phenotype-validator.d.ts.map +1 -1
  93. package/dist/utils/phenotype-validator.js +197 -2
  94. package/dist/utils/phenotype-validator.js.map +1 -1
  95. package/dist/utils/project-root.js +1 -1
  96. package/dist/utils/project-root.js.map +1 -1
  97. package/dist/utils/user-config.d.ts +2 -0
  98. package/dist/utils/user-config.d.ts.map +1 -1
  99. package/dist/utils/user-config.js +12 -2
  100. package/dist/utils/user-config.js.map +1 -1
  101. package/package.json +13 -10
  102. package/scripts/postinstall.js +1 -1
@@ -40,7 +40,10 @@ const palette_js_1 = require("../utils/palette.js");
40
40
  const node_fs_1 = require("node:fs");
41
41
  const node_path_1 = require("node:path");
42
42
  const node_crypto_1 = require("node:crypto");
43
+ const node_child_process_1 = require("node:child_process");
43
44
  const private_fs_js_1 = require("../utils/private-fs.js");
45
+ const binding_js_1 = require("../utils/binding.js");
46
+ const p2p_daemon_js_1 = require("../utils/p2p-daemon.js");
44
47
  const ROTIFER_HOME = (0, node_path_1.join)(process.env.HOME || process.env.USERPROFILE || "/tmp", ".rotifer");
45
48
  const NETWORK_CONFIG = (0, node_path_1.join)(ROTIFER_HOME, "network.json");
46
49
  function loadNetworkConfig() {
@@ -55,9 +58,12 @@ function loadNetworkConfig() {
55
58
  return {
56
59
  node_id: (0, node_crypto_1.randomUUID)(),
57
60
  listen_port: 9878,
58
- bootstrap_peers: [
59
- "/dns4/bootstrap.rotifer.dev/tcp/9878",
60
- ],
61
+ // No default bootstrap peer — see the note in crates/rotifer-core/src/p2p/mod.rs.
62
+ // The old `/dns4/bootstrap.rotifer.dev/tcp/9878` default did not resolve
63
+ // (NXDOMAIN) and `/dns4/` needs a DNS transport this build omits on purpose,
64
+ // so it silently connected to nothing. Official bootstrap infra is not
65
+ // deployed yet; pass peers explicitly with `-b/--bootstrap` until it is.
66
+ bootstrap_peers: [],
61
67
  enabled: false,
62
68
  };
63
69
  }
@@ -66,111 +72,218 @@ function saveNetworkConfig(config) {
66
72
  (0, node_fs_1.writeFileSync)(NETWORK_CONFIG, JSON.stringify(config, null, 2) + "\n");
67
73
  (0, private_fs_js_1.tightenPrivateFile)(NETWORK_CONFIG);
68
74
  }
75
+ /** Spawn the daemon as a detached background process, logging to ~/.rotifer/daemon.log. */
76
+ function spawnDaemon(host, port, bootstrapPeers) {
77
+ (0, private_fs_js_1.ensurePrivateDir)(ROTIFER_HOME);
78
+ const logFd = (0, node_fs_1.openSync)((0, node_path_1.join)(ROTIFER_HOME, "daemon.log"), "a");
79
+ const args = [process.argv[1], "network", "__daemon", "--host", host, "--port", String(port)];
80
+ for (const peer of bootstrapPeers) {
81
+ args.push("--bootstrap", peer);
82
+ }
83
+ const child = (0, node_child_process_1.spawn)(process.execPath, args, {
84
+ detached: true,
85
+ stdio: ["ignore", logFd, logFd],
86
+ });
87
+ child.unref();
88
+ }
89
+ async function waitForDaemon(timeoutMs) {
90
+ const deadline = Date.now() + timeoutMs;
91
+ while (Date.now() < deadline) {
92
+ if (await (0, p2p_daemon_js_1.isDaemonRunning)())
93
+ return true;
94
+ await new Promise((r) => setTimeout(r, 300));
95
+ }
96
+ return false;
97
+ }
69
98
  exports.networkCommand = new commander_1.Command("network")
70
99
  .description("P2P gene network commands")
71
100
  .addCommand(new commander_1.Command("status")
72
- .description("Show network node status")
101
+ .description("Show P2P daemon status")
73
102
  .action(async () => {
74
103
  const config = loadNetworkConfig();
75
104
  saveNetworkConfig(config);
76
- display.renderResult(config, (data) => {
77
- display.header("P2P Network Status");
78
- console.log();
79
- display.kv("Node ID", data.node_id);
80
- display.kv("Status", data.enabled
81
- ? palette_js_1.c.success("● Active")
82
- : palette_js_1.c.muted("○ Inactive"));
83
- display.kv("Listen Port", String(data.listen_port));
84
- display.kv("Bootstrap Peers", String(data.bootstrap_peers.length));
105
+ const status = await (0, p2p_daemon_js_1.controlRequest)("GET", "/status");
106
+ display.header("P2P Network Status");
107
+ console.log();
108
+ if (status?.ok) {
109
+ const s = status.body;
110
+ display.kv("Status", palette_js_1.c.success("● Running"));
111
+ display.kv("PeerId", s.peerId);
112
+ for (const addr of s.listenAddrs)
113
+ display.kv("Listening", addr);
114
+ display.kv("Discovered peers", String(s.peers));
115
+ }
116
+ else {
117
+ display.kv("Status", palette_js_1.c.muted("○ Not running"));
118
+ display.kv("Listen Port", String(config.listen_port));
119
+ display.kv("Bootstrap Peers", String(config.bootstrap_peers.length));
85
120
  console.log();
86
- if (!data.enabled) {
87
- display.hint("Start the node: rotifer network start");
88
- }
89
- });
121
+ display.hint("Start the daemon: rotifer network start");
122
+ }
123
+ console.log();
90
124
  }))
91
125
  .addCommand(new commander_1.Command("start")
92
- .description("Start the P2P node")
126
+ .description("Start the P2P node as a background daemon")
93
127
  .option("-p, --port <port>", "listen port", "9878")
128
+ .option("-H, --host <addr>", "listen interface: 127.0.0.1 (loopback) or 0.0.0.0 (reachable from other machines)", "127.0.0.1")
129
+ .option("-b, --bootstrap <addr...>", "bootstrap peer multiaddr(s); overrides config")
94
130
  .action(async (options) => {
95
- display.header("Starting P2P Node");
131
+ display.header("Starting P2P Daemon");
132
+ if (await (0, p2p_daemon_js_1.isDaemonRunning)()) {
133
+ display.warn("P2P daemon is already running.");
134
+ display.hint("Use 'rotifer network status' to inspect it, or 'stop' first.");
135
+ return;
136
+ }
137
+ // Fail fast with a clear message if the native addon is absent, rather
138
+ // than spawning a daemon that immediately dies.
139
+ if (!(0, binding_js_1.loadP2pNode)("127.0.0.1", 0, [])) {
140
+ display.warn("Native P2P node is unavailable in this build.");
141
+ display.hint("This CLI was built without the compiled libp2p addon.");
142
+ return;
143
+ }
96
144
  const config = loadNetworkConfig();
97
- config.listen_port = parseInt(options.port, 10);
145
+ const port = parseInt(options.port, 10);
146
+ config.listen_port = port;
147
+ const host = options.host;
148
+ const bootstrap = options.bootstrap && options.bootstrap.length > 0
149
+ ? options.bootstrap
150
+ : config.bootstrap_peers;
151
+ spawnDaemon(host, port, bootstrap);
152
+ const isReady = await waitForDaemon(15_000);
153
+ if (!isReady) {
154
+ display.error("P2P daemon did not come up in time", `check ${(0, node_path_1.join)(ROTIFER_HOME, "daemon.log")}`);
155
+ process.exitCode = 1;
156
+ return;
157
+ }
98
158
  config.enabled = true;
99
159
  saveNetworkConfig(config);
160
+ const state = (0, p2p_daemon_js_1.readDaemonState)();
100
161
  console.log();
101
- display.kv("Node ID", config.node_id);
102
- display.kv("Listen", `/ip4/0.0.0.0/tcp/${config.listen_port}`);
103
- display.kv("Protocol", "rotifer/gene-discovery/1.0.0");
162
+ display.kv("PeerId", state?.peerId ?? "?");
163
+ display.kv("Listen host", host);
164
+ display.kv("PID", String(state?.pid ?? "?"));
165
+ display.kv("Bootstrap peers", String(bootstrap.length));
104
166
  console.log();
105
- display.info("Configured bootstrap peers:");
106
- for (const peer of config.bootstrap_peers) {
107
- display.info(` → ${peer}`);
167
+ display.success("P2P daemon running in the background.");
168
+ if (host !== "127.0.0.1") {
169
+ display.hint("'rotifer network status' shows the reachable multiaddr — give it to other nodes as --bootstrap");
108
170
  }
109
- console.log();
110
- display.success("P2P node initialized");
111
- display.info("Gene metadata discovery is available; binary transfer uses Cloud CDN.");
112
- display.hint("Network config saved to ~/.rotifer/network.json");
171
+ display.hint("rotifer network peers / announce / status / stop");
113
172
  }))
173
+ // Hidden: the long-running daemon process spawned by `start`.
174
+ .addCommand(new commander_1.Command("__daemon")
175
+ .description("(internal) run the P2P daemon")
176
+ .option("-H, --host <addr>", "listen interface", "127.0.0.1")
177
+ .option("-p, --port <port>", "listen port", "9878")
178
+ .option("--bootstrap <addr...>", "bootstrap multiaddr(s)")
179
+ .action(async (options) => {
180
+ await (0, p2p_daemon_js_1.runDaemon)(options.host, parseInt(options.port, 10), options.bootstrap ?? []);
181
+ }), { hidden: true })
114
182
  .addCommand(new commander_1.Command("stop")
115
- .description("Stop the P2P node")
183
+ .description("Stop the P2P daemon")
116
184
  .action(async () => {
185
+ const result = await (0, p2p_daemon_js_1.controlRequest)("POST", "/stop");
186
+ if (!result) {
187
+ display.warn("P2P daemon is not running.");
188
+ return;
189
+ }
117
190
  const config = loadNetworkConfig();
118
191
  config.enabled = false;
119
192
  saveNetworkConfig(config);
120
- display.success("P2P node stopped");
193
+ display.success("P2P daemon stopped");
121
194
  }))
122
195
  .addCommand(new commander_1.Command("peers")
123
- .description("List known peers")
196
+ .description("List peers discovered by the running daemon")
124
197
  .action(async () => {
125
- const config = loadNetworkConfig();
126
- if (!config.enabled) {
127
- display.warn("P2P node is not active. Run 'rotifer network start' first.");
198
+ const result = await (0, p2p_daemon_js_1.controlRequest)("GET", "/peers");
199
+ if (!result) {
200
+ display.warn("P2P daemon is not running. Run 'rotifer network start' first.");
128
201
  return;
129
202
  }
130
- display.renderResult({ peers: config.bootstrap_peers.map((addr, i) => ({ rank: i + 1, address: addr, status: "bootstrap" })) }, (data) => {
131
- display.header("Known Peers", { separator: false });
132
- if (data.peers.length === 0) {
133
- display.warn("No peers discovered");
134
- return;
135
- }
136
- display.table(data.peers, [
137
- { key: "rank", label: "#", width: 6, format: (v) => String(v) },
138
- { key: "address", label: "Address", width: 44 },
139
- { key: "status", label: "Status", width: 12, format: (v) => palette_js_1.c.muted(String(v)) },
140
- ]);
141
- console.log();
142
- display.hint(`${data.peers.length} peer(s) known`);
143
- });
203
+ const peers = result.body.peers ?? [];
204
+ display.header("Discovered Peers", { separator: false });
205
+ if (peers.length === 0) {
206
+ display.warn("No peers discovered yet.");
207
+ return;
208
+ }
209
+ for (const [i, peer] of peers.entries()) {
210
+ display.kv(`#${i + 1}`, peer);
211
+ }
212
+ console.log();
213
+ display.hint(`${peers.length} peer(s) discovered`);
214
+ }))
215
+ .addCommand(new commander_1.Command("received")
216
+ .description("Show gene announcements this node has received from peers")
217
+ .action(async () => {
218
+ const result = await (0, p2p_daemon_js_1.controlRequest)("GET", "/received");
219
+ if (!result) {
220
+ display.warn("P2P daemon is not running. Run 'rotifer network start' first.");
221
+ return;
222
+ }
223
+ const anns = result.body.announcements ?? [];
224
+ display.header("Received Gene Announcements", { separator: false });
225
+ if (anns.length === 0) {
226
+ display.warn("No announcements received yet.");
227
+ display.hint("A peer must announce a gene while this node is connected + subscribed.");
228
+ return;
229
+ }
230
+ for (const a of anns) {
231
+ const from = (a.source ?? a.publisher).slice(0, 16);
232
+ display.kv(`${a.name}@${a.version}`, `${a.domain} · ${a.fidelity} · from ${from}…`);
233
+ }
234
+ console.log();
235
+ display.hint(`${anns.length} announcement(s) received`);
144
236
  }))
145
237
  .addCommand(new commander_1.Command("search")
146
- .description("Search genes via P2P network")
238
+ .description("Search genes via the P2P network")
147
239
  .argument("<query>", "search keywords")
148
240
  .action(async (query) => {
149
241
  display.header("P2P Gene Search");
150
- const config = loadNetworkConfig();
151
- if (!config.enabled) {
152
- display.warn("P2P node is not active. Run 'rotifer network start' first.");
153
- display.info("P2P search is unavailable while the node is inactive.");
242
+ if (!(await (0, p2p_daemon_js_1.isDaemonRunning)())) {
243
+ display.warn("P2P daemon is not running. Run 'rotifer network start' first.");
154
244
  console.log();
155
245
  }
156
246
  display.info(`Preparing P2P search for: "${query}"`);
157
247
  console.log();
158
- display.info("P2P metadata search is not yet available.");
248
+ display.info("P2P metadata search (DHT) is not yet available.");
159
249
  display.hint("Use 'rotifer search' for Cloud-based gene discovery.");
160
250
  }))
161
251
  .addCommand(new commander_1.Command("announce")
162
- .description("Announce a gene to the P2P network")
252
+ .description("Announce a local gene through the running daemon")
163
253
  .argument("<gene-name>", "gene name to announce")
164
254
  .action(async (geneName) => {
165
255
  display.header("Gene Announcement");
166
- const config = loadNetworkConfig();
167
- if (!config.enabled) {
168
- display.warn("P2P node is not active. Run 'rotifer network start' first.");
256
+ const phenotypePath = (0, node_path_1.join)(process.cwd(), "genes", geneName, "phenotype.json");
257
+ if (!(0, node_fs_1.existsSync)(phenotypePath)) {
258
+ display.error(`Gene '${geneName}' not found`, `expected ${phenotypePath}`);
259
+ process.exitCode = 1;
169
260
  return;
170
261
  }
171
- display.info(`Preparing announcement for gene '${geneName}'...`);
172
- console.log();
173
- display.info("P2P gene announcement is not yet available.");
174
- display.hint("Use 'rotifer publish' to share via Cloud Registry.");
262
+ let pheno;
263
+ try {
264
+ pheno = JSON.parse((0, node_fs_1.readFileSync)(phenotypePath, "utf-8"));
265
+ }
266
+ catch (err) {
267
+ display.error("Failed to read phenotype.json", err.message);
268
+ process.exitCode = 1;
269
+ return;
270
+ }
271
+ const result = await (0, p2p_daemon_js_1.controlRequest)("POST", "/announce", {
272
+ geneId: geneName,
273
+ name: pheno.name ?? geneName,
274
+ domain: pheno.domain ?? "",
275
+ version: pheno.version ?? "0.0.0",
276
+ fidelity: pheno.fidelity ?? "Unknown",
277
+ });
278
+ if (!result) {
279
+ display.warn("P2P daemon is not running. Run 'rotifer network start' first.");
280
+ return;
281
+ }
282
+ if (!result.ok) {
283
+ display.error("Announcement failed", JSON.stringify(result.body));
284
+ process.exitCode = 1;
285
+ return;
286
+ }
287
+ display.success(`Announced '${geneName}' to the network`);
175
288
  }));
176
289
  //# sourceMappingURL=network.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/commands/network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/commands/network.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,6DAA+C;AAC/C,oDAAwC;AACxC,qCAA4E;AAC5E,yCAAiC;AACjC,6CAAyC;AACzC,2DAA2C;AAC3C,0DAA8E;AAC9E,oDAA6E;AAC7E,0DAKgC;AAEhC,MAAM,YAAY,GAAG,IAAA,gBAAI,EACvB,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,MAAM,EACrD,UAAU,CACX,CAAC;AACF,MAAM,cAAc,GAAG,IAAA,gBAAI,EAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AAS1D,SAAS,iBAAiB;IACxB,IAAI,IAAA,oBAAU,EAAC,cAAc,CAAC,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IACD,OAAO;QACL,OAAO,EAAE,IAAA,wBAAU,GAAE;QACrB,WAAW,EAAE,IAAI;QACjB,kFAAkF;QAClF,yEAAyE;QACzE,6EAA6E;QAC7E,uEAAuE;QACvE,yEAAyE;QACzE,eAAe,EAAE,EAAE;QACnB,OAAO,EAAE,KAAK;KACf,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAqB;IAC9C,IAAA,gCAAgB,EAAC,YAAY,CAAC,CAAC;IAC/B,IAAA,uBAAa,EAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACtE,IAAA,kCAAkB,EAAC,cAAc,CAAC,CAAC;AACrC,CAAC;AAED,2FAA2F;AAC3F,SAAS,WAAW,CAAC,IAAY,EAAE,IAAY,EAAE,cAAwB;IACvE,IAAA,gCAAgB,EAAC,YAAY,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,IAAA,gBAAI,EAAC,YAAY,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9F,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,KAAK,GAAG,IAAA,0BAAK,EAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE;QAC1C,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC;KAChC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,SAAiB;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,MAAM,IAAA,+BAAe,GAAE;YAAE,OAAO,IAAI,CAAC;QACzC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAEY,QAAA,cAAc,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC;KACjD,WAAW,CAAC,2BAA2B,CAAC;KACxC,UAAU,CACT,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,wBAAwB,CAAC;KACrC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAc,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAEtD,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,IAAI,MAAM,EAAE,EAAE,EAAE,CAAC;QACf,MAAM,CAAC,GAAG,MAAM,CAAC,IAIhB,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,WAAW;YAAE,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QAChE,OAAO,CAAC,EAAE,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC,CAAC,CACL;KACA,UAAU,CACT,IAAI,mBAAO,CAAC,OAAO,CAAC;KACjB,WAAW,CAAC,2CAA2C,CAAC;KACxD,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,MAAM,CAAC;KAClD,MAAM,CACL,mBAAmB,EACnB,mFAAmF,EACnF,WAAW,CACZ;KACA,MAAM,CAAC,2BAA2B,EAAE,+CAA+C,CAAC;KACpF,MAAM,CAAC,KAAK,EAAE,OAA6D,EAAE,EAAE;IAC9E,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAEtC,IAAI,MAAM,IAAA,+BAAe,GAAE,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC7E,OAAO;IACT,CAAC;IAED,uEAAuE;IACvE,gDAAgD;IAChD,IAAI,CAAC,IAAA,wBAAW,EAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACtE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,SAAS,GACb,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAC/C,CAAC,CAAC,OAAO,CAAC,SAAS;QACnB,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;IAE7B,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,oCAAoC,EACpC,SAAS,IAAA,gBAAI,EAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAC5C,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAA,+BAAe,GAAE,CAAC;IAChC,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC;IACzD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,gGAAgG,CAAC,CAAC;IACjH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;AACnE,CAAC,CAAC,CACL;IACD,8DAA8D;KAC7D,UAAU,CACT,IAAI,mBAAO,CAAC,UAAU,CAAC;KACpB,WAAW,CAAC,+BAA+B,CAAC;KAC5C,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,WAAW,CAAC;KAC5D,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,MAAM,CAAC;KAClD,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,CAAC;KACzD,MAAM,CAAC,KAAK,EAAE,OAA6D,EAAE,EAAE;IAC9E,MAAM,IAAA,yBAAS,EAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC,EACJ,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB;KACA,UAAU,CACT,IAAI,mBAAO,CAAC,MAAM,CAAC;KAChB,WAAW,CAAC,qBAAqB,CAAC;KAClC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC3C,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;AACxC,CAAC,CAAC,CACL;KACA,UAAU,CACT,IAAI,mBAAO,CAAC,OAAO,CAAC;KACjB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAc,EAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAI,MAAM,CAAC,IAA4B,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/D,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACxC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,qBAAqB,CAAC,CAAC;AACrD,CAAC,CAAC,CACL;KACA,UAAU,CACT,IAAI,mBAAO,CAAC,UAAU,CAAC;KACpB,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAc,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACxD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GACP,MAAM,CAAC,IAAmD,CAAC,aAAa,IAAI,EAAE,CAAC;IAClF,OAAO,CAAC,MAAM,CAAC,6BAA6B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;QACvF,OAAO;IACT,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,QAAQ,WAAW,IAAI,GAAG,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,2BAA2B,CAAC,CAAC;AAC1D,CAAC,CAAC,CACL;KACA,UAAU,CACT,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAClB,WAAW,CAAC,kCAAkC,CAAC;KAC/C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;KACtC,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,EAAE;IAC9B,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAClC,IAAI,CAAC,CAAC,MAAM,IAAA,+BAAe,GAAE,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,8BAA8B,KAAK,GAAG,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;AACvE,CAAC,CAAC,CACL;KACA,UAAU,CACT,IAAI,mBAAO,CAAC,UAAU,CAAC;KACpB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,QAAQ,CAAC,aAAa,EAAE,uBAAuB,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;IACjC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAEpC,MAAM,aAAa,GAAG,IAAA,gBAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAC/E,IAAI,CAAC,IAAA,oBAAU,EAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,SAAS,QAAQ,aAAa,EAAE,YAAY,aAAa,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,IAAI,KAA8E,CAAC;IACnF,IAAI,CAAC;QACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;QACvE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,IAAA,8BAAc,EAAC,MAAM,EAAE,WAAW,EAAE;QACvD,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,QAAQ;QAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE;QAC1B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,OAAO;QACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,SAAS;KACtC,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;QAC9E,OAAO;IACT,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,cAAc,QAAQ,kBAAkB,CAAC,CAAC;AAC5D,CAAC,CAAC,CACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkOpC,eAAO,MAAM,cAAc,SA2OvB,CAAC"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6RpC,eAAO,MAAM,cAAc,SA4OvB,CAAC"}
@@ -48,6 +48,8 @@ const validate_gene_name_js_1 = require("../utils/validate-gene-name.js");
48
48
  const content_hash_js_1 = require("../utils/content-hash.js");
49
49
  const pre_publish_check_js_1 = require("../publish/pre-publish-check.js");
50
50
  const detect_source_language_js_1 = require("../utils/detect-source-language.js");
51
+ const badge_js_1 = require("../cloud/badge.js");
52
+ const VG_SCANNER_VERSION = "0.8.0";
51
53
  function formatCheckIcon(status) {
52
54
  if (status === "pass")
53
55
  return palette_js_1.c.success(palette_js_1.icon.success);
@@ -63,8 +65,10 @@ async function publishSingleGene(geneName, geneDir, creds, options, isQuiet = fa
63
65
  }
64
66
  return { name: geneName, status: "skipped", error: "no phenotype.json" };
65
67
  }
68
+ let scanResult = null;
66
69
  if (!options.skipSecurity) {
67
70
  const checkResult = (0, pre_publish_check_js_1.runPrePublishChecks)(geneDir, geneName);
71
+ scanResult = checkResult.scanResult;
68
72
  if (!isQuiet) {
69
73
  for (const check of checkResult.checks) {
70
74
  console.log(` ${formatCheckIcon(check.status)} ${check.name}: ${check.message}`);
@@ -92,6 +96,9 @@ async function publishSingleGene(geneName, geneDir, creds, options, isQuiet = fa
92
96
  }
93
97
  }
94
98
  const fidelity = phenotype.fidelity || "Wrapped";
99
+ if (!phenotype.synthesisMethod) {
100
+ phenotype.synthesisMethod = "MANUAL";
101
+ }
95
102
  const irWasmPath = (0, node_path_1.join)(geneDir, "gene.ir.wasm");
96
103
  const wasmBytes = (0, node_fs_1.existsSync)(irWasmPath)
97
104
  ? (0, node_fs_1.readFileSync)(irWasmPath)
@@ -184,6 +191,7 @@ async function publishSingleGene(geneName, geneDir, creds, options, isQuiet = fa
184
191
  published_at: new Date().toISOString(),
185
192
  }, null, 2) + "\n");
186
193
  const status = result.isUpdate ? "updated" : "created";
194
+ await tryUploadVgBadge(result.id, scanResult, options, isQuiet);
187
195
  if (!options.skipArena && !isQuiet) {
188
196
  display.info(`Auto Arena submission skipped for '${geneName}' — verified runtime metrics are required. ` +
189
197
  `Run 'rotifer arena submit ${geneName} --cloud' after evaluation.`);
@@ -194,6 +202,44 @@ async function publishSingleGene(geneName, geneDir, creds, options, isQuiet = fa
194
202
  return { name: geneName, status: "failed", error: err.message };
195
203
  }
196
204
  }
205
+ /**
206
+ * Upload V(g) safety badge after successful publish (v0.9 §3.8 Phase 1).
207
+ *
208
+ * Behavior matrix (see `decideBadgeAction` in src/cloud/badge.ts).
209
+ * Failures are non-blocking: badge is observability, not protocol.
210
+ */
211
+ async function tryUploadVgBadge(geneUuid, scanResult, options, isQuiet) {
212
+ const token = process.env.ROTIFER_BADGE_TOKEN;
213
+ if (!token) {
214
+ if (!isQuiet) {
215
+ display.hint("Skipping V(g) badge upload (ROTIFER_BADGE_TOKEN not set)");
216
+ }
217
+ return;
218
+ }
219
+ const action = (0, badge_js_1.decideBadgeAction)({
220
+ skipVg: options.skipVg,
221
+ skipSecurity: options.skipSecurity,
222
+ hasScanResult: scanResult !== null,
223
+ });
224
+ if (action.kind === "skip") {
225
+ if (!isQuiet) {
226
+ display.hint(`Skipping V(g) badge upload (${action.reason})`);
227
+ }
228
+ return;
229
+ }
230
+ const payload = action.mode === "skipped" ? null : scanResult;
231
+ const r = await (0, badge_js_1.uploadSafetyBadge)(geneUuid, payload, VG_SCANNER_VERSION, action.mode, token);
232
+ if (!isQuiet) {
233
+ if (r.ok) {
234
+ const detail = action.mode === "skipped" ? "skipped" : `grade ${payload?.grade ?? "?"}`;
235
+ display.success(`V(g) badge uploaded (${detail})`);
236
+ }
237
+ else {
238
+ const detail = r.status ? `${r.status} ${r.error ?? ""}` : (r.error ?? "");
239
+ display.warn(`V(g) badge upload failed (non-blocking): ${detail}`);
240
+ }
241
+ }
242
+ }
197
243
  exports.publishCommand = new commander_1.Command("publish")
198
244
  .description("Publish gene(s) to Rotifer Cloud")
199
245
  .argument("[gene-name]", "gene name to publish (omit when using --all)")
@@ -201,6 +247,7 @@ exports.publishCommand = new commander_1.Command("publish")
201
247
  .option("--changelog <text>", "changelog entry for this version (max 500 chars)")
202
248
  .option("--skip-arena", "skip automatic Arena submission and reputation computation")
203
249
  .option("--skip-security", "skip pre-publish security checks (dangerous API / IR / secrets scan)")
250
+ .option("--skip-vg", "skip V(g) safety scan and upload 'skipped' badge placeholder (badge displays 'skipped')")
204
251
  .option("--all", "publish all valid genes in the genes directory")
205
252
  .option("--lang <lang>", "explicitly declare source language (typescript|rust|assemblyscript|go|c|external)")
206
253
  .action(async (geneName, options) => {
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"reputation.d.ts","sourceRoot":"","sources":["../../src/commands/reputation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,eAAO,MAAM,iBAAiB,SAgC3B,CAAC"}
1
+ {"version":3,"file":"reputation.d.ts","sourceRoot":"","sources":["../../src/commands/reputation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,eAAO,MAAM,iBAAiB,SAsC3B,CAAC"}
@@ -39,13 +39,14 @@ const display = __importStar(require("../utils/display.js"));
39
39
  const palette_js_1 = require("../utils/palette.js");
40
40
  const client_js_1 = require("../cloud/client.js");
41
41
  const auth_js_1 = require("../cloud/auth.js");
42
+ const gene_ref_js_1 = require("../cloud/gene-ref.js");
42
43
  exports.reputationCommand = new commander_1.Command("reputation")
43
44
  .description("View gene and creator reputation scores")
44
- .argument("[gene-ref]", "gene UUID, name, or content hash")
45
+ .argument("[ref]", "gene ref (UUID, name, content hash, @owner/name) or @username")
45
46
  .option("--mine", "show your creator reputation", false)
46
47
  .option("--leaderboard", "show creator leaderboard", false)
47
48
  .option("--top <n>", "number of entries in leaderboard", "10")
48
- .action(async (geneRef, options) => {
49
+ .action(async (ref, options) => {
49
50
  if (options.leaderboard) {
50
51
  await showLeaderboard(parseInt(options.top, 10));
51
52
  return;
@@ -54,12 +55,18 @@ exports.reputationCommand = new commander_1.Command("reputation")
54
55
  await showMyReputation();
55
56
  return;
56
57
  }
57
- if (geneRef) {
58
- await showGeneReputation(geneRef);
58
+ if (ref) {
59
+ const userRef = (0, gene_ref_js_1.parseUserRef)(ref);
60
+ if (userRef) {
61
+ await showUserReputation(userRef.username);
62
+ return;
63
+ }
64
+ await showGeneReputation(ref);
59
65
  return;
60
66
  }
61
- display.error("Specify a gene reference, --mine, or --leaderboard");
62
- display.hint("Usage: rotifer reputation <gene-ref>");
67
+ display.error("Specify a gene reference, @username, --mine, or --leaderboard");
68
+ display.hint("Usage: rotifer reputation <gene-ref> # by UUID, name, or @owner/name");
69
+ display.hint(" rotifer reputation @username # creator reputation");
63
70
  display.hint(" rotifer reputation --mine");
64
71
  display.hint(" rotifer reputation --leaderboard");
65
72
  process.exit(1);
@@ -67,7 +74,11 @@ exports.reputationCommand = new commander_1.Command("reputation")
67
74
  async function showGeneReputation(geneRef) {
68
75
  const s = display.spinner("Fetching gene reputation...");
69
76
  try {
70
- const rep = await (0, client_js_1.getGeneReputation)(geneRef);
77
+ // Resolve any user-facing ref (UUID / contentHash / @owner/name / plain
78
+ // name) into the gene UUID first; getGeneReputation expects a UUID and
79
+ // PostgreSQL throws a UUID-parse error otherwise (Issue #50 Bug 3).
80
+ const gene = await (0, client_js_1.getGene)(geneRef);
81
+ const rep = await (0, client_js_1.getGeneReputation)(gene.id);
71
82
  s.stop();
72
83
  display.renderResult(rep, (data) => {
73
84
  display.header("Gene Reputation");
@@ -101,12 +112,42 @@ async function showMyReputation() {
101
112
  process.exit(1);
102
113
  return;
103
114
  }
115
+ await renderCreatorReputation(creds.user.username, creds.user.id, {
116
+ header: "My Creator Reputation",
117
+ });
118
+ }
119
+ async function showUserReputation(username) {
120
+ const s = display.spinner(`Looking up @${username}...`);
121
+ let profile;
122
+ try {
123
+ profile = await (0, client_js_1.getProfileByUsername)(username);
124
+ }
125
+ catch (err) {
126
+ s.stop();
127
+ const msg = err instanceof Error ? err.message : "Failed to look up user";
128
+ display.error(msg);
129
+ display.hint("Check your network connection and try again.");
130
+ process.exit(1);
131
+ return;
132
+ }
133
+ s.stop();
134
+ if (!profile) {
135
+ display.error(`Creator @${username} not found in Rotifer Cloud.`);
136
+ display.hint("Check the @username spelling, or run 'rotifer reputation --leaderboard' to discover creators.");
137
+ process.exit(1);
138
+ return;
139
+ }
140
+ await renderCreatorReputation(profile.username, profile.id, {
141
+ header: `Creator Reputation: @${profile.username}`,
142
+ });
143
+ }
144
+ async function renderCreatorReputation(username, userId, opts) {
104
145
  const s = display.spinner("Fetching creator reputation...");
105
146
  try {
106
- const rep = await (0, client_js_1.getDeveloperReputation)(creds.user.id);
147
+ const rep = await (0, client_js_1.getDeveloperReputation)(userId);
107
148
  s.stop();
108
- display.renderResult({ username: creds.user.username, ...rep }, (data) => {
109
- display.header("My Creator Reputation");
149
+ display.renderResult({ username, ...rep }, (data) => {
150
+ display.header(opts.header);
110
151
  console.log();
111
152
  display.kv("Creator", `@${data.username}`);
112
153
  display.kv("Overall Score", (0, palette_js_1.scoreColor)(data.score));