@jelou/cli 1.83.0 → 1.84.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 (1) hide show
  1. package/package.json +19 -31
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jelou/cli",
3
- "version": "1.83.0",
3
+ "version": "1.84.0",
4
4
  "description": "Build AI agents on the Jelou platform — from your terminal or your AI editor.",
5
5
  "author": "Jelou Inc. (https://jelou.ai)",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -23,11 +23,11 @@
23
23
  "THIRD_PARTY_NOTICES.md"
24
24
  ],
25
25
  "optionalDependencies": {
26
- "@jelou/cli-darwin-arm64": "1.83.0",
27
- "@jelou/cli-darwin-x64": "1.83.0",
28
- "@jelou/cli-linux-x64": "1.83.0",
29
- "@jelou/cli-linux-arm64": "1.83.0",
30
- "@jelou/cli-win32-x64": "1.83.0"
26
+ "@jelou/cli-darwin-arm64": "1.84.0",
27
+ "@jelou/cli-darwin-x64": "1.84.0",
28
+ "@jelou/cli-linux-x64": "1.84.0",
29
+ "@jelou/cli-linux-arm64": "1.84.0",
30
+ "@jelou/cli-win32-x64": "1.84.0"
31
31
  },
32
32
  "keywords": [
33
33
  "jelou",
@@ -58,41 +58,29 @@
58
58
  "jelou": {
59
59
  "minVersion": "1.80.0",
60
60
  "release_notes": {
61
- "version": "1.83.0",
62
- "date": "2026-08-05",
63
- "headline": "The workflow audit now recognizes every kind of step a project can contain, so it stops reporting handoffs, markers and sticky notes as problems.",
61
+ "version": "1.84.0",
62
+ "date": "2026-08-06",
63
+ "headline": "Workflows are now validated against the channel they run on a WhatsApp-only step fails the push.",
64
64
  "highlights": [
65
65
  {
66
- "type": "improved",
67
- "text": "`jelou` audits no longer report \"there is no way to reach a person\" on bots that have one. The audit now recognizes human-handoff steps and looks for them across every workflow the project routes to, not just the one it is reading."
66
+ "type": "new",
67
+ "text": "`push` and `jelou workflow validate` now check a workflow against the channel it runs on. A WhatsApp-only construct — a Flow step or an HSM template — on a web, Instagram or Telegram workflow is an error that blocks the push, instead of publishing cleanly and arriving as a node Studio paints red. Studio product choices, such as web chat not rendering a list, come through as warnings that do not block. Channel types the platform has no restrictions for are skipped entirely, so nothing is penalised for rules that do not apply to it. `validate` reads the channel from the workflow's filename, `push` from the lockfile entry."
68
68
  },
69
69
  {
70
- "type": "improved",
71
- "text": "Payment, billing and ecommerce steps are recognized as money steps. Previously the audit's money checks could walk straight past them, including the ones only older projects use."
70
+ "type": "new",
71
+ "text": "`jelou channels flows <botId>` refuses with `WHATSAPP_NUMBER_REQUIRED` (exit 4) when the bot has no WhatsApp channel connected, naming the channel as the blocker. An empty Flows list used to look identical to a missing channel, so a Flow step could be authored — with an invented body — on a project that had no WhatsApp at all. If the channels lookup itself fails the command still proceeds to the Flows listing, so an outage cannot invent a blocker."
72
72
  },
73
73
  {
74
- "type": "improved",
75
- "text": "Sticky notes and placeholders on the canvas are no longer reported as broken, unreachable steps."
74
+ "type": "fixed",
75
+ "text": "`pull` writes a workflow's own name and description into the file. Both live on the skill, not the workflow, so a pulled file never expressed them — the router gate then warned the description was empty, an agent hand-wrote one to satisfy it, and because the server-compare form could not see that text every subsequent `push` emitted a phantom skill patch and the entry never reconciled. That is the \"node deletion does not persist\" report: permanent `local_only` drift and a divergence warning on a push that had actually succeeded. Both sides of the comparison now agree, an empty name is treated as unexpressed rather than as an instruction to blank it in production, and files pulled by an older CLI are still recognised."
76
76
  },
77
77
  {
78
- "type": "improved",
79
- "text": "Steps that hand off to another workflow are no longer flagged as dead ends — the conversation continues in the other file, and the audit now follows it."
78
+ "type": "fixed",
79
+ "text": "The workflow build and test skills no longer show you their internal wording helper's failures. A summary turn could end with \"The wording helper timed out; per its contract I'll apply the voice rules directly\" — the helper's documentation had literally told the agent to surface that. The reply is now the finished prose and nothing else. Its budgets were also cut so the deterministic fallback always wins: worst case drops from about 42s to 12s."
80
80
  },
81
81
  {
82
- "type": "improved",
83
- "text": "A milestone marker is no longer read as a reply to the customer. A conversation that ends on one is correctly reported as ending in silence."
84
- },
85
- {
86
- "type": "improved",
87
- "text": "Audits of older projects are more accurate: the audit now knows which step types the platform still stores but the CLI can no longer author, and reads them accordingly instead of guessing."
88
- },
89
- {
90
- "type": "improved",
91
- "text": "Audits spend less time re-checking what `jelou workflow validate` already covers, and now say plainly which parts of a workflow nothing validates at all."
92
- },
93
- {
94
- "type": "heads_up",
95
- "text": "Skill content does not refresh on `jelou login`. Run `jelou agent install` to pick this up in Claude Code, Cursor, Codex and the other detected editors."
82
+ "type": "fixed",
83
+ "text": "`jelou channels list --type <type>` filters on the server. The type was applied only to the page already fetched, so a filtered list could come back short — or empty — while matching channels sat on later pages, and the reported totals described the unfiltered set. `--type Web` maps to the upstream `Widget` spelling."
96
84
  }
97
85
  ]
98
86
  }