svamp-cli 0.2.181 → 0.2.183

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 (25) hide show
  1. package/dist/{agentCommands-CKSZimNF.mjs → agentCommands-CDRs-TTe.mjs} +5 -5
  2. package/dist/{auth-BVDufOmQ.mjs → auth-BwjvUcKt.mjs} +1 -1
  3. package/dist/cli.mjs +60 -60
  4. package/dist/{commands-klb9OsmV.mjs → commands-Bv7vbi-z.mjs} +1 -1
  5. package/dist/{commands-DUTReua3.mjs → commands-C2mXJNwA.mjs} +20 -3
  6. package/dist/{commands-DuvX1TtC.mjs → commands-D4hGdv1B.mjs} +5 -5
  7. package/dist/{commands-CL9hxClH.mjs → commands-DQ_kpWqH.mjs} +1 -1
  8. package/dist/{commands-BS2iZc30.mjs → commands-D_wD9qIr.mjs} +2 -2
  9. package/dist/{commands-qbv-1BoA.mjs → commands-ix9L1jaQ.mjs} +1 -1
  10. package/dist/{commands-BG-Y0806.mjs → commands-pMwoqGpe.mjs} +2 -2
  11. package/dist/{fleet-IKkKrYCK.mjs → fleet-B4hfyHp4.mjs} +1 -1
  12. package/dist/{frpc-CLJ1PNTL.mjs → frpc-BzkAtKLy.mjs} +1 -1
  13. package/dist/{headlessCli-C8-hCKbi.mjs → headlessCli-ohRvD7CT.mjs} +2 -2
  14. package/dist/index.mjs +1 -1
  15. package/dist/{package-D4USifdR.mjs → package-CcFzcCql.mjs} +1 -1
  16. package/dist/{rpc-D3J1JM29.mjs → rpc-BwqRLir7.mjs} +1 -1
  17. package/dist/{rpc-DLPG3JvW.mjs → rpc-degyMl0V.mjs} +8 -2
  18. package/dist/{run-C9PMX7NQ.mjs → run-68xel1pO.mjs} +180 -95
  19. package/dist/{run-D5-ounOl.mjs → run-B2aWNd0R.mjs} +1 -1
  20. package/dist/{scheduler-Bgs6H33k.mjs → scheduler-D0FGGxti.mjs} +3 -2
  21. package/dist/{serveCommands-Dx5BiAfU.mjs → serveCommands-Bo2xZPIZ.mjs} +5 -5
  22. package/dist/{serveManager-B6bHAn0B.mjs → serveManager-BKbhWnMy.mjs} +2 -2
  23. package/dist/{sideband-Dd1I6S5u.mjs → sideband-B1jzlbuf.mjs} +1 -1
  24. package/dist/{store-BPL__e4D.mjs → store-D-fJ9ANL.mjs} +17 -2
  25. package/package.json +1 -1
@@ -2,6 +2,9 @@ import { existsSync, unlinkSync, readFileSync, readdirSync, mkdirSync, writeFile
2
2
  import { join } from 'node:path';
3
3
  import { parse, stringify } from 'yaml';
4
4
 
5
+ function isWorkflowEnabled(wf) {
6
+ return wf.enabled !== false;
7
+ }
5
8
  function workflowSteps(wf) {
6
9
  return Object.values(wf.jobs || {}).flatMap((j) => j?.steps || []);
7
10
  }
@@ -54,7 +57,9 @@ function parseWorkflow(content) {
54
57
  name: String(o.name),
55
58
  on: normalizeOn(o.on),
56
59
  jobs: normalizeJobs(o.jobs),
57
- session: o.session ?? null
60
+ session: o.session ?? null,
61
+ // Only `enabled: false` disables; anything else (absent/true) is active.
62
+ ...o.enabled === false ? { enabled: false } : {}
58
63
  };
59
64
  } catch {
60
65
  return null;
@@ -63,6 +68,7 @@ function parseWorkflow(content) {
63
68
  function serializeWorkflow(wf) {
64
69
  const clean = { name: wf.name };
65
70
  if (wf.session) clean.session = wf.session;
71
+ if (wf.enabled === false) clean.enabled = false;
66
72
  const on = {};
67
73
  if (wf.on?.schedule?.length) on.schedule = wf.on.schedule.map((s) => ({ cron: s.cron }));
68
74
  if (wf.on?.workflow_dispatch) on.workflow_dispatch = {};
@@ -111,6 +117,15 @@ function saveWorkflow(projectRoot, wf) {
111
117
  writeFileSync(tmp, serializeWorkflow(wf));
112
118
  renameSync(tmp, path);
113
119
  }
120
+ function setWorkflowEnabled(projectRoot, name, enabled) {
121
+ const wf = getWorkflow(projectRoot, name);
122
+ if (!wf) return null;
123
+ const next = { ...wf };
124
+ if (enabled) delete next.enabled;
125
+ else next.enabled = false;
126
+ saveWorkflow(projectRoot, next);
127
+ return next;
128
+ }
114
129
  function removeWorkflow(projectRoot, name) {
115
130
  const p = workflowPath(projectRoot, name);
116
131
  if (!existsSync(p)) return false;
@@ -122,4 +137,4 @@ function removeWorkflow(projectRoot, name) {
122
137
  }
123
138
  }
124
139
 
125
- export { rawWorkflow as a, workflowCrons as b, getWorkflow as g, listWorkflows as l, removeWorkflow as r, saveWorkflow as s, workflowSteps as w };
140
+ export { saveWorkflow as a, rawWorkflow as b, workflowCrons as c, getWorkflow as g, isWorkflowEnabled as i, listWorkflows as l, removeWorkflow as r, setWorkflowEnabled as s, workflowSteps as w };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svamp-cli",
3
- "version": "0.2.181",
3
+ "version": "0.2.183",
4
4
  "description": "Svamp CLI — AI workspace daemon on Hypha Cloud",
5
5
  "author": "Amun AI AB",
6
6
  "license": "SEE LICENSE IN LICENSE",