@tadnt2003/n8n-nodes-infisical 0.3.7 → 0.3.8

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.
@@ -269,18 +269,19 @@ function coerceValue(raw, def) {
269
269
  //
270
270
  // When condKey IS in schema properties, fire only when the current value matches condValues.
271
271
  //
272
- // When condKey is NOT in schema properties (e.g. useDynamicClientRegistration on
273
- // googleOAuth2Api), JSON Schema evaluates the if-clause vacuously — the properties keyword
274
- // has nothing to check, so it passes, and both the [true] branch and the [false] branch
275
- // appear to fire simultaneously. That is the "vacuous truth" problem.
276
- //
277
- // n8n avoids it by internally defaulting the absent key to false before validating, so only
278
- // the branch whose condValues contain a falsy value actually fires (the "standard mode"
279
- // branch). We mirror that: condValues=[false] fires, condValues=[true] does not.
272
+ // When condKey is NOT in schema properties (e.g. useDynamicClientRegistration or grantType on
273
+ // googleOAuth2Api / googleSheetsOAuth2Api), JSON Schema evaluates the if-clause vacuously:
274
+ // the `properties` keyword only constrains keys that ARE present, so an absent key always
275
+ // satisfies the constraint. The if-clause passes then fires (else never fires) for every
276
+ // such branch, regardless of condValues. n8n's own schema validator follows this standard
277
+ // JSON Schema behaviour when useDynamicClientRegistration is absent, BOTH the [true] and
278
+ // [false] allOf branches fire, requiring serverUrl AND clientId/clientSecret simultaneously.
279
+ // We mirror that by always returning true for vacuous-truth branches.
280
280
  function conditionFires(condKeyInSchema, condValues, condVal) {
281
281
  if (condKeyInSchema)
282
282
  return condValues.includes(condVal);
283
- return condValues.some((v) => !v);
283
+ // Vacuous truth: absent key → if always passes → then always fires.
284
+ return true;
284
285
  }
285
286
  // Validate credential data against the n8n schema's required fields and conditional requirements.
286
287
  // For form mode, pass availableFormFields to skip checks for fields the form cannot provide.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tadnt2003/n8n-nodes-infisical",
3
- "version": "0.3.7",
3
+ "version": "0.3.8",
4
4
  "description": "n8n community node for Infisical - Secret management platform",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",