@rotifer/playground 0.27.0 → 0.28.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 (61) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +3 -1
  3. package/README.zh.md +3 -1
  4. package/dist/cloud/capability-candidates.d.ts +87 -0
  5. package/dist/cloud/capability-candidates.d.ts.map +1 -0
  6. package/dist/cloud/capability-candidates.js +244 -0
  7. package/dist/cloud/capability-candidates.js.map +1 -0
  8. package/dist/commands/agent-create.d.ts +8 -0
  9. package/dist/commands/agent-create.d.ts.map +1 -1
  10. package/dist/commands/agent-create.js +5 -2
  11. package/dist/commands/agent-create.js.map +1 -1
  12. package/dist/commands/agent-run.d.ts.map +1 -1
  13. package/dist/commands/agent-run.js +23 -13
  14. package/dist/commands/agent-run.js.map +1 -1
  15. package/dist/commands/genome-import.d.ts +122 -0
  16. package/dist/commands/genome-import.d.ts.map +1 -0
  17. package/dist/commands/genome-import.js +632 -0
  18. package/dist/commands/genome-import.js.map +1 -0
  19. package/dist/commands/genome.d.ts +213 -0
  20. package/dist/commands/genome.d.ts.map +1 -0
  21. package/dist/commands/genome.js +606 -0
  22. package/dist/commands/genome.js.map +1 -0
  23. package/dist/commands/install.d.ts +54 -0
  24. package/dist/commands/install.d.ts.map +1 -1
  25. package/dist/commands/install.js +148 -75
  26. package/dist/commands/install.js.map +1 -1
  27. package/dist/commands/publish.js +2 -2
  28. package/dist/commands/publish.js.map +1 -1
  29. package/dist/commands/vg.js +2 -2
  30. package/dist/commands/vg.js.map +1 -1
  31. package/dist/index.js +4 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/publish/pre-publish-check.d.ts +15 -0
  34. package/dist/publish/pre-publish-check.d.ts.map +1 -1
  35. package/dist/publish/pre-publish-check.js +17 -2
  36. package/dist/publish/pre-publish-check.js.map +1 -1
  37. package/dist/scanner/index.d.ts +1 -1
  38. package/dist/scanner/index.d.ts.map +1 -1
  39. package/dist/scanner/index.js +3 -1
  40. package/dist/scanner/index.js.map +1 -1
  41. package/dist/scanner/literals.d.ts +2 -0
  42. package/dist/scanner/literals.d.ts.map +1 -0
  43. package/dist/scanner/literals.js +293 -0
  44. package/dist/scanner/literals.js.map +1 -0
  45. package/dist/scanner/rules.d.ts +14 -0
  46. package/dist/scanner/rules.d.ts.map +1 -1
  47. package/dist/scanner/rules.js +30 -1
  48. package/dist/scanner/rules.js.map +1 -1
  49. package/dist/scanner/scanner.d.ts.map +1 -1
  50. package/dist/scanner/scanner.js +8 -1
  51. package/dist/scanner/scanner.js.map +1 -1
  52. package/dist/scanner/types.d.ts +7 -0
  53. package/dist/scanner/types.d.ts.map +1 -1
  54. package/dist/utils/binding.d.ts +1 -1
  55. package/dist/utils/binding.d.ts.map +1 -1
  56. package/dist/utils/binding.js.map +1 -1
  57. package/dist/utils/rust-phenotype.d.ts +24 -0
  58. package/dist/utils/rust-phenotype.d.ts.map +1 -0
  59. package/dist/utils/rust-phenotype.js +59 -0
  60. package/dist/utils/rust-phenotype.js.map +1 -0
  61. package/package.json +5 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust-phenotype.d.ts","sourceRoot":"","sources":["../../src/utils/rust-phenotype.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAqBH;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBzB"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ /**
3
+ * Converts a phenotype.json, as the CLI writes it, into the JSON shape that
4
+ * `rotifer_core::types::gene::Phenotype` deserializes:
5
+ *
6
+ * | field | phenotype.json | Rust |
7
+ * |----------------|------------------------------------|----------------------|
8
+ * | `irHash` | 64-char hex string | `Option<[u8; 32]>` |
9
+ * | `createdAt` | epoch ms, or ISO 8601 (`wrap`) | `u64` epoch ms |
10
+ * | `dependencies` | gene names, or 64-char hex ids | `Vec<[u8; 32]>` |
11
+ *
12
+ * Values are converted, not dropped. A value that cannot be converted
13
+ * faithfully (an irHash that is not 32 bytes of hex, a createdAt that is not a
14
+ * date) is omitted, so Rust falls back to its serde default (`None` / `0`).
15
+ * None of the three fields is read while executing a gene — they are
16
+ * metadata — so omitting one does not change what runs.
17
+ *
18
+ * Other fields pass through unchanged.
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.toRustPhenotype = toRustPhenotype;
22
+ const HEX_32_BYTES = /^[0-9a-fA-F]{64}$/;
23
+ function hexToBytes(hex) {
24
+ const bytes = [];
25
+ for (let i = 0; i < 64; i += 2)
26
+ bytes.push(parseInt(hex.slice(i, i + 2), 16));
27
+ return bytes;
28
+ }
29
+ function toEpochMillis(value) {
30
+ if (typeof value === "number") {
31
+ return Number.isSafeInteger(value) && value >= 0 ? value : undefined;
32
+ }
33
+ if (typeof value === "string") {
34
+ const ms = Date.parse(value);
35
+ return Number.isFinite(ms) && ms >= 0 ? ms : undefined;
36
+ }
37
+ return undefined;
38
+ }
39
+ /**
40
+ * @param geneId maps a dependency given by gene name to its gene id, using the
41
+ * same derivation as the gene entries passed alongside the phenotype.
42
+ */
43
+ function toRustPhenotype(phenotype, geneId) {
44
+ const { irHash, createdAt, dependencies, ...rest } = phenotype;
45
+ const out = { ...rest };
46
+ if (typeof irHash === "string" && HEX_32_BYTES.test(irHash)) {
47
+ out.irHash = hexToBytes(irHash);
48
+ }
49
+ const ms = toEpochMillis(createdAt);
50
+ if (ms !== undefined)
51
+ out.createdAt = ms;
52
+ if (Array.isArray(dependencies)) {
53
+ out.dependencies = dependencies
54
+ .filter((d) => typeof d === "string" && d.length > 0)
55
+ .map((d) => hexToBytes(HEX_32_BYTES.test(d) ? d : geneId(d)));
56
+ }
57
+ return out;
58
+ }
59
+ //# sourceMappingURL=rust-phenotype.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rust-phenotype.js","sourceRoot":"","sources":["../../src/utils/rust-phenotype.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;GAiBG;;AAyBH,0CAqBC;AA5CD,MAAM,YAAY,GAAG,mBAAmB,CAAC;AAEzC,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACzD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAC7B,SAAkC,EAClC,MAAoC;IAEpC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC;IAC/D,MAAM,GAAG,GAA4B,EAAE,GAAG,IAAI,EAAE,CAAC;IAEjD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,EAAE,KAAK,SAAS;QAAE,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;IAEzC,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,YAAY,GAAG,YAAY;aAC5B,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;aACjE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rotifer/playground",
3
- "version": "0.27.0",
3
+ "version": "0.28.0",
4
4
  "description": "Rotifer Protocol Playground — local development environment for gene development, Arena competition, and protocol simulation",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Rotifer Protocol Contributors",
@@ -92,10 +92,10 @@
92
92
  },
93
93
  "optionalDependencies": {
94
94
  "@rolldown/binding-linux-x64-gnu": "1.1.1",
95
- "@rotifer/playground-darwin-arm64": "0.27.0",
96
- "@rotifer/playground-darwin-x64": "0.27.0",
97
- "@rotifer/playground-linux-x64-gnu": "0.27.0",
98
- "@rotifer/playground-win32-x64-msvc": "0.27.0"
95
+ "@rotifer/playground-darwin-arm64": "0.28.0",
96
+ "@rotifer/playground-darwin-x64": "0.28.0",
97
+ "@rotifer/playground-linux-x64-gnu": "0.28.0",
98
+ "@rotifer/playground-win32-x64-msvc": "0.28.0"
99
99
  },
100
100
  "engines": {
101
101
  "node": ">=22.18.0"