@cloud-cli/on 1.7.4 → 1.7.6

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/dist/on.js CHANGED
@@ -4469,7 +4469,8 @@ var pi = class {
4469
4469
  await S.run("UPDATE jobs SET status = ?, finished_at = CURRENT_TIMESTAMP WHERE id = ?;", [t, e]);
4470
4470
  }
4471
4471
  async restartJob(e) {
4472
- await S.run("UPDATE jobs SET status = 'cancelled', finished_at = CURRENT_TIMESTAMP WHERE id = ?;", [e]), await S.run("INSERT INTO jobs (workflow_id, concurrency_key, payload) VALUES (SELECT workflow_id, concurrency_key, payload FROM jobs WHERE id = ?)", [e]);
4472
+ let t = await this.getJob(e);
4473
+ if (t) return t.status === "running" && await S.run("UPDATE jobs SET status = 'cancelled', finished_at = CURRENT_TIMESTAMP WHERE id = ?;", [e]), (await S.get("INSERT INTO jobs (parentId, workflow_id, concurrency_key, payload) (SELECT id, workflow_id, concurrency_key, payload FROM jobs WHERE id = ?) RETURNING *", [e])).id;
4473
4474
  }
4474
4475
  async isCancelled(e) {
4475
4476
  return (await S.get("SELECT status FROM jobs WHERE id = ?;", [+e]))?.status === "cancelled";
@@ -4478,7 +4479,7 @@ var pi = class {
4478
4479
  return await S.run("UPDATE jobs SET status = 'pending', worker_id = NULL WHERE status = 'running' AND started_at < datetime('now', '-1 hour');");
4479
4480
  }
4480
4481
  async createTables() {
4481
- await S.exec("\n CREATE TABLE IF NOT EXISTS jobs (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n workflow_id TEXT NOT NULL,\n payload TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n concurrency_key TEXT,\n worker_id TEXT,\n report TEXT,\n created_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n started_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n finished_at DATETIME DEFAULT CURRENT_TIMESTAMP\n );\n\n CREATE TABLE IF NOT EXISTS step_logs (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n job_id INTEGER NOT NULL,\n step_id TEXT NOT NULL,\n log_content TEXT NOT NULL,\n created_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY(job_id) REFERENCES jobs(id) ON DELETE CASCADE\n );\n\n CREATE INDEX IF NOT EXISTS idx_step_logs_job ON step_logs(job_id);\n ");
4482
+ await S.exec("\n CREATE TABLE IF NOT EXISTS jobs (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n parentId INTEGER,\n workflow_id TEXT NOT NULL,\n payload TEXT NOT NULL,\n status TEXT NOT NULL DEFAULT 'pending',\n concurrency_key TEXT,\n worker_id TEXT,\n report TEXT,\n created_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n updated_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n started_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n finished_at DATETIME DEFAULT CURRENT_TIMESTAMP\n );\n\n CREATE TABLE IF NOT EXISTS step_logs (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n job_id INTEGER NOT NULL,\n step_id TEXT NOT NULL,\n log_content TEXT NOT NULL,\n created_at DATETIME DEFAULT CURRENT_TIMESTAMP,\n FOREIGN KEY(job_id) REFERENCES jobs(id) ON DELETE CASCADE\n );\n\n CREATE INDEX IF NOT EXISTS idx_step_logs_job ON step_logs(job_id);\n ");
4482
4483
  }
4483
4484
  async getJob(e) {
4484
4485
  return S.get("SELECT * FROM jobs WHERE id = ?", [e]);
@@ -8369,11 +8370,11 @@ var Io, Lo, Ro, zo = class {
8369
8370
  </h1>
8370
8371
  <p class="text-xs text-gray-400 mt-1">Started ${e.startedAt} • Finished in ${e.durationMs}ms</p>
8371
8372
  </div>
8372
- <div>
8373
+ <div class="flex items-center gap-2">
8373
8374
  <span class="px-4 py-1.5 rounded-full text-sm font-semibold border ${t}">
8374
8375
  ${e.status.toUpperCase()}
8375
8376
  </span>
8376
- <button class="text-xs text-white p-1 border border-gray-400 mt-2" onclick="restartJob('${e.jobId}')">restart</button>
8377
+ <button class="text-sm text-white px-4 py-1.5 border border-gray-400 rounded-full" onclick="restartJob('${e.jobId}')">restart</button>
8377
8378
  </div>
8378
8379
  </div>
8379
8380
 
@@ -8642,12 +8643,12 @@ var Io, Lo, Ro, zo = class {
8642
8643
  t.writeHead(200, { "Content-Type": "text/html; charset=utf-8" }), t.end(o);
8643
8644
  }
8644
8645
  async handleRestartJob(e, t) {
8645
- let n = await this.queue.getJob(e);
8646
- return n ? [
8647
- "cancelled",
8648
- "failed",
8649
- "success"
8650
- ].includes(n.status) === !1 ? (t.writeHead(404, { "Content-Type": "text/html; charset=utf-8" }), t.end("<h1>404 - Cannot restart a job already in progress</h1>")) : (await this.queue.restartJob(e), t.end("OK")) : (t.writeHead(404, { "Content-Type": "text/html; charset=utf-8" }), t.end("<h1>404 - Job Not Found</h1>"));
8646
+ let n = await this.queue.restartJob(e);
8647
+ if (n) {
8648
+ t.writeHead(201, { "Content-Type": "application/json" }), t.end(JSON.stringify({ id: n }));
8649
+ return;
8650
+ }
8651
+ t.writeHead(404, { "Content-Type": "application/json" }), t.end(JSON.stringify({ error: "Job not found" }));
8651
8652
  }
8652
8653
  listen(e) {
8653
8654
  return new Promise((t) => {
package/dist/queue.d.ts CHANGED
@@ -17,7 +17,7 @@ export declare class QueueManager {
17
17
  * Marks a job as completed or failed
18
18
  */
19
19
  finishJob(jobId: string | number, status: JobStatus): Promise<void>;
20
- restartJob(jobId: string | number): Promise<void>;
20
+ restartJob(jobId: string | number): Promise<any>;
21
21
  /**
22
22
  * Checks if the current job has been marked for cancellation by another event
23
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvF,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAE9B,IAAI;IAKV;;;OAGG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM;IAkB9E;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAwB/C;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS;IAInD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAQvC;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrD,cAAc;IAMd,YAAY;IA6BlB;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlD;;OAEG;IACG,QAAQ,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAI1C;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxF;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5F;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAS1E"}
1
+ {"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../src/queue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvF,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAE9B,IAAI;IAKV;;;OAGG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM;IAkB9E;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAwB/C;;OAEG;IACG,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS;IAInD,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAiBvC;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrD,cAAc;IAMd,YAAY;IA8BlB;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIlD;;OAEG;IACG,QAAQ,CAAC,KAAK,SAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAI1C;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxF;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5F;;OAEG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAS1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,mBAAmB,EACnB,oBAAoB,EAGrB,MAAM,YAAY,CAAC;AAGpB,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,UAAU,CAAS;WAEd,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;gBAK1D,OAAO,EAAE,oBAAoB;IAczC,oBAAoB,CAAC,YAAY,EAAE,mBAAmB;YAIxC,aAAa;IAkC3B;;OAEG;YACW,aAAa;YAyBb,WAAW;IAwBzB,OAAO,CAAC,UAAU;YAiBJ,cAAc;IAmC5B;;OAEG;YACW,kBAAkB;IAehC;;OAEG;YACW,eAAe;IA8G7B;;OAEG;YACW,gBAAgB;YA2BhB,gBAAgB;IAiB9B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAStC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ5B"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,mBAAmB,EACnB,oBAAoB,EAGrB,MAAM,YAAY,CAAC;AAGpB,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,UAAU,CAAS;WAEd,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;gBAK1D,OAAO,EAAE,oBAAoB;IAczC,oBAAoB,CAAC,YAAY,EAAE,mBAAmB;YAIxC,aAAa;IAkC3B;;OAEG;YACW,aAAa;YAyBb,WAAW;IAwBzB,OAAO,CAAC,UAAU;YAiBJ,cAAc;IAmC5B;;OAEG;YACW,kBAAkB;IAehC;;OAEG;YACW,eAAe;IA8G7B;;OAEG;YACW,gBAAgB;YA2BhB,gBAAgB;IAa9B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAStC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cloud-cli/on",
3
- "version": "1.7.4",
3
+ "version": "1.7.6",
4
4
  "description": "CLI entry point for the on plugin ecosystem.",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.30.3",