@studioindia/designx 1.2.0 → 1.2.1

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.
package/bin/designx.js CHANGED
@@ -144,6 +144,21 @@ setTimeout(() => {
144
144
  })
145
145
  }, 3000) // wait 3 s to not slow perceived startup
146
146
 
147
+ // Re-check every 30 min so banner appears for long-running sessions
148
+ // (covers the case where a new version is published after app startup)
149
+ setInterval(() => {
150
+ exec('npm view @studioindia/designx version --json 2>/dev/null', { timeout: 10000 }, (err, stdout) => {
151
+ if (err || !stdout) return
152
+ try {
153
+ const latest = JSON.parse(stdout.trim()).replace(/^"|"$/g, '')
154
+ if (latest && latest !== version && isNewer(latest, version)) {
155
+ writeFileSync(UPDATE_FLAG, JSON.stringify({ latest, current: version }), 'utf8')
156
+ console.log(` [designx] Update available: v${version} → v${latest} (Relaunch to update)`)
157
+ }
158
+ } catch { /* malformed response */ }
159
+ })
160
+ }, 30 * 60 * 1000)
161
+
147
162
  function isNewer(a, b) {
148
163
  const pa = a.split('.').map(Number)
149
164
  const pb = b.split('.').map(Number)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studioindia/designx",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "AI-powered product design pipeline — from brief to working app",
5
5
  "type": "module",
6
6
  "engines": {
package/server.cjs CHANGED
@@ -42674,10 +42674,10 @@ var require_buffer_list = __commonJS({
42674
42674
  }
42675
42675
  return (hint === "string" ? String : Number)(input);
42676
42676
  }
42677
- var _require = require("buffer");
42678
- var Buffer2 = _require.Buffer;
42679
- var _require2 = require("util");
42680
- var inspect = _require2.inspect;
42677
+ var _require2 = require("buffer");
42678
+ var Buffer2 = _require2.Buffer;
42679
+ var _require22 = require("util");
42680
+ var inspect = _require22.inspect;
42681
42681
  var custom = inspect && inspect.custom || "inspect";
42682
42682
  function copyBuffer(src, target, offset) {
42683
42683
  Buffer2.prototype.copy.call(src, target, offset);
@@ -43098,8 +43098,8 @@ var require_stream_writable = __commonJS({
43098
43098
  return Buffer2.isBuffer(obj) || obj instanceof OurUint8Array;
43099
43099
  }
43100
43100
  var destroyImpl = require_destroy();
43101
- var _require = require_state();
43102
- var getHighWaterMark = _require.getHighWaterMark;
43101
+ var _require2 = require_state();
43102
+ var getHighWaterMark = _require2.getHighWaterMark;
43103
43103
  var _require$codes = require_errors2().codes;
43104
43104
  var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;
43105
43105
  var ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED;
@@ -44352,8 +44352,8 @@ var require_stream_readable = __commonJS({
44352
44352
  }
44353
44353
  var BufferList = require_buffer_list();
44354
44354
  var destroyImpl = require_destroy();
44355
- var _require = require_state();
44356
- var getHighWaterMark = _require.getHighWaterMark;
44355
+ var _require2 = require_state();
44356
+ var getHighWaterMark = _require2.getHighWaterMark;
44357
44357
  var _require$codes = require_errors2().codes;
44358
44358
  var ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE;
44359
44359
  var ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF;
@@ -46117,6 +46117,7 @@ var import_node_os = require("node:os");
46117
46117
  var import_node_crypto = require("node:crypto");
46118
46118
  var import_node_url = require("node:url");
46119
46119
  var import_node_child_process = require("node:child_process");
46120
+ var import_node_module = require("node:module");
46120
46121
 
46121
46122
  // src/lib/copilot/headers.ts
46122
46123
  var import_meta = {};
@@ -46213,6 +46214,14 @@ var __filename = (() => {
46213
46214
  return process.argv[1] ?? "";
46214
46215
  })();
46215
46216
  var __dirname = import_node_path.default.dirname(__filename);
46217
+ var _require = (0, import_node_module.createRequire)(import_meta2.url ?? `file://${__filename}`);
46218
+ var PKG_VERSION = (() => {
46219
+ try {
46220
+ return _require("../package.json").version;
46221
+ } catch {
46222
+ return "unknown";
46223
+ }
46224
+ })();
46216
46225
  var app = (0, import_express.default)();
46217
46226
  var IS_PROD = process.env.NODE_ENV === "production";
46218
46227
  var PORT = parseInt(process.env.PORT ?? "3001", 10);
@@ -47467,7 +47476,7 @@ function writeJson(filePath, data) {
47467
47476
  }
47468
47477
  app.get("/api/config", (_req, res) => {
47469
47478
  res.json({
47470
- version: "1.0.2",
47479
+ version: PKG_VERSION,
47471
47480
  port: PORT,
47472
47481
  dataDir: DESIGNX_DATA_DIR,
47473
47482
  isProd: IS_PROD