@hostwebhook/node-types 1.70.0 → 1.71.1

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.
@@ -115,7 +115,7 @@ const project = (required = true) => ({
115
115
  label: 'Project',
116
116
  type: 'jiraProject',
117
117
  required,
118
- description: 'De la lista de proyectos que alcanza esta credencial. Se guarda la clave (ACME).',
118
+ description: 'From the projects this credential can reach. The key (ACME) is what gets stored.',
119
119
  });
120
120
  const issueKey = (label = 'Issue') => ({
121
121
  name: 'issueKey',
@@ -123,7 +123,7 @@ const issueKey = (label = 'Issue') => ({
123
123
  type: 'jiraIssueKey',
124
124
  required: true,
125
125
  placeholder: '{{payload.issueKey}}',
126
- description: 'La clave que se ve en la URL (ACME-42), no el id interno. El trigger de Jira la deja en issueKey.',
126
+ description: 'The key shown in the URL (ACME-42), not the internal id. The Jira trigger leaves it in issueKey.',
127
127
  });
128
128
  /**
129
129
  * El interruptor de formato para todo campo que Jira quiere en ADF.
@@ -140,18 +140,18 @@ const bodyFormat = () => ({
140
140
  default: 'text',
141
141
  advanced: true,
142
142
  options: [
143
- { value: 'text', label: 'Plain text (se convierte a ADF)' },
144
- { value: 'adf', label: 'Atlassian Document Format en crudo' },
143
+ { value: 'text', label: 'Plain text (converted to ADF)' },
144
+ { value: 'adf', label: 'Raw Atlassian Document Format' },
145
145
  ],
146
- description: 'Jira v3 guarda estos campos como ADF. En "plain text" el nodo lo envuelve por ti: un párrafo por bloque y salto de línea donde lo escribas.',
146
+ description: 'Jira v3 stores these fields as ADF. In "plain text" the node wraps it for you: one paragraph per block, and a line break wherever you type one.',
147
147
  });
148
148
  const customFields = () => ({
149
149
  name: 'customFields',
150
150
  label: 'Other fields (JSON)',
151
151
  type: 'json',
152
152
  advanced: true,
153
- placeholder: '{ "customfield_10042": { "accountId": "..." }, "labels": ["urgente"] }',
154
- description: 'Se mezcla tal cual dentro de `fields`. Cada tipo de campo de Jira tiene su forma; el esquema real se lee con el selector de campos de la pantalla.',
153
+ placeholder: '{ "customfield_10042": { "accountId": "..." }, "labels": ["urgent"] }',
154
+ description: 'Merged as-is into `fields`. Every Jira field type has its own shape; the real schema is read with the field picker on this screen.',
155
155
  });
156
156
  const maxResults = () => ({
157
157
  name: 'maxResults',
@@ -161,12 +161,12 @@ const maxResults = () => ({
161
161
  min: 1,
162
162
  max: 100,
163
163
  advanced: true,
164
- description: 'Jira no devuelve más de 100 por página.',
164
+ description: 'Jira never returns more than 100 per page.',
165
165
  });
166
166
  export const JIRA_OPERATION_SPECS = {
167
167
  createIssue: {
168
168
  label: 'Create issue',
169
- description: 'Crea una incidencia en un proyecto.',
169
+ description: 'Creates an issue in a project.',
170
170
  apiRoute: 'POST /rest/api/3/issue',
171
171
  params: [
172
172
  project(),
@@ -175,21 +175,21 @@ export const JIRA_OPERATION_SPECS = {
175
175
  label: 'Issue type',
176
176
  type: 'jiraIssueType',
177
177
  required: true,
178
- description: 'Los tipos son del proyecto, no globales: se piden después de elegirlo.',
178
+ description: 'Types belong to the project, not global: they are fetched once you pick it.',
179
179
  },
180
180
  {
181
181
  name: 'summary',
182
182
  label: 'Summary',
183
183
  type: 'template',
184
184
  required: true,
185
- placeholder: 'Fallo al exportar el informe',
186
- description: 'El título. Es el único campo que Jira exige siempre.',
185
+ placeholder: 'Report export failed',
186
+ description: 'The title. The only field Jira always requires.',
187
187
  },
188
188
  {
189
189
  name: 'description',
190
190
  label: 'Description',
191
191
  type: 'textarea',
192
- placeholder: 'Lo que pasó, con {{payload.x}} si hace falta.',
192
+ placeholder: 'What happened, with {{payload.x}} if you need it.',
193
193
  },
194
194
  bodyFormat(),
195
195
  {
@@ -197,7 +197,7 @@ export const JIRA_OPERATION_SPECS = {
197
197
  label: 'Assignee',
198
198
  type: 'jiraUser',
199
199
  advanced: true,
200
- description: 'Se guarda el accountId, que es como lo pide Jira.',
200
+ description: 'The accountId is what gets stored, which is how Jira wants it.',
201
201
  },
202
202
  {
203
203
  name: 'parentKey',
@@ -205,14 +205,14 @@ export const JIRA_OPERATION_SPECS = {
205
205
  type: 'template',
206
206
  advanced: true,
207
207
  placeholder: 'ACME-10',
208
- description: 'Sólo para subtareas: la incidencia padre. Con un tipo que no sea subtarea, Jira lo rechaza.',
208
+ description: 'Subtasks only: the parent issue. With a type that is not a subtask, Jira rejects it.',
209
209
  },
210
210
  customFields(),
211
211
  ],
212
212
  },
213
213
  getIssue: {
214
214
  label: 'Get issue',
215
- description: 'Lee una incidencia por su clave.',
215
+ description: 'Reads an issue by its key.',
216
216
  apiRoute: 'GET /rest/api/3/issue/{issueIdOrKey}',
217
217
  params: [
218
218
  issueKey(),
@@ -222,13 +222,13 @@ export const JIRA_OPERATION_SPECS = {
222
222
  type: 'template',
223
223
  advanced: true,
224
224
  placeholder: 'summary,status,assignee',
225
- description: 'Separados por comas. Vacío trae los de siempre. Pedir sólo lo que usas hace la respuesta mucho más pequeña.',
225
+ description: 'Comma-separated. Empty brings the usual ones. Asking only for what you use makes the response much smaller.',
226
226
  },
227
227
  ],
228
228
  },
229
229
  updateIssue: {
230
230
  label: 'Update issue',
231
- description: 'Cambia campos de una incidencia.',
231
+ description: 'Changes fields on an issue.',
232
232
  apiRoute: 'PUT /rest/api/3/issue/{issueIdOrKey}',
233
233
  params: [
234
234
  issueKey(),
@@ -236,13 +236,13 @@ export const JIRA_OPERATION_SPECS = {
236
236
  name: 'summary',
237
237
  label: 'Summary',
238
238
  type: 'template',
239
- description: 'Vacío = no se toca.',
239
+ description: 'Empty = left untouched.',
240
240
  },
241
241
  {
242
242
  name: 'description',
243
243
  label: 'Description',
244
244
  type: 'textarea',
245
- description: 'Vacío = no se toca. REEMPLAZA la descripción entera.',
245
+ description: 'Empty = left untouched. REPLACES the whole description.',
246
246
  },
247
247
  bodyFormat(),
248
248
  customFields(),
@@ -250,7 +250,7 @@ export const JIRA_OPERATION_SPECS = {
250
250
  },
251
251
  deleteIssue: {
252
252
  label: 'Delete issue',
253
- description: 'Borra una incidencia. No hay papelera.',
253
+ description: 'Deletes an issue. There is no trash bin.',
254
254
  apiRoute: 'DELETE /rest/api/3/issue/{issueIdOrKey}',
255
255
  params: [
256
256
  issueKey(),
@@ -259,17 +259,17 @@ export const JIRA_OPERATION_SPECS = {
259
259
  label: 'Delete its subtasks too',
260
260
  type: 'booleanSelect',
261
261
  options: [
262
- { value: '', label: '— sin tocar —' },
263
- { value: 'true', label: 'Sí, borrar las subtareas' },
262
+ { value: '', label: '— leave as is —' },
263
+ { value: 'true', label: 'Yes, delete the subtasks too' },
264
264
  { value: 'false', label: 'No' },
265
265
  ],
266
- description: 'Con subtareas y sin esto, Jira se niega a borrar y devuelve 400.',
266
+ description: 'With subtasks and without this, Jira refuses to delete and answers 400.',
267
267
  },
268
268
  ],
269
269
  },
270
270
  assignIssue: {
271
271
  label: 'Assign issue',
272
- description: 'Cambia a quién está asignada.',
272
+ description: 'Changes who it is assigned to.',
273
273
  apiRoute: 'PUT /rest/api/3/issue/{issueIdOrKey}/assignee',
274
274
  params: [
275
275
  issueKey(),
@@ -278,13 +278,13 @@ export const JIRA_OPERATION_SPECS = {
278
278
  label: 'Assignee',
279
279
  type: 'jiraUser',
280
280
  required: true,
281
- description: 'Vacío deja la incidencia sin asignar.',
281
+ description: 'Empty leaves the issue unassigned.',
282
282
  },
283
283
  ],
284
284
  },
285
285
  transitionIssue: {
286
286
  label: 'Move issue',
287
- description: 'Mueve la incidencia de columna (transición del flujo).',
287
+ description: 'Moves the issue to another column (a workflow transition).',
288
288
  apiRoute: 'POST /rest/api/3/issue/{issueIdOrKey}/transitions',
289
289
  params: [
290
290
  issueKey(),
@@ -293,21 +293,21 @@ export const JIRA_OPERATION_SPECS = {
293
293
  label: 'Transition',
294
294
  type: 'jiraTransition',
295
295
  required: true,
296
- description: 'Las transiciones legales dependen del flujo de trabajo Y del estado actual, así que se piden para esta incidencia. Una que no aplique falla al ejecutarse.',
296
+ description: 'Which transitions are legal depends on the workflow AND on the current status, so they are fetched for this issue. One that does not apply fails at run time.',
297
297
  },
298
298
  {
299
299
  name: 'comment',
300
300
  label: 'Comment (optional)',
301
301
  type: 'textarea',
302
302
  advanced: true,
303
- description: 'Jira permite comentar en el mismo paso de la transición.',
303
+ description: 'Jira lets you comment in the same transition step.',
304
304
  },
305
305
  bodyFormat(),
306
306
  ],
307
307
  },
308
308
  addComment: {
309
309
  label: 'Add comment',
310
- description: 'Comenta en una incidencia.',
310
+ description: 'Comments on an issue.',
311
311
  apiRoute: 'POST /rest/api/3/issue/{issueIdOrKey}/comment',
312
312
  params: [
313
313
  issueKey(),
@@ -316,14 +316,14 @@ export const JIRA_OPERATION_SPECS = {
316
316
  label: 'Comment',
317
317
  type: 'textarea',
318
318
  required: true,
319
- placeholder: 'Desplegado en producción: {{payload.version}}',
319
+ placeholder: 'Deployed to production: {{payload.version}}',
320
320
  },
321
321
  bodyFormat(),
322
322
  ],
323
323
  },
324
324
  getComments: {
325
325
  label: 'Get comments',
326
- description: 'Trae los comentarios de una incidencia.',
326
+ description: 'Brings back the comments on an issue.',
327
327
  apiRoute: 'GET /rest/api/3/issue/{issueIdOrKey}/comment',
328
328
  params: [
329
329
  issueKey(),
@@ -334,8 +334,8 @@ export const JIRA_OPERATION_SPECS = {
334
334
  default: '-created',
335
335
  advanced: true,
336
336
  options: [
337
- { value: '-created', label: 'Los más nuevos primero' },
338
- { value: 'created', label: 'Los más viejos primero' },
337
+ { value: '-created', label: 'Newest first' },
338
+ { value: 'created', label: 'Oldest first' },
339
339
  ],
340
340
  },
341
341
  maxResults(),
@@ -343,7 +343,7 @@ export const JIRA_OPERATION_SPECS = {
343
343
  },
344
344
  addAttachment: {
345
345
  label: 'Attach file',
346
- description: 'Sube un fichero a una incidencia.',
346
+ description: 'Uploads a file to an issue.',
347
347
  apiRoute: 'POST /rest/api/3/issue/{issueIdOrKey}/attachments',
348
348
  params: [
349
349
  issueKey(),
@@ -353,21 +353,21 @@ export const JIRA_OPERATION_SPECS = {
353
353
  type: 'template',
354
354
  required: true,
355
355
  placeholder: '{{payload.file}}',
356
- description: 'La ruta del payload donde viene el fichero — lo que dejan el nodo de ficheros o un adjunto de Gmail.',
356
+ description: 'The payload path the file arrives on — what the file node or a Gmail attachment leaves behind.',
357
357
  },
358
358
  {
359
359
  name: 'fileName',
360
360
  label: 'File name',
361
361
  type: 'template',
362
362
  advanced: true,
363
- placeholder: 'informe.pdf',
364
- description: 'Vacío usa el nombre que traiga el propio fichero.',
363
+ placeholder: 'report.pdf',
364
+ description: 'Empty uses the name the file itself carries.',
365
365
  },
366
366
  ],
367
367
  },
368
368
  addWorklog: {
369
369
  label: 'Log work',
370
- description: 'Apunta tiempo trabajado en una incidencia.',
370
+ description: 'Logs time worked on an issue.',
371
371
  apiRoute: 'POST /rest/api/3/issue/{issueIdOrKey}/worklog',
372
372
  params: [
373
373
  issueKey(),
@@ -377,7 +377,7 @@ export const JIRA_OPERATION_SPECS = {
377
377
  type: 'template',
378
378
  required: true,
379
379
  placeholder: '3h 30m',
380
- description: 'En el formato de Jira: 2d, 3h, 30m, o combinados. No admite decimales.',
380
+ description: 'In Jira format: 2d, 3h, 30m, or combined. Decimals are not allowed.',
381
381
  },
382
382
  {
383
383
  name: 'comment',
@@ -392,13 +392,13 @@ export const JIRA_OPERATION_SPECS = {
392
392
  type: 'template',
393
393
  advanced: true,
394
394
  placeholder: '{{payload.timestamp}}',
395
- description: 'Vacío usa el momento de la ejecución.',
395
+ description: 'Empty uses the moment of the run.',
396
396
  },
397
397
  ],
398
398
  },
399
399
  linkIssues: {
400
400
  label: 'Link issues',
401
- description: 'Relaciona dos incidencias entre sí.',
401
+ description: 'Relates two issues to each other.',
402
402
  apiRoute: 'POST /rest/api/3/issueLink',
403
403
  params: [
404
404
  {
@@ -413,7 +413,7 @@ export const JIRA_OPERATION_SPECS = {
413
413
  label: 'Relationship',
414
414
  type: 'jiraLinkType',
415
415
  required: true,
416
- description: 'Los tipos los define cada sitio: "Blocks", "Relates", "Duplicates"… Se piden a Jira.',
416
+ description: 'Each site defines its own types: "Blocks", "Relates", "Duplicates"… They are fetched from Jira.',
417
417
  },
418
418
  {
419
419
  name: 'outwardIssueKey',
@@ -426,7 +426,7 @@ export const JIRA_OPERATION_SPECS = {
426
426
  },
427
427
  searchIssues: {
428
428
  label: 'Search issues (JQL)',
429
- description: 'Busca incidencias con JQL. Devuelve una lista iterable.',
429
+ description: 'Searches issues with JQL. Returns an iterable list.',
430
430
  /* ⚠️ `/search/jql`, NO `/search`. El viejo está deprecado y pagina distinto:
431
431
  `nextPageToken` en vez de `startAt`, y sin `total` en la respuesta. */
432
432
  apiRoute: 'POST /rest/api/3/search/jql',
@@ -437,7 +437,7 @@ export const JIRA_OPERATION_SPECS = {
437
437
  type: 'textarea',
438
438
  required: true,
439
439
  placeholder: 'project = ACME AND status != Done ORDER BY created DESC',
440
- description: 'La misma consulta que escribirías en el buscador de Jira. Admite {{payload.x}}.',
440
+ description: 'The same query you would type in the Jira search box. Supports {{payload.x}}.',
441
441
  },
442
442
  {
443
443
  name: 'fields',
@@ -445,7 +445,7 @@ export const JIRA_OPERATION_SPECS = {
445
445
  type: 'template',
446
446
  advanced: true,
447
447
  placeholder: 'summary,status,assignee',
448
- description: 'Separados por comas. En este endpoint los campos hay que pedirlos: sin esto sólo llegan las claves.',
448
+ description: 'Comma-separated. On this endpoint fields have to be asked for: without this only the keys come back.',
449
449
  },
450
450
  maxResults(),
451
451
  {
@@ -454,7 +454,7 @@ export const JIRA_OPERATION_SPECS = {
454
454
  type: 'template',
455
455
  advanced: true,
456
456
  placeholder: '{{payload.nextPageToken}}',
457
- description: 'Para pedir la página siguiente desde un Loop. La salida de esta operación lo devuelve.',
457
+ description: 'To ask for the next page from a Loop. This operation returns it in its output.',
458
458
  },
459
459
  ],
460
460
  },
@@ -5,8 +5,8 @@
5
5
  * all per-node maps (colors, URLs, Redux keys, palette, delete, etc.)
6
6
  * from this registry. No more 18+ touch points.
7
7
  */
8
- import type { NodeType } from './types.js';
9
- export type NodeGroup = 'Sources' | 'Flow Control' | 'Actions' | 'Annotations';
8
+ import type { NodeType } from "./types.js";
9
+ export type NodeGroup = "Sources" | "Flow Control" | "Actions" | "Annotations";
10
10
  export interface NodeRegistryEntry {
11
11
  /** Canonical type (e.g., "httpAction") */
12
12
  type: NodeType;
@@ -69,7 +69,7 @@ export interface NodeVersionSpec {
69
69
  * `current` is what a new node is born on — exactly one per type.
70
70
  * `legacy` still runs but is on its way out. `beta` is opt-in.
71
71
  */
72
- status: 'current' | 'legacy' | 'beta';
72
+ status: "current" | "legacy" | "beta";
73
73
  /**
74
74
  * The config fields this version understands.
75
75
  *
@@ -106,7 +106,7 @@ export declare const NODE_TYPE_TO_PREFIX: Record<string, string>;
106
106
  * pass it, and the tests can exercise a versioned type without waiting
107
107
  * for a real one to exist.
108
108
  */
109
- export type VersionCatalog = Record<string, Pick<NodeRegistryEntry, 'type' | 'versions'>>;
109
+ export type VersionCatalog = Record<string, Pick<NodeRegistryEntry, "type" | "versions">>;
110
110
  /** True when this type ships more than one version. False for every type today. */
111
111
  export declare function isVersioned(type: string, catalog?: VersionCatalog): boolean;
112
112
  /**