n8n-nodes-lenz 0.5.0 → 0.7.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.
package/README.md
CHANGED
|
@@ -19,6 +19,15 @@ This is an n8n community node. It lets you use **Lenz** in your n8n workflows.
|
|
|
19
19
|
|
|
20
20
|
Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation, and search for `n8n-nodes-lenz` under **Settings → Community Nodes → Install**.
|
|
21
21
|
|
|
22
|
+
### Updating
|
|
23
|
+
|
|
24
|
+
**An installed copy does not update itself.** A fix only reaches your workflows once you update the node: **Settings → Community Nodes**, then **Update** on `n8n-nodes-lenz`. Worth doing if you installed it a while ago — an instance still on an early release keeps behaviour that has since been fixed. Before 0.1.10 in particular, a slow Verify gives up at 120 seconds with no way to collect the result afterwards: Get Verify Status arrived in 0.1.10, and Max Wait in 0.5.0.
|
|
25
|
+
|
|
26
|
+
Updating keeps your existing Lenz nodes on the node version they were added with, so saved workflows keep working unchanged. Two things do change underneath them, both deliberately:
|
|
27
|
+
|
|
28
|
+
- **Max Wait (Seconds) defaults to 300 from 0.6.0** (it was 120). A Verify node that never set Max Wait picks this up, because n8n does not save a parameter left at its default. It only ever makes a slow verification *finish* rather than time out; a fast one returns exactly as before. The limit is **per item**, and items are verified one after another, so the worst case for a run is the number of items times Max Wait — ten items can now block for up to fifty minutes where they used to give up after twenty. If a workflow must not block that long, or runs under a short execution timeout, set Max Wait explicitly.
|
|
29
|
+
- A node added on an old release keeps that release's layout. A node added **before 0.1.10 uses node version 1**, the original flat operation list, and stays on it after updating. Workflows built on it keep working. For anything new — templates especially — add a fresh Lenz node after updating so it uses the current layout.
|
|
30
|
+
|
|
22
31
|
## Operations
|
|
23
32
|
|
|
24
33
|
Operations are grouped under a **Resource** picker. (Nodes added before v0.1.10 stay on node version 1, which shows the original flat operation list — existing workflows are unaffected.)
|
|
@@ -27,8 +36,8 @@ Operations are grouped under a **Resource** picker. (Nodes added before v0.1.10
|
|
|
27
36
|
|
|
28
37
|
| Operation | What it does |
|
|
29
38
|
|---|---|
|
|
30
|
-
| **Verify (Deep)** *(default)* | Full multi-model pipeline (research → debate → adjudication), ~90 seconds. Returns a verdict, confidence, `lenz_score` (1-10), `key_finding`, sourced citations,
|
|
31
|
-
| **Assess (Fast)** | A quick 3-model panel verdict, ~
|
|
39
|
+
| **Verify (Deep)** *(default)* | Full multi-model pipeline (research → debate → adjudication), ~90 seconds. Returns a verdict, confidence, `lenz_score` (1-10), `key_finding`, sourced citations, an executive summary, and a `suggested_rewrite` when the claim needs correcting. Reserve for high-stakes claims that need a thorough, cited answer. **Depth** trades work for price: *Low* searches fewer sources, skips the recovery fetch tiers and stops the debate after the opening arguments, for **5 credits instead of 10**. |
|
|
40
|
+
| **Assess (Fast)** | A quick 3-model panel verdict, ~15 seconds, one entry per claim identified in the input text. Good default for lower-stakes checks. Each entry carries a `verification_url`, **which is usually empty, and that is expected**: it is set only when the claim was already deep-checked with **Verify (Deep)** and that result is one you can read. A fresh panel verdict creates no stored verification, so there is no page to link to. If you need a link and sources for a claim, run Verify (Deep) on it. |
|
|
32
41
|
| **Extract Claims** | Free — pulls the verifiable factual claims out of a block of text without checking them. Useful as a first step before running Assess or Verify on each claim individually. **Focus** narrows the result to the claims you describe (300 characters, no extra cost); when none of them match, `status` comes back as `no_match` with an empty list rather than the unfocused claims. **Text** can also be a single public web page URL: Lenz reads the page, or a YouTube video's transcript, and extracts the claims from its first 50,000 characters. Pages behind a login (Facebook, Instagram, Threads, LinkedIn) can't be read, and a URL call typically takes 5-40 seconds. |
|
|
33
42
|
|
|
34
43
|
### Verification — manage submitted and stored work
|
|
@@ -36,10 +45,10 @@ Operations are grouped under a **Resource** picker. (Nodes added before v0.1.10
|
|
|
36
45
|
| Operation | What it does |
|
|
37
46
|
|---|---|
|
|
38
47
|
| **Get Status** | Polls a submitted verification by `task_id`. Pairs with Verify's **Wait for Completion** toggle and with webhook delivery. |
|
|
39
|
-
| **Select Claims** | Resolves a paused verification (see [
|
|
48
|
+
| **Select Claims** | Resolves a paused verification (see [Multi-claim input](#multi-claim-input)). |
|
|
40
49
|
| **Submit Batch** | Submits up to 20 claims at once without waiting. Returns one item per spawned task. Each claim can override the batch **Depth**, so one batch can mix 5- and 10-credit checks. |
|
|
41
50
|
| **Get** | Retrieves a stored verification report by `verification_id`. |
|
|
42
|
-
| **Get Many** | Lists the verifications stored
|
|
51
|
+
| **Get Many** | Lists the verifications stored in your Lenz account, with **Return All** / **Limit**. |
|
|
43
52
|
| **List Related** | Public verifications semantically related to a given one — useful for "see also" surfaces. |
|
|
44
53
|
| **Delete** | Permanently deletes one of your stored verifications. |
|
|
45
54
|
|
|
@@ -56,6 +65,7 @@ Operations are grouped under a **Resource** picker. (Nodes added before v0.1.10
|
|
|
56
65
|
| Operation | What it does |
|
|
57
66
|
|---|---|
|
|
58
67
|
| **Get Usage** | Returns your credit balance and the per-endpoint price list (`costs`), plus the same balance projected into each capability (`assess` / `verify` / `ask`), the `extract` daily cap, your current plan, and when credits reset. Prices that depend on a request parameter are under `cost_options` instead, nested capability → parameter → value — today `cost_options.verify.depth.low` is 5 against a default of 10. That is the only place it appears: it is a price rather than a capability, so it has no balance block of its own, and `costs` carries just the four capability keys (`verify`, `assess`, `ask`, `extract`). To size how many low-depth checks you can afford, divide `credits.remaining` by `cost_options.verify.depth.low`. If that block is missing, `costs.verify` is a safe fallback but it is the *standard* price, so it understates the answer by half. |
|
|
68
|
+
| **Get Webhook Secret** | OAuth connections only. Returns `webhook_secret`, the secret Lenz signs this connection's webhook deliveries with — verify each delivery's signature with it. Lenz creates it on this first call and refuses a **Webhook URL** until it exists; a reconnected connection starts with no secret until you run this again. An API key's secret is set and shown on [lenz.io/api-credentials](https://lenz.io/api-credentials) instead. |
|
|
59
69
|
|
|
60
70
|
The per-capability blocks (`verify` / `ask` / `assess`) and each block's `credits` alias are **deprecated, and the API removes them on 2026-11-29**. They are projections of the one balance, not separate allowances, so derive them instead and branch on the balance itself: `Math.floor(credits.remaining / costs[capability])`. Note the single slash — in an n8n expression `//` starts a comment, so the older form silently returned the raw balance. Only divide for a capability that costs credits: `costs.extract` is `0`. An **IF** node reading `{{ $json.verify.remaining }}` today will stop resolving on that date.
|
|
61
71
|
|
|
@@ -63,6 +73,8 @@ Every claim-checking operation returns a branch-ready `passed` boolean (derived
|
|
|
63
73
|
|
|
64
74
|
Verify and Get also expose an **Include Audit Trail** toggle, which adds the adjudication reasoning, debate transcript, per-panelist assessments, and panel agreement under `audit`. It's off by default because it's a lot of data per item. At Low depth the debate transcript carries no rebuttals, because that round does not run.
|
|
65
75
|
|
|
76
|
+
A completed verification — from **Verify (Deep)**, **Get Verify Status** or **Get** — also carries `suggested_rewrite`: a rewrite of the claim that the verification's findings support, for a person to review before using it. **It has not been verified itself**, so do not paste it over the original sentence without reading it. It is an empty string for a true claim, when no correction is established, and on verifications made before the field existed, so an **IF** node checking `{{ $json.suggested_rewrite }}` **is not empty** finds the claims that have one.
|
|
77
|
+
|
|
66
78
|
### Retry safety
|
|
67
79
|
|
|
68
80
|
Billable calls (Verify, Assess, Extract, Submit Batch, Select Claims, Ask Follow-Up) send an `Idempotency-Key` derived from the execution ID, a hash of the node's identity, the item index, and a fingerprint of the request — its path as well as its body. If n8n retries the node — via **Retry On Fail**, or after a dropped response — the input is identical, so Lenz replays the original response instead of charging you a second time. A fresh run of the workflow is a new execution, so it bills normally.
|
|
@@ -75,19 +87,30 @@ Note that **Assess bills per claim found in the text**, not per request: a parag
|
|
|
75
87
|
|
|
76
88
|
## Credentials
|
|
77
89
|
|
|
78
|
-
|
|
90
|
+
Connect with your Lenz account (**OAuth**, the default on a new node) or with an API key. When you create a credential from a Lenz node, the credential window lets you pick either one.
|
|
91
|
+
|
|
92
|
+
**OAuth (Lenz OAuth2 API)** — nothing to copy or paste:
|
|
79
93
|
|
|
80
|
-
1.
|
|
81
|
-
2.
|
|
94
|
+
1. On a Lenz node, open **Credential to connect with → Create new credential** and keep **OAuth** selected.
|
|
95
|
+
2. Click **Connect my account**, sign in to Lenz and click **Allow**.
|
|
96
|
+
|
|
97
|
+
n8n registers itself with Lenz the first time you connect, so there is no client ID, secret or redirect URL to set up, and any number of n8n instances and credentials can connect to the same Lenz account. It needs n8n 2.12.0 or later (see [Compatibility](#compatibility)). The OAuth Redirect URL n8n shows must be a public `https://` address, or `http://localhost` for an n8n on your own computer; if it shows an internal address, set `WEBHOOK_URL` to your instance's real address and restart n8n. Disconnect it any time under **Connected apps** in your Lenz account. To use a **Webhook URL** over OAuth, run **Account → Get Webhook Secret** once first: Lenz signs that connection's deliveries with it, and refuses a webhook URL until it has been fetched. A reconnected connection starts with no secret, so run **Get Webhook Secret** again before using a Webhook URL.
|
|
98
|
+
|
|
99
|
+
**API key (Lenz API):**
|
|
100
|
+
|
|
101
|
+
1. Get a free key at [lenz.io/api-credentials](https://lenz.io/api-credentials) (it starts with `lenz_`).
|
|
102
|
+
2. Create a credential, pick **API Key**, paste the key and click **Save**; n8n tests it straight away.
|
|
103
|
+
|
|
104
|
+
Nodes you added before OAuth existed keep using their API key: nothing changes for them unless you switch.
|
|
82
105
|
|
|
83
106
|
## Compatibility
|
|
84
107
|
|
|
85
|
-
Built against `n8n-workflow` (n8n API version 1) and tested against n8n v2.30.4.
|
|
108
|
+
Built against `n8n-workflow` (n8n API version 1) and tested against n8n v2.30.4; the OAuth credential against v2.41.6. **OAuth needs n8n 2.12.0 or later**, the first release that finds Lenz's OAuth metadata. On an older n8n, use an API key: a new Lenz node starts on OAuth, so pick **API Key** in the credential window.
|
|
86
109
|
|
|
87
110
|
## Usage
|
|
88
111
|
|
|
89
112
|
- **Verify (Deep) takes ~90 seconds** — it's the full multi-model pipeline, not an instant call. The node blocks/polls until the result is ready, so no separate polling setup is needed on your end.
|
|
90
|
-
- **If it outlasts Max Wait (Seconds)**, the node returns `status: "timeout"` with the `task_id` and `passed: null` instead of a verdict. Nothing is lost — giving up does not cancel anything, the verification keeps running server-side, and the credits were spent at submit either way. Collect it later with **Get Verify Status**, or raise **Max Wait (Seconds)** (default 120). A poll that fails with a 5xx, a 429 or a 408/425 is retried for as long as the window lasts rather than failing the item; a 429 waits the reopening time the API states instead of returning on the node's own cadence. A failure carrying no HTTP status at all — a DNS or TLS problem, say — is different: it could equally be a bug or a bad credential, so it gets two retries and is then surfaced as the error it is. If the window ends on a failed poll, the `timeout` result names it in `last_error` and `last_error_status`.
|
|
113
|
+
- **If it outlasts Max Wait (Seconds)**, the node returns `status: "timeout"` with the `task_id` and `passed: null` instead of a verdict. Nothing is lost — giving up does not cancel anything, the verification keeps running server-side, and the credits were spent at submit either way. Collect it later with **Get Verify Status**, or raise **Max Wait (Seconds)** (default 300 — it was 120 before 0.6.0, which a standard-depth run can outlast; see [Updating](#updating)). Max Wait is a ceiling, not a delay: a verification that finishes sooner returns as soon as it does. A poll that fails with a 5xx, a 429 or a 408/425 is retried for as long as the window lasts rather than failing the item; a 429 waits the reopening time the API states instead of returning on the node's own cadence. A failure carrying no HTTP status at all — a DNS or TLS problem, say — is different: it could equally be a bug or a bad credential, so it gets two retries and is then surfaced as the error it is. If the window ends on a failed poll, the `timeout` result names it in `last_error` and `last_error_status`.
|
|
91
114
|
- **Low depth drops a debate round, not just sources.** As well as searching fewer sources and skipping the recovery fetch tiers, *Low* stops the debate after the opening arguments — so with **Include Audit Trail** on, `audit.debate_pro.rebuttal` and `audit.debate_con.rebuttal` come back as empty strings. Every step that does run uses the same models, so Low is a volume lever rather than a model downgrade — but it is one round of argument fewer, not merely a narrower search.
|
|
92
115
|
- **You are charged for the Depth you asked for, not the one you got.** A *Low* request that Lenz can answer from an existing *standard* verdict still costs 5 — and the `depth` field on the result reads `standard`, because it describes the evidence behind the verdict rather than the request. Seeing `standard` come back from a *Low* request is correct, not a bug.
|
|
93
116
|
- To feed data from a previous node instead of a fixed value, toggle a field to **Expression** and reference it, e.g. `{{ $json.output }}`.
|
|
@@ -115,7 +138,7 @@ A simple "fact-check gate" pattern — verify an LLM's output before acting on i
|
|
|
115
138
|
|
|
116
139
|
> **Check `status` before `passed`.** `passed` only means something once a verdict exists. A timeout, a `failed` pipeline or a `needs_input` interrupt has no verdict, and `passed` is `null` or absent — which an IF reads as false. Branching straight on `passed` therefore reports "this claim did not pass" for a claim nobody ever checked, and a provider outage becomes a debunking.
|
|
117
140
|
|
|
118
|
-
For a lighter check on lower-stakes content, swap the Lenz operation to **Assess (Fast)** instead — same wiring, ~
|
|
141
|
+
For a lighter check on lower-stakes content, swap the Lenz operation to **Assess (Fast)** instead — same wiring, ~15s instead of ~90s.
|
|
119
142
|
|
|
120
143
|
### Follow-up questions on a completed verification
|
|
121
144
|
|
|
@@ -134,15 +157,13 @@ Ask a grounded question about the evidence behind a Verify (Deep) result, by cha
|
|
|
134
157
|
3. Set the Verification ID field to an expression referencing the first node's output: `{{ $json.verification_id }}`.
|
|
135
158
|
4. Keep the Question field as a fixed string (e.g. `"What are the main sources supporting this verdict?"`) — it works for whatever claim was just verified, since only the Verification ID needs to change per run.
|
|
136
159
|
|
|
137
|
-
###
|
|
160
|
+
### Multi-claim input
|
|
138
161
|
|
|
139
|
-
Verify pauses rather than guessing when the text
|
|
162
|
+
Verify pauses rather than guessing when the text contains several distinct claims. The result comes back with `status: "needs_input"` and a `reason`:
|
|
140
163
|
|
|
141
164
|
| `reason` | What the node returns | How to continue |
|
|
142
165
|
|---|---|---|
|
|
143
166
|
| `multi_claim` | `claims` — the distinct claims found in your text | Feed the ones you want into **Select Claims** with the same `task_id` |
|
|
144
|
-
| `clarification_required` | `candidates` — the possible readings of one ambiguous claim | Feed the intended reading into **Select Claims** with the same `task_id` |
|
|
145
|
-
| `duplicate_found` | `similar_claims` — existing verifications that already cover this | Reuse one of those `verification_id`s, or rephrase to force a fresh check |
|
|
146
167
|
|
|
147
168
|
**Select Claims** spawns one independent verification per selected claim and returns one item each, so you can poll them with **Get Status** or collect them via webhook:
|
|
148
169
|
|
|
@@ -155,7 +176,7 @@ Verify pauses rather than guessing when the text isn't a single unambiguous clai
|
|
|
155
176
|
{{ $json.claims[0].text }}
|
|
156
177
|
```
|
|
157
178
|
|
|
158
|
-
A paused task
|
|
179
|
+
A paused task stays open for **24 hours from submission** (not 10 minutes, as earlier versions of this README said — resubmitting inside that window pays again for a check Select Claims would still have completed), and Select Claims only accepts text that was actually offered — so copy the claim text verbatim rather than retyping it.
|
|
159
180
|
|
|
160
181
|
### When a verification fails
|
|
161
182
|
|
|
@@ -171,23 +192,39 @@ Both `failure_class` and `retryable` are empty/`null` on verifications older tha
|
|
|
171
192
|
|
|
172
193
|
Separately, a *submit* can be refused outright with **HTTP 503** and a typed body code — `capacity` (Lenz is at its concurrency ceiling) or `upstream_unavailable` (model providers down). The node reports these as transient and names the stated wait (typically 90-120s, jittered so callers return spread out). Nothing is charged for a refused submit.
|
|
173
194
|
|
|
174
|
-
The wait is longer than **Retry On Fail** can cover: that setting allows 2-5 tries spaced a few seconds apart, so it would spend every try inside the window and fail anyway — while re-sending the submit each time, which is the pile-on the jitter exists to prevent. Handle it in the workflow instead: set the node's **On Error** to *Continue (using error output)*, feed that output into a **Wait** node set to the stated seconds, and loop it back into the Lenz node. Re-running the workflow later works just as well.
|
|
195
|
+
The wait is longer than **Retry On Fail** can cover: that setting allows 2-5 tries spaced a few seconds apart, so it would spend every try inside the window and fail anyway — while re-sending the submit each time, which is the pile-on the jitter exists to prevent. Handle it in the workflow instead: set the node's **On Error** to *Continue (using error output)*, feed that output into a **Wait** node set to the stated seconds, and loop it back into the Lenz node. **Set the Wait node's Wait Unit to Seconds** — it defaults to Hours, so a 90 left on the default waits 90 hours. Re-running the workflow later works just as well.
|
|
175
196
|
|
|
176
197
|
So the Wait node has a number to read, the error output carries the refusal as fields rather than only as prose:
|
|
177
198
|
|
|
178
199
|
| Field | What it says |
|
|
179
200
|
|---|---|
|
|
180
|
-
| `retry_after` | Seconds to wait before submitting again — point
|
|
181
|
-
| `code` | The typed reason, e.g. `capacity`, `upstream_unavailable`, `no_credits` |
|
|
182
|
-
| `status_code` | The HTTP status, e.g. `503` |
|
|
201
|
+
| `retry_after` | Seconds to wait before submitting again — safe to point a Wait node's duration at, **with its Wait Unit set to Seconds** (the default is Hours). Emitted only when the wait is short enough to be worth waiting (a 503, or a short rate limit); a long cap reset comes back as `resets_in_seconds` instead, and a 402 has nothing to wait for |
|
|
202
|
+
| `code` | The typed reason, e.g. `capacity`, `upstream_unavailable`, `rate_limited`, `no_credits` |
|
|
203
|
+
| `status_code` | The HTTP status, e.g. `429`, `503` |
|
|
183
204
|
| `cost` | Credits the refused call needed, present only on an out-of-credits refusal |
|
|
184
205
|
| `credits_remaining` | Credits the account holds — `0` is a real value and is reported, not dropped |
|
|
185
|
-
| `error_message` / `error_description` | The same wording the node would have thrown, present only for a recognised billing or
|
|
206
|
+
| `error_message` / `error_description` | The same wording the node would have thrown, present only for a recognised billing, capacity or rate-limit refusal |
|
|
207
|
+
| `resets_in_seconds` | Seconds until a rate limit clears, when that is too long to sit in a Wait node — see [Rate limits](#rate-limits-http-429) |
|
|
208
|
+
| `limit` | The limit the API stated, on a Lenz rate-limit refusal |
|
|
209
|
+
| `upgrade_url` | Where that limit or plan is raised — on a Lenz rate-limit refusal, and on an out-of-credits refusal |
|
|
210
|
+
|
|
211
|
+
Each of these is emitted when the API's response carries it, so treat the "when" column as what today's API does rather than as a guarantee.
|
|
186
212
|
|
|
187
213
|
`cost` and `credits_remaining` let an **IF** node tell a shortfall from an empty balance without reading the prose: `{{ $json.credits_remaining }}` above zero is one top-up away, zero is a plan decision.
|
|
188
214
|
|
|
189
215
|
`error` keeps the raw message it always carried, so existing workflows reading it are unaffected.
|
|
190
216
|
|
|
217
|
+
### Rate limits (HTTP 429)
|
|
218
|
+
|
|
219
|
+
**Extract Claims** is free and capped per account per day (resetting 00:00 UTC), so a 429 is the refusal a busy workflow is most likely to meet. Nothing is charged for a refused call. The body states `reset_in_seconds`, which the node reports under one of two names depending on how long it is — `retry_after` for a wait worth sitting through, `resets_in_seconds` for one that is not. The node's message says which you have:
|
|
220
|
+
|
|
221
|
+
- **A short reset** (roughly five minutes or less) arrives as `retry_after`, and is the Wait-node loop described above — error output into a **Wait** node with Wait Amount `{{ $json.retry_after }}` and **Wait Unit Seconds** (the default is Hours), looped back.
|
|
222
|
+
- **A longer reset** — anything over about five minutes — arrives as **`resets_in_seconds`**, and deliberately *not* as `retry_after`: waiting it out inside a workflow leaves the execution pending that long, where an execution timeout or a Cloud duration limit can cancel it before the limit clears. The daily cap is the common case: it resets at midnight UTC, so the wait can be tens of thousands of seconds. Re-run the workflow after the reset, schedule it for then, or raise the cap.
|
|
223
|
+
|
|
224
|
+
Splitting the two keys is what keeps `retry_after` meaning what this table says it means — a duration you can hand to a Wait node. A workflow already built on the documented pattern therefore keeps failing fast on a daily cap instead of silently parking for the rest of the day. To handle the long case, read `resets_in_seconds` explicitly.
|
|
225
|
+
|
|
226
|
+
Note that the wait is read from the response body, not from the `Retry-After` header. The API sends the header, but n8n wraps every failed request in a `NodeApiError` that keeps the parsed body and discards the response object, so by the time the node sees the error the header is gone.
|
|
227
|
+
|
|
191
228
|
## Resources
|
|
192
229
|
|
|
193
230
|
* [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)
|
|
@@ -224,14 +261,18 @@ So the Wait node has a number to read, the error output carries the refusal as f
|
|
|
224
261
|
|
|
225
262
|
* **0.4.2** — Two corrections to what 0.4.x said about **Depth**, both of them wrong rather than merely unclear. The low-depth price was documented as appearing in `costs` under `verify_low`, with the advice to divide `credits.remaining` by it: that key does not exist — the API carries the four capability keys in `costs` and nothing else — so the suggested expression evaluated to `NaN`. The price is readable only at `cost_options.verify.depth.low`, which is where the docs now point. Separately, *Low* was described as searching fewer sources and skipping the recovery fetch tiers; it also stops the debate after the opening arguments, so a Low verdict has no rebuttal round and comes back with an empty `rebuttal` on its debate entries under **Include Audit Trail**. Every description of Depth in the node and the README now says so.
|
|
226
263
|
|
|
227
|
-
* **0.5.0** — **Verify (Deep) no longer loses a verification you have already paid for.** Credits are debited the moment a submit is accepted, and the poll loop that waits for the verdict had no tolerance for a failed poll: one 502 or network blip on any of roughly fifteen polls threw straight out of the operation and took the `task_id` with it, leaving a verification that was charged for, still running server-side, and unreachable — not even **Get Verify Status** could fetch it back. Transient poll failures (5xx, 429, and the 408/425 an intervening proxy produces) are now retried for as long as the wait lasts, and a 429 waits the reopening time the API states rather than returning on the node's own cadence, which is what tripped the limiter to begin with. A failure carrying no HTTP status is treated differently on purpose — a DNS or TLS problem is indistinguishable from a bug or a bad credential, so it gets a small bounded number of attempts and is then surfaced as the error it is, rather than retried for the window and reported as a timeout, which would invent a fact. The `task_id` now rides every post-submit failure, on the error output and on the thrown error alike. The hardcoded 120-second deadline becomes **Max Wait (Seconds)**, validated and clamped before the claim is submitted — validated afterwards, a non-numeric expression got the claim charged and then threw an error with nowhere to carry the task id, which is the same bug by another route. Non-verdict terminals now carry `passed: null` so the key is visible in n8n's output schema; be aware that null is still falsy, so an **IF** node reading `{{ $json.passed }}` alone routes a timeout down the false arm exactly as before. Checking `status` first is the actual fix, and the README's gate pattern now leads with it — a provider outage reading as a debunking was the real bug. A timeout that ends on a failed poll names it in `last_error` and `last_error_status`, instead of reporting success-shaped JSON that implies the task was seen running. Alongside that, four correctness fixes a first external user would hit: **Get Many** duplicated and skipped rows above Limit 100 (#21), **Select Claims** collided two paused tasks that offered the same claim text onto one Idempotency-Key (#22), validation failures surfaced as API errors with no HTTP code (#23), and **Ask Follow-Up** sent no Idempotency-Key, so a retry appended a second question and answer to the stored conversation. No output field was removed or renamed.
|
|
228
|
-
|
|
229
264
|
It also carries two fixes that are behaviour, not wording. The `Idempotency-Key` was built from the node's **display name**, which is user-editable free text. Node refuses to send a header value containing anything above U+00FF, so a node named in Cyrillic, Greek, Hebrew, Arabic or any CJK script — or carrying an emoji — failed **every billable call** before the request left the machine, with an error naming the header rather than the node. Latin-1 names such as `Prüfung` and `Vérification` were never affected, despite what an earlier draft of this entry said. The identity is now *hashed* into the key rather than written into it, which makes the guarantee structural rather than an assumption about what the id contains; the node id is preferred, so a rename mid-execution no longer changes the key, and the name never reaches the wire.
|
|
230
265
|
|
|
231
266
|
Separately, a `sources` value that was not a list — or a list containing `null` — threw while mapping the result, failing a verification that had already completed and been charged for. A `null` entry now costs that one citation; a `sources` that is not a list returns none at all, which is worth knowing if you branch on `citations.length`. No output field was removed or renamed. Two things changed on the wire: the `User-Agent` version, and the `Idempotency-Key` format.
|
|
232
267
|
|
|
233
268
|
This release also adds a `pre-push` git hook that refuses to push agent commits which have not been reviewed. It only affects contributors, needs `git config core.hooksPath .githooks` once per clone, and never gates a human pushing by hand — see AGENTS.md.
|
|
234
269
|
|
|
270
|
+
* **0.5.0** — **Verify (Deep) no longer loses a verification you have already paid for.** Credits are debited the moment a submit is accepted, and the poll loop that waits for the verdict had no tolerance for a failed poll: one 502 or network blip on any of roughly fifteen polls threw straight out of the operation and took the `task_id` with it, leaving a verification that was charged for, still running server-side, and unreachable — not even **Get Verify Status** could fetch it back. Transient poll failures (5xx, 429, and the 408/425 an intervening proxy produces) are now retried for as long as the wait lasts, and a 429 waits the reopening time the API states rather than returning on the node's own cadence, which is what tripped the limiter to begin with. A failure carrying no HTTP status is treated differently on purpose — a DNS or TLS problem is indistinguishable from a bug or a bad credential, so it gets a small bounded number of attempts and is then surfaced as the error it is, rather than retried for the window and reported as a timeout, which would invent a fact. The `task_id` now rides every post-submit failure, on the error output and on the thrown error alike. The hardcoded 120-second deadline becomes **Max Wait (Seconds)**, validated and clamped before the claim is submitted — validated afterwards, a non-numeric expression got the claim charged and then threw an error with nowhere to carry the task id, which is the same bug by another route. Non-verdict terminals now carry `passed: null` so the key is visible in n8n's output schema; be aware that null is still falsy, so an **IF** node reading `{{ $json.passed }}` alone routes a timeout down the false arm exactly as before. Checking `status` first is the actual fix, and the README's gate pattern now leads with it — a provider outage reading as a debunking was the real bug. A timeout that ends on a failed poll names it in `last_error` and `last_error_status`, instead of reporting success-shaped JSON that implies the task was seen running. Alongside that, four correctness fixes a first external user would hit: **Get Many** duplicated and skipped rows above Limit 100 (#21), **Select Claims** collided two paused tasks that offered the same claim text onto one Idempotency-Key (#22), validation failures surfaced as API errors with no HTTP code (#23), and **Ask Follow-Up** sent no Idempotency-Key, so a retry appended a second question and answer to the stored conversation. No output field was removed or renamed.
|
|
271
|
+
|
|
272
|
+
* **0.6.0** — **Three changes reach a workflow you already have, as soon as you update.** First, **Max Wait (Seconds) defaults to 300, up from 120.** A real verification finished in Lenz with a verdict and the credits were taken while the node had already given up at 120 seconds and returned `timeout`; Lenz measures a standard-depth run at about 90 seconds median with the tail past 120, so this was not rare. Because n8n does not save a parameter left at its default, every Verify node that never set Max Wait picks up the new value. It is a ceiling, not a delay — a fast verification returns exactly as before — but it is per item, so a ten-item run can now block for up to fifty minutes instead of twenty; set Max Wait explicitly if a workflow runs under a short execution timeout. Second, `progress` loses `content` and `step_stats` (below). Third, the `clarification_required` and `duplicate_found` pauses are gone, since the API no longer returns them: `multi_claim` is the one `needs_input` reason left, `candidates` and `similar_claims` stay on the output but are always empty until their removal on 2026-11-29, and Assess reports an empty result as `no_claim` rather than `ambiguous`. No parameter was renamed or removed. **Rate limits (HTTP 429) now have proper handling.** They arrived as n8n's stock "Request failed with status code 429"; the message now names the limit, when it clears and that nothing was charged. The documented Wait-node recovery was being fed `undefined`, because the error output read a key a 429 does not carry — a short reset now arrives as `retry_after`, and one too long to sit in a workflow, like the `/extract` daily cap that clears at midnight UTC, arrives as `resets_in_seconds` so that a workflow already wired to the Wait loop fails fast instead of parking for most of a day. The advice also names the Wait unit, because n8n's Wait node defaults to Hours and a bare `{{ $json.retry_after }}` turned a 45-second limit into a 45-hour wait. A 429 from a proxy or CDN in front of Lenz is no longer reported as your plan being too small. And a rate-limited status poll no longer abandons a verification you have paid for: a daily-cap 429 on the first poll used to sleep the whole of Max Wait in one go and then report `timeout` for a verification that had finished minutes in. The README gains an **Updating** section and explains why `verification_url` on Assess is usually empty. The rest of this entry covers the `progress` change and the other poll-loop fixes. **What a mid-run poll hands your workflow is now a fixed list.** While a Verify (Deep) runs, **Get Verify Status** returns a `progress` object, and the node used to pass whatever the API put in it straight onto the item. That endpoint was inherited from the consumer progress page and nothing shaped it, so what came through included `content` — the accumulated evidence pool, with full untruncated source quotes and every panelist's reasoning — and `step_stats`, Lenz's own per-step cost in EUR. Neither was ever part of the contract. `progress` now carries `step`, `index`, `total`, `elapsed_seconds` and `poll_after_seconds`, and nothing else; anything the API adds in future stays out until it is added deliberately. **If you mapped `progress.content` or `progress.step_stats`, those fields are gone** — that is the change, not a side effect of it. A `processing` response that states `poll_after_seconds` is now honoured instead of the node's own 2/4/8s cadence, since the server knows which stage it is in and how long that stage runs; a value outside the sane range is ignored rather than clamped. Reviewing that change turned up a fault in the poll loop that predated it: the deadline was enforced by the loop condition, so a wait clamped to the deadline was followed by the loop ending rather than by one more read — a verification that finished during that last wait was reported as a timeout, sending you to fetch a verdict that had already arrived. The loop now always ends on a read. Separately, a correction that was costing money: a paused task stays open for **24 hours from submission**, not the 10 minutes the Selected Claims field and this README both claimed. Anyone who believed that resubmitted, and paid a second time, for a **Select Claims** that would still have worked.
|
|
273
|
+
|
|
274
|
+
* **0.7.0** — **Connect with your Lenz account instead of an API key.** A new **Lenz OAuth2 API** credential signs in with Lenz: **Connect my account**, sign in, **Allow**, and nothing to copy or paste. n8n registers itself with Lenz on that first connection, so there is no client ID, secret or redirect URL to set up, and any number of n8n instances and credentials can connect to the same Lenz account side by side — each its own connection, disconnected separately under **Connected apps**. It needs **n8n 2.12.0 or later**, and n8n's OAuth Redirect URL must be a public `https://` address or `http://localhost` — a self-hosted n8n behind an internal address sets `WEBHOOK_URL` to its real address first (see [Credentials](#credentials)); on an older n8n, use an API key. **Nothing changes for a workflow you already have.** The node gains version 1.2, and only a Lenz node added from now on starts on OAuth; a node already in a workflow keeps its API key, because n8n does not save a parameter left at its default and changing the default in place would have switched every existing node off its key. The choice between OAuth and API Key is in the credential window when you create a credential from a Lenz node; that is also how an existing node moves to OAuth. **Account → Get Webhook Secret** is new and is for OAuth connections: Lenz signs that connection's webhook deliveries with the secret it returns, creates it on that first call, and refuses a **Webhook URL** on an OAuth connection until then; a reconnected connection starts with no secret, so run **Get Webhook Secret** again before using a Webhook URL and check signatures with the secret it returns. Completed verifications now carry **`suggested_rewrite`**, a rewrite of the claim that the verification's findings support — not verified itself, so read it before using it — and an empty string when there is none. No parameter or output field was renamed or removed.
|
|
275
|
+
|
|
235
276
|
## Maintainer
|
|
236
277
|
|
|
237
278
|
[@David19782](https://github.com/David19782)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LenzOAuth2Api = void 0;
|
|
4
|
+
class LenzOAuth2Api {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = 'lenzOAuth2Api';
|
|
7
|
+
this.extends = ['oAuth2Api'];
|
|
8
|
+
this.displayName = 'Lenz OAuth2 API';
|
|
9
|
+
this.icon = { light: 'file:../nodes/Lenz/lenz.svg', dark: 'file:../nodes/Lenz/lenz.dark.svg' };
|
|
10
|
+
this.documentationUrl = 'https://lenz.io/api-credentials';
|
|
11
|
+
this.properties = [
|
|
12
|
+
{
|
|
13
|
+
displayName: 'Click <b>Connect my account</b> and sign in to Lenz — nothing to fill in. Lenz needs the redirect URL above to be a public <code>https://</code> address or <code>http://localhost</code>; it needs n8n 2.12 or later; otherwise use an API key.',
|
|
14
|
+
name: 'connectNotice',
|
|
15
|
+
type: 'notice',
|
|
16
|
+
default: '',
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
displayName: 'Server URL',
|
|
20
|
+
name: 'serverUrl',
|
|
21
|
+
type: 'hidden',
|
|
22
|
+
default: 'https://lenz.io/api/v1',
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
displayName: 'Use Dynamic Client Registration',
|
|
26
|
+
name: 'useDynamicClientRegistration',
|
|
27
|
+
type: 'hidden',
|
|
28
|
+
default: true,
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
exports.LenzOAuth2Api = LenzOAuth2Api;
|
|
34
|
+
//# sourceMappingURL=LenzOAuth2Api.credentials.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LenzOAuth2Api.credentials.js","sourceRoot":"","sources":["../../credentials/LenzOAuth2Api.credentials.ts"],"names":[],"mappings":";;;AAYA,MAAa,aAAa;IAA1B;QACC,SAAI,GAAG,eAAe,CAAC;QACvB,YAAO,GAAG,CAAC,WAAW,CAAC,CAAC;QACxB,gBAAW,GAAG,iBAAiB,CAAC;QAChC,SAAI,GAAG,EAAE,KAAK,EAAE,6BAA6B,EAAE,IAAI,EAAE,kCAAkC,EAAW,CAAC;QACnG,qBAAgB,GAAG,iCAAiC,CAAC;QAErD,eAAU,GAAsB;YAC/B;gBACC,WAAW,EACV,kPAAkP;gBACnP,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,EAAE;aACX;YACD;gBACC,WAAW,EAAE,YAAY;gBACzB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,wBAAwB;aACjC;YACD;gBACC,WAAW,EAAE,iCAAiC;gBAC9C,IAAI,EAAE,8BAA8B;gBACpC,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI;aACb;SACD,CAAC;IACH,CAAC;CAAA;AA5BD,sCA4BC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Lenz = void 0;
|
|
3
|
+
exports.Lenz = exports.POLL_TIMEOUT_MS = exports.BASE_URL = void 0;
|
|
4
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
|
-
|
|
6
|
-
const USER_AGENT = 'n8n-nodes-lenz/0.
|
|
5
|
+
exports.BASE_URL = 'https://lenz.io/api/v1';
|
|
6
|
+
const USER_AGENT = 'n8n-nodes-lenz/0.7.0';
|
|
7
7
|
const API_VERSION = '2026-08-05';
|
|
8
|
-
|
|
8
|
+
exports.POLL_TIMEOUT_MS = 300000;
|
|
9
9
|
const POLL_BACKOFF_MS = [2000, 4000, 8000];
|
|
10
10
|
const MAX_WAIT_FLOOR_SECONDS = 10;
|
|
11
11
|
const MAX_WAIT_CEILING_SECONDS = 900;
|
|
@@ -26,16 +26,73 @@ function submittedReceipt(taskId) {
|
|
|
26
26
|
`its task ID is ${taskId}. It may still be running; fetch the result with ` +
|
|
27
27
|
`Get Verify Status rather than resubmitting.`);
|
|
28
28
|
}
|
|
29
|
-
function
|
|
30
|
-
const body = responseBodyOf(error);
|
|
29
|
+
function statedWaitSeconds(body) {
|
|
31
30
|
for (const raw of [body.retry_after, body.reset_in_seconds]) {
|
|
32
31
|
const seconds = Number(raw);
|
|
33
32
|
if (Number.isFinite(seconds) && seconds > 0) {
|
|
34
|
-
return Math.ceil(seconds)
|
|
33
|
+
return Math.ceil(seconds);
|
|
35
34
|
}
|
|
36
35
|
}
|
|
37
36
|
return undefined;
|
|
38
37
|
}
|
|
38
|
+
function statedRetryAfterMs(error) {
|
|
39
|
+
const seconds = statedWaitSeconds(responseBodyOf(error));
|
|
40
|
+
return seconds === undefined ? undefined : seconds * 1000;
|
|
41
|
+
}
|
|
42
|
+
function cappedPollWaitMs(ms) {
|
|
43
|
+
if (ms === undefined)
|
|
44
|
+
return undefined;
|
|
45
|
+
return Math.min(ms, MAX_STATED_POLL_WAIT_SECONDS * 1000);
|
|
46
|
+
}
|
|
47
|
+
const WAIT_NODE_VIABLE_SECONDS = 300;
|
|
48
|
+
function isLenzRateLimit(body) {
|
|
49
|
+
if (body.code === 'rate_limited')
|
|
50
|
+
return true;
|
|
51
|
+
return ['detail', 'reset_in_seconds', 'upgrade_url', 'limit'].some((k) => body[k] !== undefined && body[k] !== null && body[k] !== '');
|
|
52
|
+
}
|
|
53
|
+
function rateLimitMessageFor(error) {
|
|
54
|
+
if (statusCodeOf(error) !== 429)
|
|
55
|
+
return undefined;
|
|
56
|
+
const body = responseBodyOf(error);
|
|
57
|
+
const isLenzLimit = isLenzRateLimit(body);
|
|
58
|
+
const rawDetail = typeof body.detail === 'string' ? body.detail.trim() : '';
|
|
59
|
+
const detail = rawDetail ||
|
|
60
|
+
(isLenzLimit ? 'Rate limit reached.' : 'The request was rate limited before it reached Lenz.');
|
|
61
|
+
const wait = statedWaitSeconds(body);
|
|
62
|
+
const limit = isLenzLimit && typeof body.limit === 'number' ? body.limit : undefined;
|
|
63
|
+
const upgradeUrl = typeof body.upgrade_url === 'string' ? body.upgrade_url : PLANS_URL;
|
|
64
|
+
const readable = wait === undefined
|
|
65
|
+
? undefined
|
|
66
|
+
: wait < 120
|
|
67
|
+
? `${wait}s`
|
|
68
|
+
: wait < 7200
|
|
69
|
+
? `${Math.round(wait / 60)} minutes`
|
|
70
|
+
: `${Math.round(wait / 3600)} hours`;
|
|
71
|
+
const sentence = /[.!?]$/.test(detail) ? detail : `${detail}.`;
|
|
72
|
+
const message = readable ? `Lenz: ${sentence} Resets in ~${readable}.` : `Lenz: ${sentence}`;
|
|
73
|
+
let description = `Rate limited (HTTP 429). Nothing was charged`;
|
|
74
|
+
description += limit === undefined ? '. ' : `, and the stated limit is ${limit}. `;
|
|
75
|
+
const raiseCap = isLenzLimit ? `, or raise the cap: ${upgradeUrl}` : '';
|
|
76
|
+
if (wait !== undefined && wait <= WAIT_NODE_VIABLE_SECONDS) {
|
|
77
|
+
description +=
|
|
78
|
+
`Wait ~${readable} and submit again: send this node's error output into a Wait node ` +
|
|
79
|
+
`with Wait Amount {{ $json.retry_after }} and Wait Unit set to Seconds ` +
|
|
80
|
+
`(it defaults to Hours), then loop it back.`;
|
|
81
|
+
}
|
|
82
|
+
else if (wait !== undefined) {
|
|
83
|
+
description +=
|
|
84
|
+
`That is too long to wait inside a workflow: the execution would stay pending for ~${readable}, ` +
|
|
85
|
+
`where an execution timeout or a Cloud duration limit can cancel it before the limit clears. ` +
|
|
86
|
+
`Re-run the workflow after the reset, or schedule it for then${raiseCap}.`;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
description += isLenzLimit
|
|
90
|
+
? `Retry later${raiseCap}.`
|
|
91
|
+
: `Retry later. This limit is not Lenz's own, so a Lenz plan change will not lift it — ` +
|
|
92
|
+
`check any proxy, firewall or rate limit between n8n and Lenz.`;
|
|
93
|
+
}
|
|
94
|
+
return { message, description };
|
|
95
|
+
}
|
|
39
96
|
const BATCH_MAX_CLAIMS = 20;
|
|
40
97
|
const MAX_FOCUS_CHARS = 300;
|
|
41
98
|
const MAX_PAGE_SIZE = 100;
|
|
@@ -87,7 +144,7 @@ function quotaMessageFor(error) {
|
|
|
87
144
|
if (statusCodeOf(error) !== 402)
|
|
88
145
|
return undefined;
|
|
89
146
|
const body = responseBodyOf(error);
|
|
90
|
-
const detail = typeof body.detail === 'string' ? body.detail : 'No remaining Lenz credits.';
|
|
147
|
+
const detail = (typeof body.detail === 'string' ? body.detail.trim() : '') || 'No remaining Lenz credits.';
|
|
91
148
|
const upgradeUrl = typeof body.upgrade_url === 'string' ? body.upgrade_url : PLANS_URL;
|
|
92
149
|
const cost = typeof body.cost === 'number' ? body.cost : undefined;
|
|
93
150
|
const creditsRemaining = typeof body.credits_remaining === 'number' ? body.credits_remaining : undefined;
|
|
@@ -118,7 +175,8 @@ function capacityMessageFor(error) {
|
|
|
118
175
|
message: `Lenz: ${what} — retry in ~${wait}s.`,
|
|
119
176
|
description: `Transient (HTTP 503, code: ${code}). Nothing was charged. ` +
|
|
120
177
|
`Wait ~${wait}s before submitting again: send this node's error output into a Wait node ` +
|
|
121
|
-
`set to ${wait} seconds
|
|
178
|
+
`set to ${wait} seconds — Wait Unit: Seconds, since it defaults to Hours — and loop it back, ` +
|
|
179
|
+
`or re-run the workflow after the wait. ` +
|
|
122
180
|
'"Retry On Fail" is not enough on its own — its tries are spaced too closely to clear the wait.',
|
|
123
181
|
};
|
|
124
182
|
}
|
|
@@ -171,12 +229,6 @@ function needsInputMessage(reason) {
|
|
|
171
229
|
if (reason === 'multi_claim') {
|
|
172
230
|
return 'The text contains several distinct claims. Pick one or more of "claims" and run the Select Claims operation with this task ID.';
|
|
173
231
|
}
|
|
174
|
-
if (reason === 'clarification_required') {
|
|
175
|
-
return 'This claim is ambiguous. Pick one of the readings in "candidates" and run the Select Claims operation with this task ID.';
|
|
176
|
-
}
|
|
177
|
-
if (reason === 'duplicate_found') {
|
|
178
|
-
return 'A closely matching verification already exists — see "similar_claims". Reuse one of those verification IDs, or rephrase the claim to force a fresh check.';
|
|
179
|
-
}
|
|
180
232
|
return 'This verification needs caller input before it can continue.';
|
|
181
233
|
}
|
|
182
234
|
function mapCompletedVerification(result, includeAudit) {
|
|
@@ -190,6 +242,7 @@ function mapCompletedVerification(result, includeAudit) {
|
|
|
190
242
|
lenz_score: (_c = result.lenz_score) !== null && _c !== void 0 ? _c : null,
|
|
191
243
|
key_finding: (_d = result.key_finding) !== null && _d !== void 0 ? _d : '',
|
|
192
244
|
executive_summary: (_e = result.executive_summary) !== null && _e !== void 0 ? _e : '',
|
|
245
|
+
suggested_rewrite: typeof result.suggested_rewrite === 'string' ? result.suggested_rewrite : '',
|
|
193
246
|
warnings: (_f = result.warnings) !== null && _f !== void 0 ? _f : [],
|
|
194
247
|
claim: (_g = result.claim) !== null && _g !== void 0 ? _g : '',
|
|
195
248
|
domain: (_h = result.domain) !== null && _h !== void 0 ? _h : '',
|
|
@@ -219,7 +272,7 @@ function failureFields(record) {
|
|
|
219
272
|
};
|
|
220
273
|
}
|
|
221
274
|
function mapVerifyStatus(status, taskId, includeAudit) {
|
|
222
|
-
var _a, _b
|
|
275
|
+
var _a, _b;
|
|
223
276
|
const state = status.status;
|
|
224
277
|
if (state === 'completed') {
|
|
225
278
|
return mapCompletedVerification(((_a = status.result) !== null && _a !== void 0 ? _a : {}), includeAudit);
|
|
@@ -232,8 +285,8 @@ function mapVerifyStatus(status, taskId, includeAudit) {
|
|
|
232
285
|
reason: reason !== null && reason !== void 0 ? reason : null,
|
|
233
286
|
task_id: taskId,
|
|
234
287
|
claims: (_b = status.claims) !== null && _b !== void 0 ? _b : [],
|
|
235
|
-
candidates:
|
|
236
|
-
similar_claims:
|
|
288
|
+
candidates: [],
|
|
289
|
+
similar_claims: [],
|
|
237
290
|
message: needsInputMessage(reason),
|
|
238
291
|
};
|
|
239
292
|
}
|
|
@@ -244,9 +297,44 @@ function mapVerifyStatus(status, taskId, includeAudit) {
|
|
|
244
297
|
status: 'processing',
|
|
245
298
|
passed: null,
|
|
246
299
|
task_id: taskId,
|
|
247
|
-
progress: (
|
|
300
|
+
progress: mapProgress(status.progress),
|
|
248
301
|
};
|
|
249
302
|
}
|
|
303
|
+
const PROGRESS_FIELDS = ['step', 'index', 'total', 'elapsed_seconds', 'poll_after_seconds'];
|
|
304
|
+
function mapProgress(progress) {
|
|
305
|
+
if (!progress || typeof progress !== 'object' || Array.isArray(progress))
|
|
306
|
+
return {};
|
|
307
|
+
const source = progress;
|
|
308
|
+
const mapped = {};
|
|
309
|
+
for (const key of PROGRESS_FIELDS) {
|
|
310
|
+
if (source[key] !== undefined) {
|
|
311
|
+
mapped[key] = source[key];
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
return mapped;
|
|
315
|
+
}
|
|
316
|
+
const MAX_STATED_POLL_WAIT_SECONDS = 60;
|
|
317
|
+
function statedPollAfterMs(progress) {
|
|
318
|
+
if (!progress || typeof progress !== 'object')
|
|
319
|
+
return undefined;
|
|
320
|
+
const seconds = Number(progress.poll_after_seconds);
|
|
321
|
+
if (!Number.isFinite(seconds) || seconds <= 0 || seconds > MAX_STATED_POLL_WAIT_SECONDS) {
|
|
322
|
+
return undefined;
|
|
323
|
+
}
|
|
324
|
+
return Math.ceil(seconds) * 1000;
|
|
325
|
+
}
|
|
326
|
+
const AUTHENTICATION_OPTIONS = [
|
|
327
|
+
{
|
|
328
|
+
name: 'OAuth',
|
|
329
|
+
value: 'oAuth2',
|
|
330
|
+
description: 'Sign in with your Lenz account; n8n registers itself with Lenz automatically, no API key needed',
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
name: 'API Key',
|
|
334
|
+
value: 'apiKey',
|
|
335
|
+
description: 'Paste a Lenz API key',
|
|
336
|
+
},
|
|
337
|
+
];
|
|
250
338
|
class Lenz {
|
|
251
339
|
constructor() {
|
|
252
340
|
this.description = {
|
|
@@ -254,7 +342,7 @@ class Lenz {
|
|
|
254
342
|
name: 'lenz',
|
|
255
343
|
icon: { light: 'file:lenz.svg', dark: 'file:lenz.dark.svg' },
|
|
256
344
|
group: ['transform'],
|
|
257
|
-
version: [1, 1.1],
|
|
345
|
+
version: [1, 1.1, 1.2],
|
|
258
346
|
subtitle: '={{$parameter["operation"]}}',
|
|
259
347
|
description: 'Fact-check claims and catch AI hallucinations with sourced, audit-grade verdicts',
|
|
260
348
|
defaults: {
|
|
@@ -267,9 +355,33 @@ class Lenz {
|
|
|
267
355
|
{
|
|
268
356
|
name: 'lenzApi',
|
|
269
357
|
required: true,
|
|
358
|
+
displayOptions: { show: { authentication: ['apiKey'] } },
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
name: 'lenzOAuth2Api',
|
|
362
|
+
required: true,
|
|
363
|
+
displayOptions: { show: { authentication: ['oAuth2'] } },
|
|
270
364
|
},
|
|
271
365
|
],
|
|
272
366
|
properties: [
|
|
367
|
+
{
|
|
368
|
+
displayName: 'Authentication',
|
|
369
|
+
name: 'authentication',
|
|
370
|
+
type: 'options',
|
|
371
|
+
noDataExpression: true,
|
|
372
|
+
options: AUTHENTICATION_OPTIONS,
|
|
373
|
+
default: 'apiKey',
|
|
374
|
+
displayOptions: { show: { '@version': [1, 1.1] } },
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
displayName: 'Authentication',
|
|
378
|
+
name: 'authentication',
|
|
379
|
+
type: 'options',
|
|
380
|
+
noDataExpression: true,
|
|
381
|
+
options: AUTHENTICATION_OPTIONS,
|
|
382
|
+
default: 'oAuth2',
|
|
383
|
+
displayOptions: { show: { '@version': [1.2] } },
|
|
384
|
+
},
|
|
273
385
|
{
|
|
274
386
|
displayName: 'Resource',
|
|
275
387
|
name: 'resource',
|
|
@@ -310,7 +422,7 @@ class Lenz {
|
|
|
310
422
|
{
|
|
311
423
|
name: 'Assess (Fast)',
|
|
312
424
|
value: 'assess',
|
|
313
|
-
description: 'Fast 3-model panel verdict (~
|
|
425
|
+
description: 'Fast 3-model panel verdict (~15s), one entry per claim found in the text',
|
|
314
426
|
action: 'Quickly assess text for factual claims',
|
|
315
427
|
},
|
|
316
428
|
{
|
|
@@ -352,7 +464,7 @@ class Lenz {
|
|
|
352
464
|
{
|
|
353
465
|
name: 'Get Many',
|
|
354
466
|
value: 'listVerifications',
|
|
355
|
-
description: 'Retrieve the verifications stored
|
|
467
|
+
description: 'Retrieve the verifications stored in your Lenz account',
|
|
356
468
|
action: 'Get many verifications',
|
|
357
469
|
},
|
|
358
470
|
{
|
|
@@ -427,6 +539,12 @@ class Lenz {
|
|
|
427
539
|
description: 'Check your account credit balance, what each operation costs, and when credits reset. Credits are per account, shared across your API keys.',
|
|
428
540
|
action: 'Check usage and credits',
|
|
429
541
|
},
|
|
542
|
+
{
|
|
543
|
+
name: 'Get Webhook Secret',
|
|
544
|
+
value: 'webhookSecret',
|
|
545
|
+
description: 'OAuth connections only: the secret Lenz signs this connection\'s webhook deliveries with. Run it once before using a Webhook URL; an API key\'s secret is on lenz.io/api-credentials.',
|
|
546
|
+
action: 'Get the webhook signing secret',
|
|
547
|
+
},
|
|
430
548
|
],
|
|
431
549
|
default: 'usage',
|
|
432
550
|
},
|
|
@@ -448,7 +566,7 @@ class Lenz {
|
|
|
448
566
|
{
|
|
449
567
|
name: 'Assess (Fast)',
|
|
450
568
|
value: 'assess',
|
|
451
|
-
description: 'Fast 3-model panel verdict (~
|
|
569
|
+
description: 'Fast 3-model panel verdict (~15s), one entry per claim found in the text',
|
|
452
570
|
action: 'Quickly assess text for factual claims',
|
|
453
571
|
},
|
|
454
572
|
{
|
|
@@ -585,7 +703,7 @@ class Lenz {
|
|
|
585
703
|
{
|
|
586
704
|
name: 'Private',
|
|
587
705
|
value: 'private',
|
|
588
|
-
description: 'Only reachable with your
|
|
706
|
+
description: 'Only reachable with your Lenz credential',
|
|
589
707
|
},
|
|
590
708
|
{
|
|
591
709
|
name: 'Unlisted',
|
|
@@ -618,7 +736,7 @@ class Lenz {
|
|
|
618
736
|
],
|
|
619
737
|
},
|
|
620
738
|
},
|
|
621
|
-
description: 'The verification_id from a successful Verify (Deep) result. A timed-out or needs-
|
|
739
|
+
description: 'The verification_id from a successful Verify (Deep) result. A timed-out or needs-input result returns a task_id instead, which won\'t work here.',
|
|
622
740
|
},
|
|
623
741
|
{
|
|
624
742
|
displayName: 'Question',
|
|
@@ -652,7 +770,7 @@ class Lenz {
|
|
|
652
770
|
displayOptions: {
|
|
653
771
|
show: { operation: ['select'] },
|
|
654
772
|
},
|
|
655
|
-
description: 'Claim texts copied verbatim from the paused task\'s "claims"
|
|
773
|
+
description: 'Claim texts copied verbatim from the paused task\'s "claims" list. Anything that was not offered is rejected, and a paused task stays open for 24 hours from submission.',
|
|
656
774
|
},
|
|
657
775
|
{
|
|
658
776
|
displayName: 'Wait for Completion',
|
|
@@ -668,12 +786,12 @@ class Lenz {
|
|
|
668
786
|
displayName: 'Max Wait (Seconds)',
|
|
669
787
|
name: 'maxWaitSeconds',
|
|
670
788
|
type: 'number',
|
|
671
|
-
default:
|
|
789
|
+
default: 300,
|
|
672
790
|
typeOptions: { minValue: 10, maxValue: 900 },
|
|
673
791
|
displayOptions: {
|
|
674
792
|
show: { operation: ['verify'], waitForCompletion: [true] },
|
|
675
793
|
},
|
|
676
|
-
description: '
|
|
794
|
+
description: 'The longest to keep polling before giving up and returning Status "timeout" with the task ID. It is a ceiling, not a delay: a verification that finishes sooner returns as soon as it does. A standard-depth run is about 90s but can run past two minutes, which is why this defaults to 300. Giving up never cancels anything: the task keeps running server-side and stays fetchable with Get Verify Status, so the credits are not lost. Lower it only if the workflow cannot afford to block this long.',
|
|
677
795
|
},
|
|
678
796
|
{
|
|
679
797
|
displayName: 'Include Audit Trail',
|
|
@@ -735,7 +853,7 @@ class Lenz {
|
|
|
735
853
|
displayOptions: {
|
|
736
854
|
show: { operation: ['verify', 'verifyBatch'] },
|
|
737
855
|
},
|
|
738
|
-
description: 'Optional URL Lenz POSTs the signed result to when the pipeline finishes.
|
|
856
|
+
description: 'Optional URL Lenz POSTs the signed result to when the pipeline finishes. It needs a signing secret, otherwise the call is rejected: with an API key, set one on lenz.io/api-credentials; with OAuth, run Account → Get Webhook Secret once for this connection (and again after reconnecting, which starts the connection without one).',
|
|
739
857
|
},
|
|
740
858
|
{
|
|
741
859
|
displayName: 'Visibility',
|
|
@@ -745,7 +863,7 @@ class Lenz {
|
|
|
745
863
|
{
|
|
746
864
|
name: 'Private',
|
|
747
865
|
value: 'private',
|
|
748
|
-
description: 'Only reachable with your
|
|
866
|
+
description: 'Only reachable with your Lenz credential',
|
|
749
867
|
},
|
|
750
868
|
{
|
|
751
869
|
name: 'Unlisted',
|
|
@@ -807,7 +925,7 @@ class Lenz {
|
|
|
807
925
|
};
|
|
808
926
|
}
|
|
809
927
|
async execute() {
|
|
810
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1;
|
|
928
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
|
|
811
929
|
const items = this.getInputData();
|
|
812
930
|
const returnData = [];
|
|
813
931
|
const executionId = this.getExecutionId();
|
|
@@ -816,6 +934,9 @@ class Lenz {
|
|
|
816
934
|
const buildIdempotencyKey = (operation, itemIndex, path, body) => executionId
|
|
817
935
|
? `n8n:${executionId}:${nodeKey}:${operation}:${itemIndex}:${bodyFingerprint({ path, body })}`
|
|
818
936
|
: '';
|
|
937
|
+
const credentialType = this.getNodeParameter('authentication', 0, 'apiKey') === 'oAuth2'
|
|
938
|
+
? 'lenzOAuth2Api'
|
|
939
|
+
: 'lenzApi';
|
|
819
940
|
const lenzRequest = async (method, path, body, extra) => {
|
|
820
941
|
const headers = {
|
|
821
942
|
'User-Agent': USER_AGENT,
|
|
@@ -829,7 +950,7 @@ class Lenz {
|
|
|
829
950
|
}
|
|
830
951
|
const options = {
|
|
831
952
|
method,
|
|
832
|
-
baseURL: BASE_URL,
|
|
953
|
+
baseURL: exports.BASE_URL,
|
|
833
954
|
url: path,
|
|
834
955
|
json: true,
|
|
835
956
|
headers,
|
|
@@ -840,7 +961,7 @@ class Lenz {
|
|
|
840
961
|
if ((extra === null || extra === void 0 ? void 0 : extra.qs) !== undefined) {
|
|
841
962
|
options.qs = extra.qs;
|
|
842
963
|
}
|
|
843
|
-
return (await this.helpers.httpRequestWithAuthentication.call(this,
|
|
964
|
+
return (await this.helpers.httpRequestWithAuthentication.call(this, credentialType, options));
|
|
844
965
|
};
|
|
845
966
|
for (let itemIndex = 0; itemIndex < items.length; itemIndex++) {
|
|
846
967
|
let pendingTaskId = '';
|
|
@@ -865,7 +986,7 @@ class Lenz {
|
|
|
865
986
|
const depth = this.getNodeParameter('depth', itemIndex, 'standard');
|
|
866
987
|
let waitSeconds = 0;
|
|
867
988
|
if (waitForCompletion) {
|
|
868
|
-
const requestedWait = Number(this.getNodeParameter('maxWaitSeconds', itemIndex, POLL_TIMEOUT_MS / 1000));
|
|
989
|
+
const requestedWait = Number(this.getNodeParameter('maxWaitSeconds', itemIndex, exports.POLL_TIMEOUT_MS / 1000));
|
|
869
990
|
if (!Number.isFinite(requestedWait)) {
|
|
870
991
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Max Wait (Seconds) must be a number of seconds', { itemIndex });
|
|
871
992
|
}
|
|
@@ -910,7 +1031,7 @@ class Lenz {
|
|
|
910
1031
|
let pollIdx = 0;
|
|
911
1032
|
let unclassifiedRetries = 0;
|
|
912
1033
|
let lastPollError;
|
|
913
|
-
while (
|
|
1034
|
+
while (true) {
|
|
914
1035
|
let status;
|
|
915
1036
|
try {
|
|
916
1037
|
status = await lenzRequest('GET', `/verify/status/${taskId}`);
|
|
@@ -932,7 +1053,7 @@ class Lenz {
|
|
|
932
1053
|
if (code === undefined) {
|
|
933
1054
|
unclassifiedRetries += 1;
|
|
934
1055
|
}
|
|
935
|
-
const statedWait = code === 429 ? statedRetryAfterMs(pollError) : undefined;
|
|
1056
|
+
const statedWait = code === 429 ? cappedPollWaitMs(statedRetryAfterMs(pollError)) : undefined;
|
|
936
1057
|
if (!(await waitForNextPoll(pollIdx, deadline, statedWait))) {
|
|
937
1058
|
break;
|
|
938
1059
|
}
|
|
@@ -947,7 +1068,8 @@ class Lenz {
|
|
|
947
1068
|
terminal = status;
|
|
948
1069
|
break;
|
|
949
1070
|
}
|
|
950
|
-
|
|
1071
|
+
const statedPoll = statedPollAfterMs(status.progress);
|
|
1072
|
+
if (!(await waitForNextPoll(pollIdx, deadline, statedPoll))) {
|
|
951
1073
|
break;
|
|
952
1074
|
}
|
|
953
1075
|
pollIdx += 1;
|
|
@@ -1110,7 +1232,7 @@ class Lenz {
|
|
|
1110
1232
|
const claims = ((_r = result.claims) !== null && _r !== void 0 ? _r : []);
|
|
1111
1233
|
if (!claims.length) {
|
|
1112
1234
|
responseData = {
|
|
1113
|
-
status:
|
|
1235
|
+
status: 'no_claim',
|
|
1114
1236
|
message: (_s = result.error) !== null && _s !== void 0 ? _s : 'No verifiable factual claim was detected.',
|
|
1115
1237
|
candidate_claims: (_t = result.candidate_claims) !== null && _t !== void 0 ? _t : [],
|
|
1116
1238
|
};
|
|
@@ -1282,6 +1404,12 @@ class Lenz {
|
|
|
1282
1404
|
else if (operation === 'usage') {
|
|
1283
1405
|
responseData = await lenzRequest('GET', '/me/usage');
|
|
1284
1406
|
}
|
|
1407
|
+
else if (operation === 'webhookSecret') {
|
|
1408
|
+
if (credentialType !== 'lenzOAuth2Api') {
|
|
1409
|
+
throw new n8n_workflow_1.NodeOperationError(this.getNode(), "An API key's webhook secret is set and shown on https://lenz.io/api-credentials, not over the API. Get Webhook Secret is for OAuth connections.", { itemIndex });
|
|
1410
|
+
}
|
|
1411
|
+
responseData = await lenzRequest('GET', '/me/webhook-secret');
|
|
1412
|
+
}
|
|
1285
1413
|
else {
|
|
1286
1414
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Unknown operation: ' + operation, {
|
|
1287
1415
|
itemIndex,
|
|
@@ -1306,9 +1434,14 @@ class Lenz {
|
|
|
1306
1434
|
if (typeof body.code === 'string' && body.code) {
|
|
1307
1435
|
json.code = body.code;
|
|
1308
1436
|
}
|
|
1309
|
-
const
|
|
1310
|
-
if (
|
|
1311
|
-
|
|
1437
|
+
const statedWait = statedWaitSeconds(body);
|
|
1438
|
+
if (statedWait !== undefined) {
|
|
1439
|
+
if (status !== 429 || statedWait <= WAIT_NODE_VIABLE_SECONDS) {
|
|
1440
|
+
json.retry_after = statedWait;
|
|
1441
|
+
}
|
|
1442
|
+
else {
|
|
1443
|
+
json.resets_in_seconds = statedWait;
|
|
1444
|
+
}
|
|
1312
1445
|
}
|
|
1313
1446
|
if (typeof body.cost === 'number') {
|
|
1314
1447
|
json.cost = body.cost;
|
|
@@ -1316,7 +1449,16 @@ class Lenz {
|
|
|
1316
1449
|
if (typeof body.credits_remaining === 'number') {
|
|
1317
1450
|
json.credits_remaining = body.credits_remaining;
|
|
1318
1451
|
}
|
|
1319
|
-
const
|
|
1452
|
+
const lenzRateLimit = status === 429 && isLenzRateLimit(body);
|
|
1453
|
+
if (lenzRateLimit && typeof body.limit === 'number') {
|
|
1454
|
+
json.limit = body.limit;
|
|
1455
|
+
}
|
|
1456
|
+
if ((lenzRateLimit || status === 402) &&
|
|
1457
|
+
typeof body.upgrade_url === 'string' &&
|
|
1458
|
+
body.upgrade_url) {
|
|
1459
|
+
json.upgrade_url = body.upgrade_url;
|
|
1460
|
+
}
|
|
1461
|
+
const typed = (_0 = (_z = quotaMessageFor(error)) !== null && _z !== void 0 ? _z : capacityMessageFor(error)) !== null && _0 !== void 0 ? _0 : rateLimitMessageFor(error);
|
|
1320
1462
|
if (typed) {
|
|
1321
1463
|
json.error_message = typed.message;
|
|
1322
1464
|
json.error_description = typed.description;
|
|
@@ -1331,7 +1473,7 @@ class Lenz {
|
|
|
1331
1473
|
const opReceipt = pendingTaskId ? submittedReceipt(pendingTaskId) : '';
|
|
1332
1474
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error.message, {
|
|
1333
1475
|
itemIndex,
|
|
1334
|
-
description: [(
|
|
1476
|
+
description: [(_1 = error.description) !== null && _1 !== void 0 ? _1 : '', opReceipt].filter(Boolean).join(' ') || undefined,
|
|
1335
1477
|
});
|
|
1336
1478
|
}
|
|
1337
1479
|
const quota = quotaMessageFor(error);
|
|
@@ -1342,7 +1484,11 @@ class Lenz {
|
|
|
1342
1484
|
if (capacity) {
|
|
1343
1485
|
throw describeApiError(this.getNode(), error, itemIndex, capacity, '503');
|
|
1344
1486
|
}
|
|
1345
|
-
const
|
|
1487
|
+
const rateLimit = rateLimitMessageFor(error);
|
|
1488
|
+
if (rateLimit) {
|
|
1489
|
+
throw describeApiError(this.getNode(), error, itemIndex, rateLimit, '429');
|
|
1490
|
+
}
|
|
1491
|
+
const existingDescription = error instanceof n8n_workflow_1.NodeApiError ? ((_2 = error.description) !== null && _2 !== void 0 ? _2 : '') : '';
|
|
1346
1492
|
const receipt = pendingTaskId ? submittedReceipt(pendingTaskId) : '';
|
|
1347
1493
|
throw describeApiError(this.getNode(), error, itemIndex, {
|
|
1348
1494
|
message: error.message,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lenz.node.js","sourceRoot":"","sources":["../../../nodes/Lenz/Lenz.node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Lenz.node.js","sourceRoot":"","sources":["../../../nodes/Lenz/Lenz.node.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-lenz",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Fact-check claims and catch AI hallucinations with Lenz - verified, sourced verdicts inside your n8n workflows.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://lenz.io",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"prompt:build": "node scripts/generate-workflow-prompt.mjs",
|
|
27
27
|
"prompt:check": "node scripts/generate-workflow-prompt.mjs --check",
|
|
28
28
|
"test": "jest",
|
|
29
|
+
"test:ci": "jest --coverage",
|
|
29
30
|
"test:hooks": "jest --config jest.hooks.config.cjs"
|
|
30
31
|
},
|
|
31
32
|
"files": [
|
|
@@ -40,19 +41,20 @@
|
|
|
40
41
|
"n8nNodesApiVersion": 1,
|
|
41
42
|
"strict": true,
|
|
42
43
|
"credentials": [
|
|
43
|
-
"dist/credentials/LenzApi.credentials.js"
|
|
44
|
+
"dist/credentials/LenzApi.credentials.js",
|
|
45
|
+
"dist/credentials/LenzOAuth2Api.credentials.js"
|
|
44
46
|
],
|
|
45
47
|
"nodes": [
|
|
46
48
|
"dist/nodes/Lenz/Lenz.node.js"
|
|
47
49
|
]
|
|
48
50
|
},
|
|
49
51
|
"devDependencies": {
|
|
50
|
-
"@n8n/node-cli": "
|
|
52
|
+
"@n8n/node-cli": "^0.51.3",
|
|
51
53
|
"@types/jest": "^30.0.0",
|
|
52
54
|
"eslint": "9.32.0",
|
|
53
55
|
"jest": "^30.4.2",
|
|
54
56
|
"prettier": "3.6.2",
|
|
55
|
-
"release-it": "^
|
|
57
|
+
"release-it": "^21.1.0",
|
|
56
58
|
"ts-jest": "^29.4.11",
|
|
57
59
|
"typescript": "5.9.2"
|
|
58
60
|
},
|