@n8n/i18n 1.23.0 → 1.24.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.
@@ -41,6 +41,8 @@ declare const _exports: {
41
41
  "generic.annotations": string;
42
42
  "generic.annotationData": string;
43
43
  "generic.any": string;
44
+ "generic.allow": string;
45
+ "generic.deny": string;
44
46
  "generic.cancel": string;
45
47
  "generic.open": string;
46
48
  "generic.openResource": string;
@@ -96,6 +98,7 @@ declare const _exports: {
96
98
  "generic.dismiss": string;
97
99
  "generic.saving": string;
98
100
  "generic.name": string;
101
+ "generic.description": string;
99
102
  "generic.unsavedWork.confirmMessage.headline": string;
100
103
  "generic.unsavedWork.confirmMessage.message": string;
101
104
  "generic.unsavedWork.confirmMessage.confirmButtonText": string;
@@ -1068,6 +1071,11 @@ declare const _exports: {
1068
1071
  "folder.delete.modal.confirmation": string;
1069
1072
  "folder.count": string;
1070
1073
  "workflow.count": string;
1074
+ "workflow.description.tooltip": string;
1075
+ "workflow.description.placeholder": string;
1076
+ "workflow.description.placeholder.mcp": string;
1077
+ "workflow.description.placeholder.mcp.webhook": string;
1078
+ "workflow.description.error.title": string;
1071
1079
  "folder.and.workflow.separator": string;
1072
1080
  "folders.delete.action": string;
1073
1081
  "folders.delete.error.message": string;
@@ -1192,6 +1200,7 @@ declare const _exports: {
1192
1200
  "mainSidebar.whatsNew": string;
1193
1201
  "mainSidebar.whatsNew.fullChangelog": string;
1194
1202
  "mcp.workflowNotEligable.description": string;
1203
+ "mcp.instanceLevelAccessDisabled.description": string;
1195
1204
  "mcp.workflowDeactivated.title": string;
1196
1205
  "mcp.productionCheklist.title": string;
1197
1206
  "mcp.productionCheklist.description": string;
@@ -1303,6 +1312,7 @@ declare const _exports: {
1303
1312
  "ndv.output.tooMuchData.message": string;
1304
1313
  "ndv.output.tooMuchData.showDataAnyway": string;
1305
1314
  "ndv.output.tooMuchData.title": string;
1315
+ "ndv.output.logs.tooMuchData.message": string;
1306
1316
  "ndv.output.waitingToRun": string;
1307
1317
  "ndv.output.noToolUsedInfo": string;
1308
1318
  "ndv.title.cancel": string;
@@ -1745,6 +1755,17 @@ declare const _exports: {
1745
1755
  "nodeWebhooks.webhookUrls.mcpTrigger": string;
1746
1756
  "openWorkflow.workflowImportError": string;
1747
1757
  "openWorkflow.workflowNotFoundError": string;
1758
+ "oauth.consentView.title": string;
1759
+ "oauth.consentView.heading": string;
1760
+ "oauth.consentView.description": string;
1761
+ "oauth.consentView.action.listWorkflows": string;
1762
+ "oauth.consentView.action.workflowDetails": string;
1763
+ "oauth.consentView.readMore": string;
1764
+ "oauth.consentView.error.deny": string;
1765
+ "oauth.consentView.error.allow": string;
1766
+ "oauth.consentView.error.fetchDetails": string;
1767
+ "oauth.consentView.success.title": string;
1768
+ "oauth.consentView.success.description": string;
1748
1769
  "parameterInput.expressionResult": string;
1749
1770
  "parameterInput.tip": string;
1750
1771
  "parameterInput.dragTipBeforePill": string;
@@ -2176,6 +2197,8 @@ declare const _exports: {
2176
2197
  "settings.mcp.empty.description": string;
2177
2198
  "settings.mcp.toggle.disabled.tooltip": string;
2178
2199
  "settings.mcp.toggle.error": string;
2200
+ "settings.mcp.instructions.tabs.oauth": string;
2201
+ "settings.mcp.instructions.tabs.apiKey": string;
2179
2202
  "settings.mcp.instructions.enableAccess": string;
2180
2203
  "settings.mcp.instructions.serverUrl": string;
2181
2204
  "settings.mcp.instructions.apiKey.label": string;
@@ -2187,6 +2210,18 @@ declare const _exports: {
2187
2210
  "settings.mcp.newKey.notice": string;
2188
2211
  "settings.mcp.error.fetching.apiKey": string;
2189
2212
  "settings.mcp.error.rotating.apiKey": string;
2213
+ "settings.mcp.error.fetching.oAuthClients": string;
2214
+ "settings.mcp.oAuthClients.heading": string;
2215
+ "settings.mcp.oAuthClients.table.clientName": string;
2216
+ "settings.mcp.oAuthClients.table.connectedAt": string;
2217
+ "settings.mcp.oAuthClients.table.lastUsedAt": string;
2218
+ "settings.mcp.oAuthClients.table.action.revokeAccess": string;
2219
+ "settings.mcp.oAuthClients.revoke.success.title": string;
2220
+ "settings.mcp.oAuthClients.revoke.success.message": string;
2221
+ "settings.mcp.oAuthClients.revoke.error": string;
2222
+ "settings.mcp.oAuthClients.table.empty.title": string;
2223
+ "settings.mcp.refresh.tooltip": string;
2224
+ "settings.mcp.workflowsTable.workflow": string;
2190
2225
  "settings.goBack": string;
2191
2226
  "settings.personal": string;
2192
2227
  "settings.personal.basicInformation": string;
@@ -2415,13 +2450,18 @@ declare const _exports: {
2415
2450
  "settings.provisioning.scopesProjectsRolesClaimName": string;
2416
2451
  "settings.provisioning.scopesProjectsRolesClaimName.placeholder": string;
2417
2452
  "settings.provisioning.scopesProjectsRolesClaimName.help": string;
2418
- "settings.provisioning.scopesProvisionInstanceRole": string;
2419
- "settings.provisioning.scopesProvisionInstanceRole.help": string;
2420
- "settings.provisioning.scopesProvisionProjectRoles": string;
2421
- "settings.provisioning.scopesProvisionProjectRoles.help": string;
2422
- "settings.provisioning.scopesProvisioningFrequency": string;
2423
- "settings.provisioning.scopesProvisioningFrequency.placeholder": string;
2424
- "settings.provisioning.scopesProvisioningFrequency.help": string;
2453
+ "settings.provisioning.toggle": string;
2454
+ "settings.provisioning.toggle.help": string;
2455
+ "settings.provisioningConfirmDialog.title": string;
2456
+ "settings.provisioningConfirmDialog.breakingChangeDescription.firstLine": string;
2457
+ "settings.provisioningConfirmDialog.breakingChangeDescription.list.one": string;
2458
+ "settings.provisioningConfirmDialog.breakingChangeDescription.list.two": string;
2459
+ "settings.provisioningConfirmDialog.breakingChangeRequiredSteps": string;
2460
+ "settings.provisioningConfirmDialog.button.confirm": string;
2461
+ "settings.provisioningConfirmDialog.button.cancel": string;
2462
+ "settings.provisioningConfirmDialog.button.generateCsvExport": string;
2463
+ "settings.provisioningConfirmDialog.button.downloadProjectRolesCsv": string;
2464
+ "settings.provisioningConfirmDialog.button.downloadInstanceRolesCsv": string;
2425
2465
  "settings.externalSecrets.title": string;
2426
2466
  "settings.externalSecrets.info": string;
2427
2467
  "settings.externalSecrets.info.link": string;
@@ -3852,5 +3892,5 @@ interface INodeTranslationHeaders {
3852
3892
  };
3853
3893
  }
3854
3894
  //#endregion
3855
- export { LocaleMessages as i, GetBaseTextKey as n, INodeTranslationHeaders as r, BaseTextKey as t };
3856
- //# sourceMappingURL=types-BBUPsiGf.d.cts.map
3895
+ export { BaseTextKey, GetBaseTextKey, INodeTranslationHeaders, LocaleMessages };
3896
+ //# sourceMappingURL=types-CvlTqtF_.d.cts.map
@@ -41,6 +41,8 @@ declare const _exports: {
41
41
  "generic.annotations": string;
42
42
  "generic.annotationData": string;
43
43
  "generic.any": string;
44
+ "generic.allow": string;
45
+ "generic.deny": string;
44
46
  "generic.cancel": string;
45
47
  "generic.open": string;
46
48
  "generic.openResource": string;
@@ -96,6 +98,7 @@ declare const _exports: {
96
98
  "generic.dismiss": string;
97
99
  "generic.saving": string;
98
100
  "generic.name": string;
101
+ "generic.description": string;
99
102
  "generic.unsavedWork.confirmMessage.headline": string;
100
103
  "generic.unsavedWork.confirmMessage.message": string;
101
104
  "generic.unsavedWork.confirmMessage.confirmButtonText": string;
@@ -1068,6 +1071,11 @@ declare const _exports: {
1068
1071
  "folder.delete.modal.confirmation": string;
1069
1072
  "folder.count": string;
1070
1073
  "workflow.count": string;
1074
+ "workflow.description.tooltip": string;
1075
+ "workflow.description.placeholder": string;
1076
+ "workflow.description.placeholder.mcp": string;
1077
+ "workflow.description.placeholder.mcp.webhook": string;
1078
+ "workflow.description.error.title": string;
1071
1079
  "folder.and.workflow.separator": string;
1072
1080
  "folders.delete.action": string;
1073
1081
  "folders.delete.error.message": string;
@@ -1192,6 +1200,7 @@ declare const _exports: {
1192
1200
  "mainSidebar.whatsNew": string;
1193
1201
  "mainSidebar.whatsNew.fullChangelog": string;
1194
1202
  "mcp.workflowNotEligable.description": string;
1203
+ "mcp.instanceLevelAccessDisabled.description": string;
1195
1204
  "mcp.workflowDeactivated.title": string;
1196
1205
  "mcp.productionCheklist.title": string;
1197
1206
  "mcp.productionCheklist.description": string;
@@ -1303,6 +1312,7 @@ declare const _exports: {
1303
1312
  "ndv.output.tooMuchData.message": string;
1304
1313
  "ndv.output.tooMuchData.showDataAnyway": string;
1305
1314
  "ndv.output.tooMuchData.title": string;
1315
+ "ndv.output.logs.tooMuchData.message": string;
1306
1316
  "ndv.output.waitingToRun": string;
1307
1317
  "ndv.output.noToolUsedInfo": string;
1308
1318
  "ndv.title.cancel": string;
@@ -1745,6 +1755,17 @@ declare const _exports: {
1745
1755
  "nodeWebhooks.webhookUrls.mcpTrigger": string;
1746
1756
  "openWorkflow.workflowImportError": string;
1747
1757
  "openWorkflow.workflowNotFoundError": string;
1758
+ "oauth.consentView.title": string;
1759
+ "oauth.consentView.heading": string;
1760
+ "oauth.consentView.description": string;
1761
+ "oauth.consentView.action.listWorkflows": string;
1762
+ "oauth.consentView.action.workflowDetails": string;
1763
+ "oauth.consentView.readMore": string;
1764
+ "oauth.consentView.error.deny": string;
1765
+ "oauth.consentView.error.allow": string;
1766
+ "oauth.consentView.error.fetchDetails": string;
1767
+ "oauth.consentView.success.title": string;
1768
+ "oauth.consentView.success.description": string;
1748
1769
  "parameterInput.expressionResult": string;
1749
1770
  "parameterInput.tip": string;
1750
1771
  "parameterInput.dragTipBeforePill": string;
@@ -2176,6 +2197,8 @@ declare const _exports: {
2176
2197
  "settings.mcp.empty.description": string;
2177
2198
  "settings.mcp.toggle.disabled.tooltip": string;
2178
2199
  "settings.mcp.toggle.error": string;
2200
+ "settings.mcp.instructions.tabs.oauth": string;
2201
+ "settings.mcp.instructions.tabs.apiKey": string;
2179
2202
  "settings.mcp.instructions.enableAccess": string;
2180
2203
  "settings.mcp.instructions.serverUrl": string;
2181
2204
  "settings.mcp.instructions.apiKey.label": string;
@@ -2187,6 +2210,18 @@ declare const _exports: {
2187
2210
  "settings.mcp.newKey.notice": string;
2188
2211
  "settings.mcp.error.fetching.apiKey": string;
2189
2212
  "settings.mcp.error.rotating.apiKey": string;
2213
+ "settings.mcp.error.fetching.oAuthClients": string;
2214
+ "settings.mcp.oAuthClients.heading": string;
2215
+ "settings.mcp.oAuthClients.table.clientName": string;
2216
+ "settings.mcp.oAuthClients.table.connectedAt": string;
2217
+ "settings.mcp.oAuthClients.table.lastUsedAt": string;
2218
+ "settings.mcp.oAuthClients.table.action.revokeAccess": string;
2219
+ "settings.mcp.oAuthClients.revoke.success.title": string;
2220
+ "settings.mcp.oAuthClients.revoke.success.message": string;
2221
+ "settings.mcp.oAuthClients.revoke.error": string;
2222
+ "settings.mcp.oAuthClients.table.empty.title": string;
2223
+ "settings.mcp.refresh.tooltip": string;
2224
+ "settings.mcp.workflowsTable.workflow": string;
2190
2225
  "settings.goBack": string;
2191
2226
  "settings.personal": string;
2192
2227
  "settings.personal.basicInformation": string;
@@ -2415,13 +2450,18 @@ declare const _exports: {
2415
2450
  "settings.provisioning.scopesProjectsRolesClaimName": string;
2416
2451
  "settings.provisioning.scopesProjectsRolesClaimName.placeholder": string;
2417
2452
  "settings.provisioning.scopesProjectsRolesClaimName.help": string;
2418
- "settings.provisioning.scopesProvisionInstanceRole": string;
2419
- "settings.provisioning.scopesProvisionInstanceRole.help": string;
2420
- "settings.provisioning.scopesProvisionProjectRoles": string;
2421
- "settings.provisioning.scopesProvisionProjectRoles.help": string;
2422
- "settings.provisioning.scopesProvisioningFrequency": string;
2423
- "settings.provisioning.scopesProvisioningFrequency.placeholder": string;
2424
- "settings.provisioning.scopesProvisioningFrequency.help": string;
2453
+ "settings.provisioning.toggle": string;
2454
+ "settings.provisioning.toggle.help": string;
2455
+ "settings.provisioningConfirmDialog.title": string;
2456
+ "settings.provisioningConfirmDialog.breakingChangeDescription.firstLine": string;
2457
+ "settings.provisioningConfirmDialog.breakingChangeDescription.list.one": string;
2458
+ "settings.provisioningConfirmDialog.breakingChangeDescription.list.two": string;
2459
+ "settings.provisioningConfirmDialog.breakingChangeRequiredSteps": string;
2460
+ "settings.provisioningConfirmDialog.button.confirm": string;
2461
+ "settings.provisioningConfirmDialog.button.cancel": string;
2462
+ "settings.provisioningConfirmDialog.button.generateCsvExport": string;
2463
+ "settings.provisioningConfirmDialog.button.downloadProjectRolesCsv": string;
2464
+ "settings.provisioningConfirmDialog.button.downloadInstanceRolesCsv": string;
2425
2465
  "settings.externalSecrets.title": string;
2426
2466
  "settings.externalSecrets.info": string;
2427
2467
  "settings.externalSecrets.info.link": string;
@@ -3852,5 +3892,5 @@ interface INodeTranslationHeaders {
3852
3892
  };
3853
3893
  }
3854
3894
  //#endregion
3855
- export { LocaleMessages as i, GetBaseTextKey as n, INodeTranslationHeaders as r, BaseTextKey as t };
3856
- //# sourceMappingURL=types-CMGPG3hO.d.ts.map
3895
+ export { BaseTextKey, GetBaseTextKey, INodeTranslationHeaders, LocaleMessages };
3896
+ //# sourceMappingURL=types-Gzyvgd4l.d.ts.map
package/dist/types.d.cts CHANGED
@@ -1,2 +1,2 @@
1
- import { i as LocaleMessages, n as GetBaseTextKey, r as INodeTranslationHeaders, t as BaseTextKey } from "./types-BBUPsiGf.cjs";
1
+ import { BaseTextKey, GetBaseTextKey, INodeTranslationHeaders, LocaleMessages } from "./types-CvlTqtF_.cjs";
2
2
  export { BaseTextKey, GetBaseTextKey, INodeTranslationHeaders, LocaleMessages };
package/dist/types.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { i as LocaleMessages, n as GetBaseTextKey, r as INodeTranslationHeaders, t as BaseTextKey } from "./types-CMGPG3hO.js";
1
+ import { BaseTextKey, GetBaseTextKey, INodeTranslationHeaders, LocaleMessages } from "./types-Gzyvgd4l.js";
2
2
  export { BaseTextKey, GetBaseTextKey, INodeTranslationHeaders, LocaleMessages };
package/dist/types.js CHANGED
@@ -1 +0,0 @@
1
- export { };
@@ -9,8 +9,14 @@
9
9
  */
10
10
  function deriveMiddleKey(path, parameter) {
11
11
  let middleKey = parameter.name;
12
- if (isTopLevelCollection(path, parameter) || isNestedInCollectionLike(path)) middleKey = insertOptionsAndValues(normalize(path).split(".")).join(".");
13
- if (isNestedCollection(path, parameter) || isFixedCollection(path, parameter)) middleKey = insertOptionsAndValues([...normalize(path).split("."), parameter.name]).join(".");
12
+ if (isTopLevelCollection(path, parameter) || isNestedInCollectionLike(path)) {
13
+ const pathSegments = normalize(path).split(".");
14
+ middleKey = insertOptionsAndValues(pathSegments).join(".");
15
+ }
16
+ if (isNestedCollection(path, parameter) || isFixedCollection(path, parameter)) {
17
+ const pathSegments = [...normalize(path).split("."), parameter.name];
18
+ middleKey = insertOptionsAndValues(pathSegments).join(".");
19
+ }
14
20
  return middleKey;
15
21
  }
16
22
  /**
@@ -47,5 +53,5 @@ const insertOptionsAndValues = (pathSegments) => {
47
53
  };
48
54
 
49
55
  //#endregion
50
- export { normalize as i, insertOptionsAndValues as n, isNestedInCollectionLike as r, deriveMiddleKey as t };
51
- //# sourceMappingURL=utils-h8Z6_NUG.js.map
56
+ export { deriveMiddleKey, insertOptionsAndValues, isNestedInCollectionLike, normalize };
57
+ //# sourceMappingURL=utils-BJm12gqs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-BJm12gqs.js","names":["path: string","parameter: { name: string; type?: string }","parameter: { type?: string }","pathSegments: string[]"],"sources":["../src/utils.ts"],"sourcesContent":["/**\n * Derive the middle key, i.e. the segment of the render key located between\n * the initial key (path to parameters root) and the property to render.\n *\n * Used by `nodeText()` to handle nested params.\n *\n * Location: `n8n-nodes-base.nodes.github.nodeView.<middleKey>.placeholder`\n */\nexport function deriveMiddleKey(path: string, parameter: { name: string; type?: string }) {\n\tlet middleKey = parameter.name;\n\n\tif (isTopLevelCollection(path, parameter) || isNestedInCollectionLike(path)) {\n\t\tconst pathSegments = normalize(path).split('.');\n\t\tmiddleKey = insertOptionsAndValues(pathSegments).join('.');\n\t}\n\n\tif (isNestedCollection(path, parameter) || isFixedCollection(path, parameter)) {\n\t\tconst pathSegments = [...normalize(path).split('.'), parameter.name];\n\t\tmiddleKey = insertOptionsAndValues(pathSegments).join('.');\n\t}\n\n\treturn middleKey;\n}\n\n/**\n * Check if a param path is for a param nested inside a `collection` or\n * `fixedCollection` param.\n */\nexport const isNestedInCollectionLike = (path: string) => path.split('.').length >= 3;\n\nconst isTopLevelCollection = (path: string, parameter: { type?: string }) =>\n\tpath.split('.').length === 2 && parameter.type === 'collection';\n\nconst isNestedCollection = (path: string, parameter: { type?: string }) =>\n\tpath.split('.').length > 2 && parameter.type === 'collection';\n\n/**\n * Check if the param is a normal `fixedCollection`, i.e. a FC other than the wrapper\n * that sits at the root of a node's top-level param and contains all of them.\n */\nconst isFixedCollection = (path: string, parameter: { type?: string }) =>\n\tparameter.type === 'fixedCollection' && path !== 'parameters';\n\n/**\n * Remove all indices and the `parameters.` prefix from a parameter path.\n *\n * Example: `parameters.a[0].b` → `a.b`\n */\nexport const normalize = (path: string) => path.replace(/\\[.*?\\]/g, '').replace('parameters.', '');\n\n/**\n * Insert `'options'` and `'values'` on an alternating basis in a string array of\n * indefinite length. Helper to create a valid render key for a collection-like param.\n *\n * Example: `['a', 'b', 'c']` → `['a', 'options', 'b', 'values', 'c']`\n */\nexport const insertOptionsAndValues = (pathSegments: string[]) => {\n\treturn pathSegments.reduce<string[]>((acc, cur, i) => {\n\t\tacc.push(cur);\n\n\t\tif (i === pathSegments.length - 1) return acc;\n\n\t\tacc.push(i % 2 === 0 ? 'options' : 'values');\n\n\t\treturn acc;\n\t}, []);\n};\n"],"mappings":";;;;;;;;;AAQA,SAAgB,gBAAgBA,MAAcC,WAA4C;CACzF,IAAI,YAAY,UAAU;AAE1B,KAAI,qBAAqB,MAAM,UAAU,IAAI,yBAAyB,KAAK,EAAE;EAC5E,MAAM,eAAe,UAAU,KAAK,CAAC,MAAM,IAAI;AAC/C,cAAY,uBAAuB,aAAa,CAAC,KAAK,IAAI;CAC1D;AAED,KAAI,mBAAmB,MAAM,UAAU,IAAI,kBAAkB,MAAM,UAAU,EAAE;EAC9E,MAAM,eAAe,CAAC,GAAG,UAAU,KAAK,CAAC,MAAM,IAAI,EAAE,UAAU,IAAK;AACpE,cAAY,uBAAuB,aAAa,CAAC,KAAK,IAAI;CAC1D;AAED,QAAO;AACP;;;;;AAMD,MAAa,2BAA2B,CAACD,SAAiB,KAAK,MAAM,IAAI,CAAC,UAAU;AAEpF,MAAM,uBAAuB,CAACA,MAAcE,cAC3C,KAAK,MAAM,IAAI,CAAC,WAAW,KAAK,UAAU,SAAS;AAEpD,MAAM,qBAAqB,CAACF,MAAcE,cACzC,KAAK,MAAM,IAAI,CAAC,SAAS,KAAK,UAAU,SAAS;;;;;AAMlD,MAAM,oBAAoB,CAACF,MAAcE,cACxC,UAAU,SAAS,qBAAqB,SAAS;;;;;;AAOlD,MAAa,YAAY,CAACF,SAAiB,KAAK,QAAQ,YAAY,GAAG,CAAC,QAAQ,eAAe,GAAG;;;;;;;AAQlG,MAAa,yBAAyB,CAACG,iBAA2B;AACjE,QAAO,aAAa,OAAiB,CAAC,KAAK,KAAK,MAAM;AACrD,MAAI,KAAK,IAAI;AAEb,MAAI,MAAM,aAAa,SAAS,EAAG,QAAO;AAE1C,MAAI,KAAK,IAAI,MAAM,IAAI,YAAY,SAAS;AAE5C,SAAO;CACP,GAAE,CAAE,EAAC;AACN"}
@@ -10,8 +10,14 @@
10
10
  */
11
11
  function deriveMiddleKey(path, parameter) {
12
12
  let middleKey = parameter.name;
13
- if (isTopLevelCollection(path, parameter) || isNestedInCollectionLike(path)) middleKey = insertOptionsAndValues(normalize(path).split(".")).join(".");
14
- if (isNestedCollection(path, parameter) || isFixedCollection(path, parameter)) middleKey = insertOptionsAndValues([...normalize(path).split("."), parameter.name]).join(".");
13
+ if (isTopLevelCollection(path, parameter) || isNestedInCollectionLike(path)) {
14
+ const pathSegments = normalize(path).split(".");
15
+ middleKey = insertOptionsAndValues(pathSegments).join(".");
16
+ }
17
+ if (isNestedCollection(path, parameter) || isFixedCollection(path, parameter)) {
18
+ const pathSegments = [...normalize(path).split("."), parameter.name];
19
+ middleKey = insertOptionsAndValues(pathSegments).join(".");
20
+ }
15
21
  return middleKey;
16
22
  }
17
23
  /**
@@ -72,4 +78,4 @@ Object.defineProperty(exports, 'normalize', {
72
78
  return normalize;
73
79
  }
74
80
  });
75
- //# sourceMappingURL=utils-CmS9ahSc.cjs.map
81
+ //# sourceMappingURL=utils-p9ioSiTo.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-p9ioSiTo.cjs","names":["path: string","parameter: { name: string; type?: string }","parameter: { type?: string }","pathSegments: string[]"],"sources":["../src/utils.ts"],"sourcesContent":["/**\n * Derive the middle key, i.e. the segment of the render key located between\n * the initial key (path to parameters root) and the property to render.\n *\n * Used by `nodeText()` to handle nested params.\n *\n * Location: `n8n-nodes-base.nodes.github.nodeView.<middleKey>.placeholder`\n */\nexport function deriveMiddleKey(path: string, parameter: { name: string; type?: string }) {\n\tlet middleKey = parameter.name;\n\n\tif (isTopLevelCollection(path, parameter) || isNestedInCollectionLike(path)) {\n\t\tconst pathSegments = normalize(path).split('.');\n\t\tmiddleKey = insertOptionsAndValues(pathSegments).join('.');\n\t}\n\n\tif (isNestedCollection(path, parameter) || isFixedCollection(path, parameter)) {\n\t\tconst pathSegments = [...normalize(path).split('.'), parameter.name];\n\t\tmiddleKey = insertOptionsAndValues(pathSegments).join('.');\n\t}\n\n\treturn middleKey;\n}\n\n/**\n * Check if a param path is for a param nested inside a `collection` or\n * `fixedCollection` param.\n */\nexport const isNestedInCollectionLike = (path: string) => path.split('.').length >= 3;\n\nconst isTopLevelCollection = (path: string, parameter: { type?: string }) =>\n\tpath.split('.').length === 2 && parameter.type === 'collection';\n\nconst isNestedCollection = (path: string, parameter: { type?: string }) =>\n\tpath.split('.').length > 2 && parameter.type === 'collection';\n\n/**\n * Check if the param is a normal `fixedCollection`, i.e. a FC other than the wrapper\n * that sits at the root of a node's top-level param and contains all of them.\n */\nconst isFixedCollection = (path: string, parameter: { type?: string }) =>\n\tparameter.type === 'fixedCollection' && path !== 'parameters';\n\n/**\n * Remove all indices and the `parameters.` prefix from a parameter path.\n *\n * Example: `parameters.a[0].b` → `a.b`\n */\nexport const normalize = (path: string) => path.replace(/\\[.*?\\]/g, '').replace('parameters.', '');\n\n/**\n * Insert `'options'` and `'values'` on an alternating basis in a string array of\n * indefinite length. Helper to create a valid render key for a collection-like param.\n *\n * Example: `['a', 'b', 'c']` → `['a', 'options', 'b', 'values', 'c']`\n */\nexport const insertOptionsAndValues = (pathSegments: string[]) => {\n\treturn pathSegments.reduce<string[]>((acc, cur, i) => {\n\t\tacc.push(cur);\n\n\t\tif (i === pathSegments.length - 1) return acc;\n\n\t\tacc.push(i % 2 === 0 ? 'options' : 'values');\n\n\t\treturn acc;\n\t}, []);\n};\n"],"mappings":";;;;;;;;;;AAQA,SAAgB,gBAAgBA,MAAcC,WAA4C;CACzF,IAAI,YAAY,UAAU;AAE1B,KAAI,qBAAqB,MAAM,UAAU,IAAI,yBAAyB,KAAK,EAAE;EAC5E,MAAM,eAAe,UAAU,KAAK,CAAC,MAAM,IAAI;AAC/C,cAAY,uBAAuB,aAAa,CAAC,KAAK,IAAI;CAC1D;AAED,KAAI,mBAAmB,MAAM,UAAU,IAAI,kBAAkB,MAAM,UAAU,EAAE;EAC9E,MAAM,eAAe,CAAC,GAAG,UAAU,KAAK,CAAC,MAAM,IAAI,EAAE,UAAU,IAAK;AACpE,cAAY,uBAAuB,aAAa,CAAC,KAAK,IAAI;CAC1D;AAED,QAAO;AACP;;;;;AAMD,MAAa,2BAA2B,CAACD,SAAiB,KAAK,MAAM,IAAI,CAAC,UAAU;AAEpF,MAAM,uBAAuB,CAACA,MAAcE,cAC3C,KAAK,MAAM,IAAI,CAAC,WAAW,KAAK,UAAU,SAAS;AAEpD,MAAM,qBAAqB,CAACF,MAAcE,cACzC,KAAK,MAAM,IAAI,CAAC,SAAS,KAAK,UAAU,SAAS;;;;;AAMlD,MAAM,oBAAoB,CAACF,MAAcE,cACxC,UAAU,SAAS,qBAAqB,SAAS;;;;;;AAOlD,MAAa,YAAY,CAACF,SAAiB,KAAK,QAAQ,YAAY,GAAG,CAAC,QAAQ,eAAe,GAAG;;;;;;;AAQlG,MAAa,yBAAyB,CAACG,iBAA2B;AACjE,QAAO,aAAa,OAAiB,CAAC,KAAK,KAAK,MAAM;AACrD,MAAI,KAAK,IAAI;AAEb,MAAI,MAAM,aAAa,SAAS,EAAG,QAAO;AAE1C,MAAI,KAAK,IAAI,MAAM,IAAI,YAAY,SAAS;AAE5C,SAAO;CACP,GAAE,CAAE,EAAC;AACN"}
package/dist/utils.cjs CHANGED
@@ -1,4 +1,4 @@
1
- const require_utils = require('./utils-CmS9ahSc.cjs');
1
+ const require_utils = require('./utils-p9ioSiTo.cjs');
2
2
 
3
3
  exports.deriveMiddleKey = require_utils.deriveMiddleKey;
4
4
  exports.insertOptionsAndValues = require_utils.insertOptionsAndValues;
package/dist/utils.js CHANGED
@@ -1,3 +1,3 @@
1
- import { i as normalize, n as insertOptionsAndValues, r as isNestedInCollectionLike, t as deriveMiddleKey } from "./utils-h8Z6_NUG.js";
1
+ import { deriveMiddleKey, insertOptionsAndValues, isNestedInCollectionLike, normalize } from "./utils-BJm12gqs.js";
2
2
 
3
3
  export { deriveMiddleKey, insertOptionsAndValues, isNestedInCollectionLike, normalize };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@n8n/i18n",
3
3
  "type": "module",
4
- "version": "1.23.0",
4
+ "version": "1.24.0",
5
5
  "files": [
6
6
  "dist",
7
7
  "LICENSE.md",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "dependencies": {
26
26
  "vue-i18n": "^11.1.2",
27
- "n8n-workflow": "1.116.0"
27
+ "n8n-workflow": "1.117.0"
28
28
  },
29
29
  "devDependencies": {
30
30
  "@testing-library/jest-dom": "^6.6.3",
@@ -39,8 +39,8 @@
39
39
  "vite": "npm:rolldown-vite@latest",
40
40
  "vitest": "^3.1.3",
41
41
  "vue-tsc": "^2.2.8",
42
- "@n8n/typescript-config": "1.3.0",
43
42
  "@n8n/eslint-config": "0.0.1",
43
+ "@n8n/typescript-config": "1.3.0",
44
44
  "@n8n/vitest-config": "1.5.0"
45
45
  },
46
46
  "peerDependencies": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-CmS9ahSc.cjs","names":[],"sources":["../src/utils.ts"],"sourcesContent":["/**\n * Derive the middle key, i.e. the segment of the render key located between\n * the initial key (path to parameters root) and the property to render.\n *\n * Used by `nodeText()` to handle nested params.\n *\n * Location: `n8n-nodes-base.nodes.github.nodeView.<middleKey>.placeholder`\n */\nexport function deriveMiddleKey(path: string, parameter: { name: string; type?: string }) {\n\tlet middleKey = parameter.name;\n\n\tif (isTopLevelCollection(path, parameter) || isNestedInCollectionLike(path)) {\n\t\tconst pathSegments = normalize(path).split('.');\n\t\tmiddleKey = insertOptionsAndValues(pathSegments).join('.');\n\t}\n\n\tif (isNestedCollection(path, parameter) || isFixedCollection(path, parameter)) {\n\t\tconst pathSegments = [...normalize(path).split('.'), parameter.name];\n\t\tmiddleKey = insertOptionsAndValues(pathSegments).join('.');\n\t}\n\n\treturn middleKey;\n}\n\n/**\n * Check if a param path is for a param nested inside a `collection` or\n * `fixedCollection` param.\n */\nexport const isNestedInCollectionLike = (path: string) => path.split('.').length >= 3;\n\nconst isTopLevelCollection = (path: string, parameter: { type?: string }) =>\n\tpath.split('.').length === 2 && parameter.type === 'collection';\n\nconst isNestedCollection = (path: string, parameter: { type?: string }) =>\n\tpath.split('.').length > 2 && parameter.type === 'collection';\n\n/**\n * Check if the param is a normal `fixedCollection`, i.e. a FC other than the wrapper\n * that sits at the root of a node's top-level param and contains all of them.\n */\nconst isFixedCollection = (path: string, parameter: { type?: string }) =>\n\tparameter.type === 'fixedCollection' && path !== 'parameters';\n\n/**\n * Remove all indices and the `parameters.` prefix from a parameter path.\n *\n * Example: `parameters.a[0].b` → `a.b`\n */\nexport const normalize = (path: string) => path.replace(/\\[.*?\\]/g, '').replace('parameters.', '');\n\n/**\n * Insert `'options'` and `'values'` on an alternating basis in a string array of\n * indefinite length. Helper to create a valid render key for a collection-like param.\n *\n * Example: `['a', 'b', 'c']` → `['a', 'options', 'b', 'values', 'c']`\n */\nexport const insertOptionsAndValues = (pathSegments: string[]) => {\n\treturn pathSegments.reduce<string[]>((acc, cur, i) => {\n\t\tacc.push(cur);\n\n\t\tif (i === pathSegments.length - 1) return acc;\n\n\t\tacc.push(i % 2 === 0 ? 'options' : 'values');\n\n\t\treturn acc;\n\t}, []);\n};\n"],"mappings":";;;;;;;;;;AAQA,SAAgB,gBAAgB,MAAc,WAA4C;CACzF,IAAI,YAAY,UAAU;AAE1B,KAAI,qBAAqB,MAAM,UAAU,IAAI,yBAAyB,KAAK,CAE1E,aAAY,uBADS,UAAU,KAAK,CAAC,MAAM,IAAI,CACC,CAAC,KAAK,IAAI;AAG3D,KAAI,mBAAmB,MAAM,UAAU,IAAI,kBAAkB,MAAM,UAAU,CAE5E,aAAY,uBADS,CAAC,GAAG,UAAU,KAAK,CAAC,MAAM,IAAI,EAAE,UAAU,KAAK,CACpB,CAAC,KAAK,IAAI;AAG3D,QAAO;;;;;;AAOR,MAAa,4BAA4B,SAAiB,KAAK,MAAM,IAAI,CAAC,UAAU;AAEpF,MAAM,wBAAwB,MAAc,cAC3C,KAAK,MAAM,IAAI,CAAC,WAAW,KAAK,UAAU,SAAS;AAEpD,MAAM,sBAAsB,MAAc,cACzC,KAAK,MAAM,IAAI,CAAC,SAAS,KAAK,UAAU,SAAS;;;;;AAMlD,MAAM,qBAAqB,MAAc,cACxC,UAAU,SAAS,qBAAqB,SAAS;;;;;;AAOlD,MAAa,aAAa,SAAiB,KAAK,QAAQ,YAAY,GAAG,CAAC,QAAQ,eAAe,GAAG;;;;;;;AAQlG,MAAa,0BAA0B,iBAA2B;AACjE,QAAO,aAAa,QAAkB,KAAK,KAAK,MAAM;AACrD,MAAI,KAAK,IAAI;AAEb,MAAI,MAAM,aAAa,SAAS,EAAG,QAAO;AAE1C,MAAI,KAAK,IAAI,MAAM,IAAI,YAAY,SAAS;AAE5C,SAAO;IACL,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-h8Z6_NUG.js","names":[],"sources":["../src/utils.ts"],"sourcesContent":["/**\n * Derive the middle key, i.e. the segment of the render key located between\n * the initial key (path to parameters root) and the property to render.\n *\n * Used by `nodeText()` to handle nested params.\n *\n * Location: `n8n-nodes-base.nodes.github.nodeView.<middleKey>.placeholder`\n */\nexport function deriveMiddleKey(path: string, parameter: { name: string; type?: string }) {\n\tlet middleKey = parameter.name;\n\n\tif (isTopLevelCollection(path, parameter) || isNestedInCollectionLike(path)) {\n\t\tconst pathSegments = normalize(path).split('.');\n\t\tmiddleKey = insertOptionsAndValues(pathSegments).join('.');\n\t}\n\n\tif (isNestedCollection(path, parameter) || isFixedCollection(path, parameter)) {\n\t\tconst pathSegments = [...normalize(path).split('.'), parameter.name];\n\t\tmiddleKey = insertOptionsAndValues(pathSegments).join('.');\n\t}\n\n\treturn middleKey;\n}\n\n/**\n * Check if a param path is for a param nested inside a `collection` or\n * `fixedCollection` param.\n */\nexport const isNestedInCollectionLike = (path: string) => path.split('.').length >= 3;\n\nconst isTopLevelCollection = (path: string, parameter: { type?: string }) =>\n\tpath.split('.').length === 2 && parameter.type === 'collection';\n\nconst isNestedCollection = (path: string, parameter: { type?: string }) =>\n\tpath.split('.').length > 2 && parameter.type === 'collection';\n\n/**\n * Check if the param is a normal `fixedCollection`, i.e. a FC other than the wrapper\n * that sits at the root of a node's top-level param and contains all of them.\n */\nconst isFixedCollection = (path: string, parameter: { type?: string }) =>\n\tparameter.type === 'fixedCollection' && path !== 'parameters';\n\n/**\n * Remove all indices and the `parameters.` prefix from a parameter path.\n *\n * Example: `parameters.a[0].b` → `a.b`\n */\nexport const normalize = (path: string) => path.replace(/\\[.*?\\]/g, '').replace('parameters.', '');\n\n/**\n * Insert `'options'` and `'values'` on an alternating basis in a string array of\n * indefinite length. Helper to create a valid render key for a collection-like param.\n *\n * Example: `['a', 'b', 'c']` → `['a', 'options', 'b', 'values', 'c']`\n */\nexport const insertOptionsAndValues = (pathSegments: string[]) => {\n\treturn pathSegments.reduce<string[]>((acc, cur, i) => {\n\t\tacc.push(cur);\n\n\t\tif (i === pathSegments.length - 1) return acc;\n\n\t\tacc.push(i % 2 === 0 ? 'options' : 'values');\n\n\t\treturn acc;\n\t}, []);\n};\n"],"mappings":";;;;;;;;;AAQA,SAAgB,gBAAgB,MAAc,WAA4C;CACzF,IAAI,YAAY,UAAU;AAE1B,KAAI,qBAAqB,MAAM,UAAU,IAAI,yBAAyB,KAAK,CAE1E,aAAY,uBADS,UAAU,KAAK,CAAC,MAAM,IAAI,CACC,CAAC,KAAK,IAAI;AAG3D,KAAI,mBAAmB,MAAM,UAAU,IAAI,kBAAkB,MAAM,UAAU,CAE5E,aAAY,uBADS,CAAC,GAAG,UAAU,KAAK,CAAC,MAAM,IAAI,EAAE,UAAU,KAAK,CACpB,CAAC,KAAK,IAAI;AAG3D,QAAO;;;;;;AAOR,MAAa,4BAA4B,SAAiB,KAAK,MAAM,IAAI,CAAC,UAAU;AAEpF,MAAM,wBAAwB,MAAc,cAC3C,KAAK,MAAM,IAAI,CAAC,WAAW,KAAK,UAAU,SAAS;AAEpD,MAAM,sBAAsB,MAAc,cACzC,KAAK,MAAM,IAAI,CAAC,SAAS,KAAK,UAAU,SAAS;;;;;AAMlD,MAAM,qBAAqB,MAAc,cACxC,UAAU,SAAS,qBAAqB,SAAS;;;;;;AAOlD,MAAa,aAAa,SAAiB,KAAK,QAAQ,YAAY,GAAG,CAAC,QAAQ,eAAe,GAAG;;;;;;;AAQlG,MAAa,0BAA0B,iBAA2B;AACjE,QAAO,aAAa,QAAkB,KAAK,KAAK,MAAM;AACrD,MAAI,KAAK,IAAI;AAEb,MAAI,MAAM,aAAa,SAAS,EAAG,QAAO;AAE1C,MAAI,KAAK,IAAI,MAAM,IAAI,YAAY,SAAS;AAE5C,SAAO;IACL,EAAE,CAAC"}