@neikyun/ciel 5.1.8 → 5.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AAmBA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAqB9C"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"AAqCA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA8B9C"}
package/dist/cli/check.js CHANGED
@@ -16,6 +16,25 @@ function fetchUrl(url) {
16
16
  }).on("error", reject);
17
17
  });
18
18
  }
19
+ /**
20
+ * Compare two semver strings. Returns:
21
+ * 1 if a > b
22
+ * -1 if a < b
23
+ * 0 if equal
24
+ */
25
+ function compareVersions(a, b) {
26
+ const pa = a.split(".").map(Number);
27
+ const pb = b.split(".").map(Number);
28
+ for (let i = 0; i < Math.max(pa.length, pb.length); i++) {
29
+ const na = pa[i] || 0;
30
+ const nb = pb[i] || 0;
31
+ if (na > nb)
32
+ return 1;
33
+ if (na < nb)
34
+ return -1;
35
+ }
36
+ return 0;
37
+ }
19
38
  async function runCheck() {
20
39
  try {
21
40
  const remoteVersion = await fetchUrl(`${GITHUB_RAW}/VERSION`);
@@ -24,12 +43,19 @@ async function runCheck() {
24
43
  (0, utils_1.err)("Check your internet connection.");
25
44
  process.exit(2);
26
45
  }
27
- if (remoteVersion === CIEL_VERSION) {
46
+ const cmp = compareVersions(CIEL_VERSION, remoteVersion);
47
+ if (cmp === 0) {
28
48
  (0, utils_1.ok)(`Ciel v${CIEL_VERSION} is up to date.`);
29
49
  process.exit(0);
30
50
  }
31
- console.log(` Update available: v${CIEL_VERSION} → v${remoteVersion}`);
32
- console.log(" Run 'npx ciel-init update' to upgrade.");
51
+ if (cmp < 0) {
52
+ // Remote is newer
53
+ console.log(` Update available: v${CIEL_VERSION} → ${remoteVersion}`);
54
+ console.log(" Run 'npx ciel update' to upgrade.");
55
+ process.exit(0);
56
+ }
57
+ // Local is newer (dev mode)
58
+ (0, utils_1.say)(`Ciel v${CIEL_VERSION} (ahead of remote v${remoteVersion} — dev mode)`);
33
59
  process.exit(0);
34
60
  }
35
61
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":";AAAA,uDAAuD;;AAmBvD,4BAqBC;AAtCD,iCAAwC;AACxC,mCAAkC;AAClC,uCAAuC;AAEvC,MAAM,UAAU,GAAG,sDAAsD,CAAC;AAC1E,MAAM,YAAY,GAAG,IAAA,oBAAU,GAAE,CAAC;AAElC,SAAS,QAAQ,CAAC,GAAW;IAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,WAAQ,EAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;YACpB,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;YACnD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACzB,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,QAAQ;IAC5B,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,GAAG,UAAU,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAA,WAAG,EAAC,6CAA6C,CAAC,CAAC;YACnD,IAAA,WAAG,EAAC,iCAAiC,CAAC,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;YACnC,IAAA,UAAE,EAAC,SAAS,YAAY,iBAAiB,CAAC,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,YAAY,OAAO,aAAa,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAA,WAAG,EAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/cli/check.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neikyun/ciel",
3
- "version": "5.1.8",
3
+ "version": "5.2.0",
4
4
  "description": "Ciel — Deep-reasoning pipeline for LLM-assisted development. OpenCode plugin + multi-platform CLI (OpenCode, Claude Code, more).",
5
5
  "main": "./dist/plugin/index.js",
6
6
  "types": "./dist/plugin/index.d.ts",
@@ -191,19 +191,21 @@ async function main() {
191
191
  const action = isUpdate ? "mise à jour" : "configuration";
192
192
  console.log(`\n ${bold("✦ Ciel v" + CIEL_VERSION)} — ${action} pour ${cyan(platforms.join(" + "))}`);
193
193
 
194
- // Prompt (skip if unattended already accepted)
194
+ // Prompt (skip if non-interactive)
195
195
  let answer = "y";
196
- try {
197
- const readline = require("readline");
198
- const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
199
- answer = await new Promise((resolve) => {
200
- rl.question(` ${yellow("?")} ${isUpdate ? "Mettre à jour" : "Configurer"} Ciel ? ${green("(Y/n)")} `, (a) => {
201
- rl.close();
202
- resolve(a.trim().toLowerCase() || "y");
196
+ if (process.stdin.isTTY) {
197
+ try {
198
+ const readline = require("readline");
199
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
200
+ answer = await new Promise((resolve) => {
201
+ rl.question(` ${yellow("?")} ${isUpdate ? "Mettre à jour" : "Configurer"} Ciel ? ${green("(Y/n)")} `, (a) => {
202
+ rl.close();
203
+ resolve(a.trim().toLowerCase() || "y");
204
+ });
203
205
  });
204
- });
205
- } catch {
206
- answer = "y";
206
+ } catch {
207
+ answer = "y";
208
+ }
207
209
  }
208
210
 
209
211
  if (answer !== "y" && answer !== "yes") {