@knoflows/engine 0.1.0-alpha.15 → 0.1.0-alpha.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +5 -10
  2. package/dist/engine.js +41 -20
  3. package/package.json +6 -6
  4. package/static/assets/i18n/en.json +26 -1
  5. package/static/assets/i18n/es.json +26 -1
  6. package/static/chunk-9iLiX6s9.js +1 -0
  7. package/static/chunk-B1ctXsPE.js +1 -0
  8. package/static/chunk-BCVM7LpT.js +1 -0
  9. package/static/chunk-BDJQdoLK.js +1 -0
  10. package/static/chunk-BHl7Qe4I.js +1 -0
  11. package/static/chunk-BIvdnqHD.js +1 -0
  12. package/static/chunk-BKICOySu.js +1 -0
  13. package/static/chunk-BifCfczc.js +1 -0
  14. package/static/chunk-BjQMmcp2.js +70 -0
  15. package/static/chunk-Bwjn3y5m.js +1 -0
  16. package/static/chunk-C73FUXq8.js +1 -0
  17. package/static/chunk-C9wrgS_q.js +1 -0
  18. package/static/chunk-CID_DKHO.js +1 -0
  19. package/static/{chunk-DgEO14wO.js → chunk-CN3wKZOB.js} +1 -1
  20. package/static/{chunk-DphMF2VB.js → chunk-CQOTdAZb.js} +1 -1
  21. package/static/{chunk-nx1xncBD.js → chunk-CaN6B9M_.js} +1 -1
  22. package/static/{chunk-C4Ee3umI.js → chunk-ChofVXdQ.js} +1 -1
  23. package/static/chunk-CuMWfPIh.js +1 -0
  24. package/static/chunk-CvXwIrKe.js +1 -0
  25. package/static/chunk-D-NkClC5.js +1 -0
  26. package/static/chunk-D19C8Gcb.js +1 -0
  27. package/static/{chunk-BnD2l9n3.js → chunk-D8gvcRpT.js} +1 -1
  28. package/static/{chunk-CM8oLO7n.js → chunk-DEGtd3B-.js} +1 -1
  29. package/static/chunk-DEfYLuNM.js +1 -0
  30. package/static/chunk-DFJPjl29.js +1 -0
  31. package/static/{chunk-DxZsQqxS.js → chunk-DH_EwOze.js} +1 -1
  32. package/static/{chunk-B0V1VBvY.js → chunk-DMO51-bi.js} +1 -1
  33. package/static/{chunk-J9qS04nF.js → chunk-DPfPY82u.js} +1 -1
  34. package/static/chunk-DVfH_gtr.js +1 -0
  35. package/static/chunk-DaXqAFL1.js +1 -0
  36. package/static/{chunk-DMAf3Qir.js → chunk-Darhf4Mc.js} +7 -7
  37. package/static/{chunk-C5n_oTWP.js → chunk-Dbi2Cgba.js} +1 -1
  38. package/static/chunk-DkiTgkyJ.js +5 -0
  39. package/static/chunk-GVGHSEm1.js +1 -0
  40. package/static/{chunk-BuPc66MS.js → chunk-JnLpFByq.js} +1 -1
  41. package/static/chunk-LeZgxxmQ.js +1 -0
  42. package/static/{chunk-Cn95hfnf.js → chunk-b67RbqkY.js} +1 -1
  43. package/static/chunk-mzNzLBkE.js +1 -0
  44. package/static/chunk-oT_2rlWK.js +1 -0
  45. package/static/chunk-ov4Fshx3.js +1 -0
  46. package/static/index.html +1 -1
  47. package/static/main-CL3L2RPE.js +248 -0
  48. package/static/nz-theme-dark.css +1 -1
  49. package/static/nz-theme.css +1 -1
  50. package/static/chunk-1Oqdt_Gp.js +0 -1
  51. package/static/chunk-1eeePIP1.js +0 -1
  52. package/static/chunk-37yFTUcY.js +0 -1
  53. package/static/chunk-7MZQgksi.js +0 -1
  54. package/static/chunk-7VyHTRp_.js +0 -1
  55. package/static/chunk-BH5zvE8A.js +0 -1
  56. package/static/chunk-BZxs3wP7.js +0 -1
  57. package/static/chunk-B_L2A3hm.js +0 -1
  58. package/static/chunk-BbIC5sO2.js +0 -1
  59. package/static/chunk-BeWWb9rm.js +0 -1
  60. package/static/chunk-Bp8u1CCw.js +0 -1
  61. package/static/chunk-BpOumnMU.js +0 -1
  62. package/static/chunk-CF4gc4Im.js +0 -1
  63. package/static/chunk-CXGgR5M1.js +0 -1
  64. package/static/chunk-CiJRU6lo.js +0 -1
  65. package/static/chunk-Cq09TrKP.js +0 -1
  66. package/static/chunk-Cx2n09Ng.js +0 -1
  67. package/static/chunk-DFoFQkTa.js +0 -1
  68. package/static/chunk-DYARU-G0.js +0 -1
  69. package/static/chunk-DZhQ2iEt.js +0 -1
  70. package/static/chunk-D_DUAV49.js +0 -1
  71. package/static/chunk-GQe0l3Uh.js +0 -1
  72. package/static/chunk-dOUa0Vhs.js +0 -1
  73. package/static/chunk-q9oVn_qj.js +0 -5
  74. package/static/chunk-vYeIWxg4.js +0 -1
  75. package/static/chunk-yxqIQom4.js +0 -1
  76. package/static/main-2ZW45HAE.js +0 -248
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knoflows/engine",
3
- "version": "0.1.0-alpha.15",
3
+ "version": "0.1.0-alpha.17",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {
@@ -30,16 +30,16 @@
30
30
  "test:providers": "tsx src/providers/test/provider-test.ts",
31
31
  "test:secrets": "tsx src/secrets/secret-store.test.ts",
32
32
  "test:jira": "tsx src/providers/ticket/adf.test.ts && tsx src/providers/ticket/jira-ticket-provider.test.ts && tsx src/providers/query-templates/jira-query-templates.test.ts",
33
- "test:confluence": "tsx src/providers/documentation/confluence-documentation-provider.test.ts",
33
+ "test:confluence": "tsx src/providers/documentation/confluence-documentation-provider.test.ts && tsx src/providers/query-templates/confluence-query-templates.test.ts",
34
34
  "test:github": "tsx src/providers/ticket/github-issues-provider.test.ts",
35
- "test:bitbucket": "tsx src/providers/repo/bitbucket-repo-provider.test.ts",
35
+ "test:bitbucket": "tsx src/providers/query-repo-list.test.ts && tsx src/providers/repo/bitbucket-repo-provider.test.ts",
36
36
  "test:registry": "tsx src/providers/provider-registry.service.test.ts",
37
37
  "test:claude-agent": "tsx src/providers/agent/claude-agent-provider.test.ts",
38
38
  "test:cursor-agent": "tsx src/providers/agent/cursor-agent-provider.test.ts",
39
39
  "test:preview-models": "tsx src/providers/agent/preview-models.test.ts",
40
- "test:provider-status": "tsx src/providers/provider-status.test.ts",
41
- "test:runner": "tsx src/git/worktree-paths.test.ts && tsx src/git/repo-fetch-lock.service.test.ts && tsx src/git/git.service.test.ts && tsx src/runner/extract.test.ts && tsx src/runner/test/resolve-view-subjects.test.ts && tsx src/runner/test/workflow-runner.agent-interaction.test.ts && tsx src/runner/test/workflow-runner.git-shell-provider.test.ts && tsx src/runner/test/workflow-runner.loop-subworkflow.test.ts && tsx src/runner/test/workflow-runner.batch-aggregate.test.ts && tsx src/runner/test/workflow-runner.agent-output-validation.test.ts && tsx src/runner/test/workflow-runner.comment-review.test.ts && tsx src/runner/test/workflow-runner.extended-action.test.ts && tsx src/runner/test/workflow-runner.registry-dispatch.test.ts && tsx src/runner/test/workflow-runner.retry.test.ts && tsx src/runner/test/workflow-runner.positioned-comments.test.ts && tsx src/runner/test/workflow-runner.cancel.test.ts && tsx src/runner/test/resolve-context-files.test.ts && tsx src/runner/test/workflow-runner.context-files.test.ts && tsx src/runner/test/workflow-runner.worktrees.test.ts && tsx src/runner/test/workflow-runner.extract.test.ts && tsx src/runner/test/agent-concurrency-gate.service.test.ts && tsx src/runner/test/workflow-runner.agent-concurrency.test.ts",
42
- "test:api": "tsx src/api/test/api-test.ts && tsx src/api/test/boot-empty-secrets.test.ts && tsx src/api/test/providers-status.test.ts && tsx src/api/test/settings.test.ts && tsx src/api/test/preview-models.test.ts && tsx src/api/test/query-templates.test.ts && tsx src/api/test/extended-actions.test.ts && tsx src/api/test/view-binding-shortcuts.test.ts && tsx src/api/test/workflow-library.test.ts && tsx src/api/test/workflow-export-import.test.ts && tsx src/api/test/generate-workflow-instructions.test.ts && tsx src/api/test/context-files.test.ts && tsx src/api/test/filesystem.test.ts && tsx src/api/test/local-repositories.test.ts",
40
+ "test:provider-status": "tsx src/providers/provider-status.test.ts && tsx src/providers/testable-connection.test.ts",
41
+ "test:runner": "tsx src/git/worktree-paths.test.ts && tsx src/git/repo-fetch-lock.service.test.ts && tsx src/git/git.service.test.ts && tsx src/runner/extract.test.ts && tsx src/runner/test/resolve-view-subjects.test.ts && tsx src/runner/test/workflow-runner.agent-interaction.test.ts && tsx src/runner/test/workflow-runner.git-shell-provider.test.ts && tsx src/runner/test/workflow-runner.loop-subworkflow.test.ts && tsx src/runner/test/workflow-runner.subworkflow-source.test.ts && tsx src/runner/test/workflow-runner.batch-aggregate.test.ts && tsx src/runner/test/workflow-runner.agent-output-validation.test.ts && tsx src/runner/test/workflow-runner.comment-review.test.ts && tsx src/runner/test/workflow-runner.extended-action.test.ts && tsx src/runner/test/workflow-runner.registry-dispatch.test.ts && tsx src/runner/test/workflow-runner.retry.test.ts && tsx src/runner/test/workflow-runner.positioned-comments.test.ts && tsx src/runner/test/workflow-runner.cancel.test.ts && tsx src/runner/test/resolve-context-files.test.ts && tsx src/runner/test/workflow-runner.context-files.test.ts && tsx src/runner/test/workflow-runner.worktrees.test.ts && tsx src/runner/test/workflow-runner.extract.test.ts && tsx src/runner/test/agent-concurrency-gate.service.test.ts && tsx src/runner/test/workflow-runner.agent-concurrency.test.ts && tsx src/runner/test/workflow-runner.condition.test.ts",
42
+ "test:api": "tsx src/api/test/api-test.ts && tsx src/api/test/boot-empty-secrets.test.ts && tsx src/api/test/providers-status.test.ts && tsx src/api/test/settings.test.ts && tsx src/api/test/preview-models.test.ts && tsx src/api/test/test-connection.test.ts && tsx src/api/test/query-templates.test.ts && tsx src/api/test/extended-actions.test.ts && tsx src/api/test/view-binding-shortcuts.test.ts && tsx src/api/test/workflow-library.test.ts && tsx src/api/test/workflow-export-import.test.ts && tsx src/api/test/generate-workflow-instructions.test.ts && tsx src/api/test/context-files.test.ts && tsx src/api/test/filesystem.test.ts && tsx src/api/test/local-repositories.test.ts",
43
43
  "test:workflows-ids": "tsx src/api/workflows/assign-missing-ids.test.ts",
44
44
  "test:listen-port": "tsx src/listen-port.test.ts",
45
45
  "test:spa-fallback": "tsx src/static/spa-fallback.test.ts"
@@ -112,6 +112,7 @@
112
112
  "shell.group.pullRequests": "Pull Requests",
113
113
  "shell.group.documentation": "Documentation",
114
114
  "shell.shortcuts": "Shortcuts",
115
+ "shell.reorderHandle": "Reorder",
115
116
  "shell.provider.jira": "Jira",
116
117
  "shell.provider.bitbucket": "Bitbucket",
117
118
  "shell.empty.title": "Welcome to knoflows",
@@ -188,6 +189,14 @@
188
189
  "jobs.detail.inProgress.sub_workflow": "Waiting for child jobs…",
189
190
  "jobs.detail.inProgress.interaction": "Waiting for human…",
190
191
  "jobs.detail.inProgress.extract": "Extracting…",
192
+ "jobs.detail.skipped.reason": "This step was skipped because its condition held.",
193
+ "jobs.detail.skipped.predicate": "Predicate",
194
+ "jobs.detail.skipped.stepId": "Step id",
195
+ "jobs.detail.skipped.field": "Field",
196
+ "jobs.detail.skipped.equalsValue": "Equals",
197
+ "jobs.detail.skipped.fieldValue": "Evaluated value",
198
+ "jobs.detail.outputView.markdown": "Markdown",
199
+ "jobs.detail.outputView.raw": "Raw",
191
200
  "jobs.extract.heading": "Extract did not match",
192
201
  "jobs.extract.sourceValue": "Source value",
193
202
  "jobs.extract.pattern": "Pattern",
@@ -292,10 +301,20 @@
292
301
  "step-list.workflowId": "Workflow id",
293
302
  "step-list.workflowOption": "{{name}} ({{id}})",
294
303
  "step-list.forEach": "forEach",
304
+ "step-list.forEach.selection": "Selection",
305
+ "step-list.forEach.source": "From array",
306
+ "step-list.forEach.sourcePath": "Array source",
307
+ "step-list.forEach.sourceHint": "Path into job context (e.g. decide-repos.repos). Each item becomes that child's inputValues; the child workflow must have appliesTo: none.",
295
308
  "step-list.until.type": "until.type",
296
309
  "step-list.until.stepId": "until.stepId",
297
310
  "step-list.until.field": "until.field",
298
311
  "step-list.until.value": "until.value",
312
+ "step-list.fieldCondition.type": "Predicate",
313
+ "step-list.fieldCondition.stepId": "Step id",
314
+ "step-list.fieldCondition.field": "Field",
315
+ "step-list.fieldCondition.value": "Value",
316
+ "step-list.condition.title": "Only run if…",
317
+ "step-list.condition.hint": "Skipped when this condition holds (same predicates as loop until). Field empty skips when that field is empty or absent.",
299
318
  "step-list.maxIterations": "Max iterations",
300
319
  "step-list.onMaxIterations.action": "onMaxIterations.action",
301
320
  "step-list.nestedSteps": "Nested steps",
@@ -311,6 +330,8 @@
311
330
  "step-list.availableParameters.arrayOf": "Array of { {{fields}} }",
312
331
  "step-list.availableParameters.subjectTypeUnion": "Actual fields depend on which subject type the bound View resolves to.",
313
332
  "step-list.availableParameters.subWorkflowArray": "Array of { fanOutIndex, jobId, output }",
333
+ "step-list.availableParameters.subWorkflowForEach": "Selection fans out one child per selected subject. From array (forEach.source) fans out over a prior-step array path; each item is that child's inputValues and the child workflow must be appliesTo: none.",
334
+ "step-list.availableParameters.condition": "Any step may set condition (field_empty or field_equals). When the condition holds, the step is skipped entirely. References to a skipped step's output resolve to undefined, the same as any step that never ran.",
314
335
  "step-list.availableParameters.noPrevious": "No previous steps",
315
336
  "step-list.availableParameters.missingId": "Set an id to copy tokens",
316
337
  "step-list.stepType.agent": "Agent",
@@ -455,6 +476,10 @@
455
476
  "settings.apiKey.setSuccess": "API key saved",
456
477
  "settings.apiKey.setFailed": "Failed to save API key",
457
478
  "settings.apiKey.setFailedAfterSave": "Provider saved, but the API key could not be stored. Enter the key again to finish setup.",
479
+ "settings.testConnection": "Test connection",
480
+ "settings.testConnection.connected": "Connected",
481
+ "settings.testConnection.failed": "Connection failed",
482
+ "settings.testConnection.mismatch": "Identity mismatch",
458
483
  "settings.model.label": "Default model",
459
484
  "settings.model.placeholder": "Provider default",
460
485
  "settings.model.fetch": "Fetch available models",
@@ -478,7 +503,6 @@
478
503
  "workflows.list.filterBySubjectHandling": "Filter by items",
479
504
  "workflows.list.filterAll": "All",
480
505
  "workflows.list.edit": "Edit",
481
- "workflows.list.start": "Start",
482
506
  "workflows.list.delete": "Delete",
483
507
  "workflows.list.deleteConfirm": "Are you sure you want to delete this workflow?",
484
508
  "workflows.list.deleteFailed": "Failed to delete workflow",
@@ -532,6 +556,7 @@
532
556
  "views.editor.subjectType": "Subject type",
533
557
  "views.editor.query": "Query (JSON)",
534
558
  "views.editor.queryHint": "Raw provider filter object. Use this when no template covers what you need.",
559
+ "views.editor.manualListHint": "This list holds Confluence page IDs. Copy the number from a page URL, right after /pages/.",
535
560
  "views.editor.queryMode": "Query",
536
561
  "views.editor.queryMode.template": "Template",
537
562
  "views.editor.queryMode.raw": "Raw JSON",
@@ -112,6 +112,7 @@
112
112
  "shell.group.pullRequests": "Pull requests",
113
113
  "shell.group.documentation": "Documentación",
114
114
  "shell.shortcuts": "Atajos",
115
+ "shell.reorderHandle": "Reordenar",
115
116
  "shell.provider.jira": "Jira",
116
117
  "shell.provider.bitbucket": "Bitbucket",
117
118
  "shell.empty.title": "Bienvenido a knoflows",
@@ -188,6 +189,14 @@
188
189
  "jobs.detail.inProgress.sub_workflow": "Esperando trabajos hijos…",
189
190
  "jobs.detail.inProgress.interaction": "Esperando intervención humana…",
190
191
  "jobs.detail.inProgress.extract": "Extrayendo…",
192
+ "jobs.detail.skipped.reason": "Este paso se omitió porque se cumplió su condición.",
193
+ "jobs.detail.skipped.predicate": "Predicado",
194
+ "jobs.detail.skipped.stepId": "Id del paso",
195
+ "jobs.detail.skipped.field": "Campo",
196
+ "jobs.detail.skipped.equalsValue": "Igual a",
197
+ "jobs.detail.skipped.fieldValue": "Valor evaluado",
198
+ "jobs.detail.outputView.markdown": "Markdown",
199
+ "jobs.detail.outputView.raw": "Original",
191
200
  "jobs.extract.heading": "La extracción no coincidió",
192
201
  "jobs.extract.sourceValue": "Valor de origen",
193
202
  "jobs.extract.pattern": "Patrón",
@@ -292,10 +301,20 @@
292
301
  "step-list.workflowId": "Id de flujo",
293
302
  "step-list.workflowOption": "{{name}} ({{id}})",
294
303
  "step-list.forEach": "forEach",
304
+ "step-list.forEach.selection": "Selección",
305
+ "step-list.forEach.source": "Desde array",
306
+ "step-list.forEach.sourcePath": "Origen del array",
307
+ "step-list.forEach.sourceHint": "Ruta en el contexto del trabajo (p. ej. decide-repos.repos). Cada elemento se convierte en los inputValues del hijo; el flujo hijo debe tener appliesTo: none.",
295
308
  "step-list.until.type": "until.type",
296
309
  "step-list.until.stepId": "until.stepId",
297
310
  "step-list.until.field": "until.field",
298
311
  "step-list.until.value": "until.value",
312
+ "step-list.fieldCondition.type": "Predicado",
313
+ "step-list.fieldCondition.stepId": "Id del paso",
314
+ "step-list.fieldCondition.field": "Campo",
315
+ "step-list.fieldCondition.value": "Valor",
316
+ "step-list.condition.title": "Ejecutar solo si…",
317
+ "step-list.condition.hint": "Se omite el paso cuando esta condición se cumple (los mismos predicados que loop until). Field empty omite cuando ese campo está vacío o ausente.",
299
318
  "step-list.maxIterations": "Iteraciones máximas",
300
319
  "step-list.onMaxIterations.action": "onMaxIterations.action",
301
320
  "step-list.nestedSteps": "Pasos anidados",
@@ -311,6 +330,8 @@
311
330
  "step-list.availableParameters.arrayOf": "Array de { {{fields}} }",
312
331
  "step-list.availableParameters.subjectTypeUnion": "Los campos reales dependen del tipo de sujeto que resuelva la vista vinculada.",
313
332
  "step-list.availableParameters.subWorkflowArray": "Array de { fanOutIndex, jobId, output }",
333
+ "step-list.availableParameters.subWorkflowForEach": "Selección crea un hijo por cada sujeto seleccionado. Desde array (forEach.source) recorre un array de un paso anterior; cada elemento son los inputValues del hijo y el flujo hijo debe ser appliesTo: none.",
334
+ "step-list.availableParameters.condition": "Cualquier paso puede definir condition (field_empty o field_equals). Si la condición se cumple, el paso se omite por completo. Las referencias a la salida de un paso omitido se resuelven a undefined, igual que un paso que nunca se ejecutó.",
314
335
  "step-list.availableParameters.noPrevious": "Ningún paso anterior",
315
336
  "step-list.availableParameters.missingId": "Asigna un id para copiar tokens",
316
337
  "step-list.stepType.agent": "agent",
@@ -455,6 +476,10 @@
455
476
  "settings.apiKey.setSuccess": "Clave de API guardada",
456
477
  "settings.apiKey.setFailed": "No se pudo guardar la clave de API",
457
478
  "settings.apiKey.setFailedAfterSave": "El proveedor se guardó, pero no se pudo almacenar la clave de API. Introdúcela de nuevo para terminar la configuración.",
479
+ "settings.testConnection": "Probar conexión",
480
+ "settings.testConnection.connected": "Conectado",
481
+ "settings.testConnection.failed": "Error de conexión",
482
+ "settings.testConnection.mismatch": "Identidad no coincide",
458
483
  "settings.model.label": "Modelo predeterminado",
459
484
  "settings.model.placeholder": "Predeterminado del proveedor",
460
485
  "settings.model.fetch": "Obtener modelos disponibles",
@@ -478,7 +503,6 @@
478
503
  "workflows.list.filterBySubjectHandling": "Filtrar por elementos",
479
504
  "workflows.list.filterAll": "Todos",
480
505
  "workflows.list.edit": "Editar",
481
- "workflows.list.start": "Iniciar",
482
506
  "workflows.list.delete": "Eliminar",
483
507
  "workflows.list.deleteConfirm": "¿Seguro que quieres eliminar este flujo?",
484
508
  "workflows.list.deleteFailed": "No se pudo eliminar el flujo",
@@ -532,6 +556,7 @@
532
556
  "views.editor.subjectType": "Tipo de sujeto",
533
557
  "views.editor.query": "Consulta (JSON)",
534
558
  "views.editor.queryHint": "Objeto de filtro del proveedor en crudo. Úsalo cuando ninguna plantilla cubra lo que necesitas.",
559
+ "views.editor.manualListHint": "Esta lista contiene IDs de páginas de Confluence. Copia el número de la URL de la página, justo después de /pages/.",
535
560
  "views.editor.queryMode": "Consulta",
536
561
  "views.editor.queryMode.template": "Plantilla",
537
562
  "views.editor.queryMode.raw": "JSON en crudo",
@@ -0,0 +1 @@
1
+ import {a7 as KE,a8 as fu,aA as mT,aB as yT,a5 as q0,av as K0,U as Uw,s,r as r$1,ae as Le$1,u as ue,bR as eD,c3 as th,al as Sh,q as qo,ap as re,C,c4 as Uo,c5 as Q0,c6 as em,ar as sn,c7 as Gl,Z as ZE,c8 as vo,c9 as Wt,ca as _o,cb as Gl$1,cc as zh,cd as Fh,c0 as Mn,as as st,at as Ee,a3 as Ah,a4 as Th,Y as pf,a0 as bd,a1 as sp,a2 as fp,ce as $b,cf as Zb,aw as rh,m as mh,w as lh,ax as Eh,bf as _r,an as WD,ao as GD,aM as Yl,cg as oc,bW as Bl,ch as Sy,G as FD,j as _i,ci as oi,cj as ri,l as _D,J as Jc,ck as $h,P as Pw,I as Iw,H as HD,aQ as aw,aG as lw,o as gI,M as MD,D as ch,p as Fw,z as rl,cl as Vi,bV as XI,be as E3,b as at,cm as Wm,cn as S2,co as Kg,cp as Yg,cq as kg,cr as kr,cs as xy,ai as ly,ab as Oe,a9 as Z0,ct as Sr,cu as Cr,cv as me,cw as Rg,cx as yo,cy as _n$1,ac as Er,aD as Nr,n as uh,aJ as tl,aK as nl,ad as jr,L as Lh,aT as Vw,O as Fu,Q as ju}from'./main-CL3L2RPE.js';var lt=["overlay"];function ct(i,m){if(i&1&&(tl(0),Iw(1),nl()),i&2){let e=HD(2);gI(),Lh(e.nzTitle);}}function pt(i,m){if(i&1){let e=FD();_i(0,"div",2),oi(function(){Fu(e);let n=HD();return ju(n.zoomAnimationLeave())}),ri(function(){Fu(e);let n=HD();return ju(n.zoomAnimationEnter())}),uh(1,"div",3),_i(2,"div",4)(3,"div",5),rh(4,ct,2,1,"ng-container",6),Jc()()();}if(i&2){let e=HD();aw(e.nzOverlayStyle),lw(e._classMap),Sh("ant-tooltip-rtl",e.dir()==="rtl"),lh("nzNoAnimation",!!e.noAnimation?.nzNoAnimation?.()),gI(),aw(e._arrowStyleMap),gI(2),aw(e._contentStyleMap),gI(),lh("nzStringTemplateOutlet",e.nzTitle)("nzStringTemplateOutletContext",e.nzTitleContext);}}var tt=(()=>{class i{componentType;elementRef=C(_r);hostView=C(Vi);renderer=C(XI);noAnimation=C(Mn,{host:true,optional:true});nzConfigService=C(E3);destroyRef=C(at);platformId=C(Wm);config;visibleChange=new Le$1;get _title(){return this.title||this.directiveTitle||null}get _content(){return this.content||this.directiveContent||null}get _trigger(){return typeof this.trigger<"u"?this.trigger:"hover"}get _placement(){let e=this.placement;return Array.isArray(e)&&e.length>0?e:typeof e=="string"&&e?[e]:["top"]}get _visible(){return (typeof this.visible<"u"?this.visible:this.internalVisible)||false}get _mouseEnterDelay(){return this.mouseEnterDelay||.15}get _mouseLeaveDelay(){return this.mouseLeaveDelay||.1}get _overlayClassName(){return this.overlayClassName||null}get _overlayStyle(){return this.overlayStyle||null}get _overlayClickable(){return this.overlayClickable??true}internalVisible=false;getProxyPropertyMap(){return {noAnimation:["noAnimation",()=>!!this.noAnimation]}}component;destroy$=new re;triggerDisposables=[];delayTimer;constructor(e){this.componentType=e,this.destroyRef.onDestroy(()=>{this.clearTogglingTimer(),this.removeTriggerListeners();});}ngAfterViewInit(){S2(this.platformId)&&(this.createComponent(),this.registerTriggers());}ngOnChanges(e){let{trigger:t}=e;t&&!t.isFirstChange()&&this.registerTriggers(),this.component&&this.updatePropertiesByChanges(e);}show(){this.component?.show();}hide(){this.component?.hide();}updatePosition(){this.component&&this.component.updatePosition();}createComponent(){let e=this.hostView.createComponent(this.componentType);this.component=e.instance,this.renderer.removeChild(this.renderer.parentNode(this.elementRef.nativeElement),e.location.nativeElement),this.component.setOverlayOrigin(this.origin||this.elementRef),this.initProperties();let t=this.component.nzVisibleChange.pipe(Kg());t.pipe(ue(this.destroyRef)).subscribe(n=>{this.internalVisible=n,this.visibleChange.emit(n);}),t.pipe(sn(Boolean),Yg(0,kg),sn(()=>!!this.component?.overlay?.overlayRef),ue(this.destroyRef)).subscribe(()=>{this.component?.updatePosition();});}registerTriggers(){let e=this.elementRef.nativeElement,t=this.trigger;if(this.removeTriggerListeners(),t==="hover"){let n;this.triggerDisposables.push(this.renderer.listen(e,"mouseenter",()=>{this.delayEnterLeave(true,true,this._mouseEnterDelay);})),this.triggerDisposables.push(this.renderer.listen(e,"mouseleave",()=>{this.delayEnterLeave(true,false,this._mouseLeaveDelay),this.component?.overlay.overlayRef&&!n&&(n=this.component.overlay.overlayRef.overlayElement,this.triggerDisposables.push(this.renderer.listen(n,"mouseenter",()=>{this.delayEnterLeave(false,true,this._mouseEnterDelay);})),this.triggerDisposables.push(this.renderer.listen(n,"mouseleave",()=>{this.delayEnterLeave(false,false,this._mouseLeaveDelay);})));}));}else t==="focus"?(this.triggerDisposables.push(this.renderer.listen(e,"focusin",()=>this.show())),this.triggerDisposables.push(this.renderer.listen(e,"focusout",()=>this.hide()))):t==="click"&&this.triggerDisposables.push(this.renderer.listen(e,"click",n=>{n.preventDefault(),this.show();}));}updatePropertiesByChanges(e){this.updatePropertiesByKeys(Object.keys(e));}updatePropertiesByKeys(e){let t=r$1({title:["nzTitle",()=>this._title],directiveTitle:["nzTitle",()=>this._title],content:["nzContent",()=>this._content],directiveContent:["nzContent",()=>this._content],trigger:["nzTrigger",()=>this._trigger],placement:["nzPlacement",()=>this._placement],visible:["nzVisible",()=>this._visible],mouseEnterDelay:["nzMouseEnterDelay",()=>this._mouseEnterDelay],mouseLeaveDelay:["nzMouseLeaveDelay",()=>this._mouseLeaveDelay],overlayClassName:["nzOverlayClassName",()=>this._overlayClassName],overlayStyle:["nzOverlayStyle",()=>this._overlayStyle],overlayClickable:["nzOverlayClickable",()=>this._overlayClickable],arrowPointAtCenter:["nzArrowPointAtCenter",()=>this.arrowPointAtCenter]},this.getProxyPropertyMap());(e||Object.keys(t).filter(n=>!n.startsWith("directive"))).forEach(n=>{if(t[n]){let[o,c]=t[n];this.updateComponentValue(o,c());}}),this.component?.updateByDirective();}initProperties(){this.updatePropertiesByKeys();}updateComponentValue(e,t){typeof t<"u"&&(this.component[e]=t);}delayEnterLeave(e,t,n=-1){this.delayTimer?this.clearTogglingTimer():n>0?this.delayTimer=setTimeout(()=>{this.delayTimer=void 0,t?this.show():this.hide();},n*1e3):t&&e?this.show():this.hide();}removeTriggerListeners(){this.triggerDisposables.forEach(e=>e()),this.triggerDisposables.length=0;}clearTogglingTimer(){this.delayTimer&&(clearTimeout(this.delayTimer),this.delayTimer=void 0);}static \u0275fac=function(t){return new(t||i)(kr(xy))};static \u0275dir=eD({type:i,features:[ly]})}return i})(),mt=(()=>{class i{noAnimation=C(Mn,{host:true,optional:true});dir=C(Oe).valueSignal;cdr=C(Z0);elementRef=C(_r);destroyRef=C(at);overlay;nzTitle=null;nzContent=null;nzArrowPointAtCenter=false;nzOverlayClassName;nzOverlayStyle={};nzOverlayClickable=true;nzBackdrop=false;nzMouseEnterDelay;nzMouseLeaveDelay;nzVisibleChange=new re;set nzVisible(e){let t=jr(e);this._visible!==t&&(this._visible=t,this.nzVisibleChange.next(t));}get nzVisible(){return this._visible}_visible=false;set nzTrigger(e){this._trigger=e;}get nzTrigger(){return this._trigger}_trigger="hover";set nzPlacement(e){let t=e.map(n=>Sr(me[n],Cr[n]));this._positions=[...t,...Rg];}preferredPlacement="top";origin;_classMap={};_prefix="ant-tooltip";_positions=[...Rg];constructor(){this.destroyRef.onDestroy(()=>{this.nzVisibleChange.complete();});}show(){this.nzVisible||(this.isEmpty()||(this.nzVisible=true,this.nzVisibleChange.next(true),this.cdr.detectChanges()),this.origin&&this.overlay&&this.overlay.overlayRef&&this.overlay.overlayRef.getDirection()==="rtl"&&this.overlay.overlayRef.setDirection("ltr"));}hide(){this.nzVisible&&(this.nzVisible=false,this.nzVisibleChange.next(false),this.cdr.detectChanges());}updateByDirective(){this.updateStyles(),this.cdr.detectChanges(),Promise.resolve().then(()=>{this.updatePosition(),this.updateVisibilityByTitle();});}updatePosition(){this.origin&&this.overlay&&this.overlay.overlayRef&&this.overlay.overlayRef.updatePosition();}onPositionChange(e){this.preferredPlacement=yo(e),this.updateStyles(),this.cdr.detectChanges();}setOverlayOrigin(e){this.origin=e,this.cdr.markForCheck();}onClickOutside(e){if(!this.nzOverlayClickable)return;let t=_n$1(e);!this.origin.nativeElement.contains(t)&&this.nzTrigger!==null&&this.hide();}updateVisibilityByTitle(){this.isEmpty()&&this.hide();}updateStyles(){this._classMap=s(r$1({},this.transformClassListToMap(this.nzOverlayClassName)),{[`${this._prefix}-placement-${this.preferredPlacement}`]:true});}transformClassListToMap(e){let t={};return (e!==null?e.split(/\s+/):[]).forEach(o=>t[o]=true),t}static \u0275fac=function(t){return new(t||i)};static \u0275dir=eD({type:i,viewQuery:function(t,n){if(t&1&&Eh(lt,5),t&2){let o;WD(o=GD())&&(n.overlay=o.first);}}})}return i})();function ut(i){return i instanceof Er?false:i===""||!Nr(i)}var nt=(()=>{class i extends mt{_animationPrefix="ant-zoom-big-fast";nzTitle=null;nzTitleContext=null;nzColor;_arrowStyleMap={};_contentStyleMap={};zoomAnimationEnter=oc(()=>`${this._animationPrefix}-enter ${this._animationPrefix}-enter-active`);zoomAnimationLeave=oc(()=>`${this._animationPrefix}-leave ${this._animationPrefix}-leave-active`);isEmpty(){return ut(this.nzTitle)}updateStyles(){let e=this.nzColor&&Bl(this.nzColor);this._classMap=s(r$1({},this.transformClassListToMap(this.nzOverlayClassName)),{[`${this._prefix}-placement-${this.preferredPlacement}`]:true,[`${this._prefix}-${this.nzColor}`]:e}),this._contentStyleMap={backgroundColor:this.nzColor&&!e?this.nzColor:null},this._arrowStyleMap={"--antd-arrow-background-color":this.nzColor&&!e?this.nzColor:null};}static \u0275fac=(()=>{let e;return function(n){return (e||(e=Sy(i)))(n||i)}})();static \u0275cmp=ZE({type:i,selectors:[["nz-tooltip"]],exportAs:["nzTooltipComponent"],features:[th],decls:2,vars:4,consts:[["overlay","cdkConnectedOverlay"],["cdkConnectedOverlay","","nzConnectedOverlay","",3,"overlayOutsideClick","detach","positionChange","cdkConnectedOverlayOrigin","cdkConnectedOverlayOpen","cdkConnectedOverlayPositions","nzArrowPointAtCenter"],[1,"ant-tooltip",3,"nzNoAnimation"],[1,"ant-tooltip-arrow"],[1,"ant-tooltip-content"],[1,"ant-tooltip-inner"],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"]],template:function(t,n){t&1&&(rh(0,pt,5,13,"ng-template",1,0,Vw),mh("overlayOutsideClick",function(c){return n.onClickOutside(c)})("detach",function(){return n.hide()})("positionChange",function(c){return n.onPositionChange(c)})),t&2&&lh("cdkConnectedOverlayOrigin",n.origin)("cdkConnectedOverlayOpen",n._visible)("cdkConnectedOverlayPositions",n._positions)("nzArrowPointAtCenter",n.nzArrowPointAtCenter);},dependencies:[vo,Wt,Mn,st,Ee,_o,Gl$1],encapsulation:2})}return i})();var dt=["okBtn"],ft=["cancelBtn"];function zt(i,m){i&1&&uh(0,"div",5);}function ht(i,m){if(i&1&&(tl(0),uh(1,"nz-icon",17),nl()),i&2){let e=m.$implicit;gI(),lh("nzType",e||"exclamation-circle");}}function vt(i,m){if(i&1&&(_i(0,"span",10),rh(1,ht,2,1,"ng-container",16),Jc()),i&2){let e=HD(2);gI(),lh("nzStringTemplateOutlet",e.nzIcon);}}function yt(i,m){if(i&1&&(tl(0),Iw(1),nl()),i&2){let e=HD(2);gI(),rl(" ",e.nzTitle," ");}}function gt(i,m){if(i&1){let e=FD();_i(0,"div",4),oi(function(){Fu(e);let n=HD();return ju(n.zoomAnimationLeave())}),ri(function(){Fu(e);let n=HD();return ju(n.zoomAnimationEnter())}),_D(1,zt,1,0,"div",5),_i(2,"div",6)(3,"div",7)(4,"div")(5,"div",8)(6,"div",9),_D(7,vt,2,1,"span",10),_i(8,"div",11),rh(9,yt,2,1,"ng-container",12),Jc()(),_i(10,"div",13)(11,"button",14,1),mh("click",function(){Fu(e);let n=HD();return ju(n.onCancel())}),$h(13),Pw(14,"nzI18n"),Iw(15),Jc(),_i(16,"button",15,2),mh("click",function(){Fu(e);let n=HD();return ju(n.onConfirm())}),$h(18),Pw(19,"nzI18n"),Iw(20),Jc()()()()()()();}if(i&2){let e=HD();aw(e.nzOverlayStyle),lw(e._classMap),Sh("ant-popover-rtl",e.dir()==="rtl"),lh("cdkTrapFocusAutoCapture",e.nzAutoFocus!==null)("nzNoAnimation",!!e.noAnimation?.nzNoAnimation?.()),gI(),MD(e.nzPopconfirmShowArrow?1:-1),gI(6),MD(e.nzIcon!==null?7:-1),gI(2),lh("nzStringTemplateOutlet",e.nzTitle)("nzStringTemplateOutletContext",e.nzTitleContext),gI(2),lh("nzDanger",e.nzCancelButtonProps()?.nzDanger)("disabled",e.nzCancelButtonProps()?.nzDisabled),ch("cdkFocusInitial",e.nzAutoFocus==="cancel"||null);let t=e.nzCancelText()||Fw(14,22,"Modal.cancelText");gI(4),rl(" ",t," "),gI(),lh("nzType",e.nzOkButtonProps().nzType)("nzDanger",e.nzOkButtonProps().nzDanger)("nzLoading",e.confirmLoading)("disabled",e.nzOkButtonProps().nzDisabled),ch("cdkFocusInitial",e.nzAutoFocus==="ok"||null);let n=e.nzOkText()||Fw(19,24,"Modal.okText");gI(4),rl(" ",n," ");}}var Ct="popconfirm",Cn=(()=>{let i=tt,m,e=[],t=[],n,o=[],c=[];return class he extends i{static{let C=typeof Symbol=="function"&&Symbol.metadata?Object.create(i[Symbol.metadata]??null):void 0;m=[Yl()],n=[Yl()],mT(null,null,m,{kind:"field",name:"nzPopconfirmBackdrop",static:false,private:false,access:{has:a=>"nzPopconfirmBackdrop"in a,get:a=>a.nzPopconfirmBackdrop,set:(a,N)=>{a.nzPopconfirmBackdrop=N;}},metadata:C},e,t),mT(null,null,n,{kind:"field",name:"nzAutofocus",static:false,private:false,access:{has:a=>"nzAutofocus"in a,get:a=>a.nzAutofocus,set:(a,N)=>{a.nzAutofocus=N;}},metadata:C},o,c),C&&Object.defineProperty(this,Symbol.metadata,{enumerable:true,configurable:true,writable:true,value:C});}_nzModuleName=Ct;arrowPointAtCenter;title;titleContext=null;directiveTitle;trigger="click";placement="top";origin;mouseEnterDelay;mouseLeaveDelay;overlayClassName;overlayStyle;visible;nzBeforeConfirm;nzIcon;nzCondition=false;nzPopconfirmShowArrow=true;nzPopconfirmBackdrop=yT(this,e,false);nzAutofocus=(yT(this,t),yT(this,o,null));nzOkText=(yT(this,c),q0(null));nzOkType=q0("primary");nzCancelText=q0(null);nzOkButtonProps=q0(null);nzCancelButtonProps=q0(null);nzOkDisabled=q0(false,{transform:K0});nzOkDanger=q0(false,{transform:K0});okButtonProps=Uw(()=>s(r$1({},this.nzOkButtonProps()),{nzType:this.nzOkButtonProps()?.nzType||this.nzOkType()==="danger"?"primary":this.nzOkType(),nzDanger:this.nzOkDanger()||this.nzOkButtonProps()?.nzDanger||this.nzOkType()==="danger",nzDisabled:this.nzOkDisabled()||this.nzOkButtonProps()?.nzDisabled}));cancelButtonProps=Uw(()=>r$1({},this.nzCancelButtonProps()));directiveContent=null;content=null;overlayClickable;visibleChange=new Le$1;nzOnCancel=new Le$1;nzOnConfirm=new Le$1;getProxyPropertyMap(){return r$1({nzOkText:["nzOkText",()=>this.nzOkText],nzCancelText:["nzCancelText",()=>this.nzCancelText],nzOkButtonProps:["nzOkButtonProps",()=>this.okButtonProps],nzCancelButtonProps:["nzCancelButtonProps",()=>this.cancelButtonProps],nzBeforeConfirm:["nzBeforeConfirm",()=>this.nzBeforeConfirm],nzCondition:["nzCondition",()=>this.nzCondition],nzIcon:["nzIcon",()=>this.nzIcon],nzPopconfirmShowArrow:["nzPopconfirmShowArrow",()=>this.nzPopconfirmShowArrow],nzPopconfirmBackdrop:["nzBackdrop",()=>this.nzPopconfirmBackdrop],nzPopconfirmContext:["nzTitleContext",()=>this.titleContext],nzAutoFocus:["nzAutoFocus",()=>this.nzAutofocus]},super.getProxyPropertyMap())}constructor(){super(it);}createComponent(){super.createComponent(),this.component.nzOnCancel.pipe(ue(this.destroyRef)).subscribe(()=>{this.nzOnCancel.emit();}),this.component.nzOnConfirm.pipe(ue(this.destroyRef)).subscribe(()=>{this.nzOnConfirm.emit();});}static \u0275fac=function(a){return new(a||he)};static \u0275dir=eD({type:he,selectors:[["","nz-popconfirm",""]],hostVars:2,hostBindings:function(a,N){a&2&&Sh("ant-popover-open",N.visible);},inputs:{arrowPointAtCenter:[2,"nzPopconfirmArrowPointAtCenter","arrowPointAtCenter",K0],title:[0,"nzPopconfirmTitle","title"],titleContext:[0,"nzPopconfirmTitleContext","titleContext"],directiveTitle:[0,"nz-popconfirm","directiveTitle"],trigger:[0,"nzPopconfirmTrigger","trigger"],placement:[0,"nzPopconfirmPlacement","placement"],origin:[0,"nzPopconfirmOrigin","origin"],mouseEnterDelay:[0,"nzPopconfirmMouseEnterDelay","mouseEnterDelay"],mouseLeaveDelay:[0,"nzPopconfirmMouseLeaveDelay","mouseLeaveDelay"],overlayClassName:[0,"nzPopconfirmOverlayClassName","overlayClassName"],overlayStyle:[0,"nzPopconfirmOverlayStyle","overlayStyle"],visible:[0,"nzPopconfirmVisible","visible"],nzBeforeConfirm:"nzBeforeConfirm",nzIcon:"nzIcon",nzCondition:[2,"nzCondition","nzCondition",K0],nzPopconfirmShowArrow:[2,"nzPopconfirmShowArrow","nzPopconfirmShowArrow",K0],nzPopconfirmBackdrop:"nzPopconfirmBackdrop",nzAutofocus:"nzAutofocus",nzOkText:[1,"nzOkText"],nzOkType:[1,"nzOkType"],nzCancelText:[1,"nzCancelText"],nzOkButtonProps:[1,"nzOkButtonProps"],nzCancelButtonProps:[1,"nzCancelButtonProps"],nzOkDisabled:[1,"nzOkDisabled"],nzOkDanger:[1,"nzOkDanger"]},outputs:{visibleChange:"nzPopconfirmVisibleChange",nzOnCancel:"nzOnCancel",nzOnConfirm:"nzOnConfirm"},exportAs:["nzPopconfirm"],features:[th]})}})(),it=(()=>{class i extends nt{_animationPrefix="ant-zoom-big";okBtn;cancelBtn;nzCondition=false;nzPopconfirmShowArrow=true;nzIcon;nzAutoFocus=null;nzBeforeConfirm=null;nzOkText=qo(null);nzCancelText=qo(null);nzOkButtonProps=qo({nzType:"primary"});nzCancelButtonProps=qo(null);nzOnCancel=new re;nzOnConfirm=new re;_trigger="click";elementFocusedBeforeModalWasOpened=null;document=C(Uo);_prefix="ant-popover";confirmLoading=false;constructor(){super(),this.destroyRef.onDestroy(()=>{this.nzVisibleChange.complete();});}show(){this.nzCondition?this.onConfirm():(this.capturePreviouslyFocusedElement(),super.show());}hide(){super.hide(),this.restoreFocus();}handleConfirm(){this.nzOnConfirm.next(),super.hide();}onCancel(){this.nzOnCancel.next(),super.hide();}onConfirm(){this.nzBeforeConfirm?(this.confirmLoading=true,this.cdr.markForCheck(),Q0(this.nzBeforeConfirm()).pipe(em(),sn(Boolean),Gl(()=>{this.confirmLoading=false,this.cdr.markForCheck();})).subscribe(()=>this.handleConfirm())):this.handleConfirm();}capturePreviouslyFocusedElement(){this.document&&(this.elementFocusedBeforeModalWasOpened=this.document.activeElement);}restoreFocus(){this.elementFocusedBeforeModalWasOpened?.focus();}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=ZE({type:i,selectors:[["nz-popconfirm"]],viewQuery:function(t,n){if(t&1&&Eh(dt,5,_r)(ft,5,_r),t&2){let o;WD(o=GD())&&(n.okBtn=o),WD(o=GD())&&(n.cancelBtn=o);}},exportAs:["nzPopconfirmComponent"],features:[th],decls:2,vars:5,consts:[["overlay","cdkConnectedOverlay"],["cancelBtn",""],["okBtn",""],["cdkConnectedOverlay","","nzConnectedOverlay","",3,"overlayOutsideClick","detach","positionChange","cdkConnectedOverlayHasBackdrop","cdkConnectedOverlayOrigin","cdkConnectedOverlayPositions","cdkConnectedOverlayOpen","nzArrowPointAtCenter"],["cdkTrapFocus","",1,"ant-popover",3,"cdkTrapFocusAutoCapture","nzNoAnimation"],[1,"ant-popover-arrow"],[1,"ant-popover-content"],[1,"ant-popover-inner"],[1,"ant-popover-inner-content"],[1,"ant-popover-message"],[1,"ant-popover-message-icon"],[1,"ant-popover-message-title"],[4,"nzStringTemplateOutlet","nzStringTemplateOutletContext"],[1,"ant-popover-buttons"],["nz-button","","nzSize","small",3,"click","nzDanger","disabled"],["nz-button","","nzSize","small",3,"click","nzType","nzDanger","nzLoading","disabled"],[4,"nzStringTemplateOutlet"],["nzTheme","fill",3,"nzType"]],template:function(t,n){t&1&&(rh(0,gt,21,26,"ng-template",3,0,Vw),mh("overlayOutsideClick",function(c){return n.onClickOutside(c)})("detach",function(){return n.hide()})("positionChange",function(c){return n.onPositionChange(c)})),t&2&&lh("cdkConnectedOverlayHasBackdrop",n.nzBackdrop)("cdkConnectedOverlayOrigin",n.origin)("cdkConnectedOverlayPositions",n._positions)("cdkConnectedOverlayOpen",n._visible)("nzArrowPointAtCenter",n.nzArrowPointAtCenter);},dependencies:[vo,Wt,_o,Gl$1,zh,Fh,Mn,st,Ee,Ah,Th,pf,bd,sp,fp,$b,Zb],encapsulation:2})}return i})(),_n=(()=>{class i{static \u0275fac=function(t){return new(t||i)};static \u0275mod=KE({type:i});static \u0275inj=fu({imports:[it]})}return i})();export{Cn as C,_n as _};
@@ -0,0 +1 @@
1
+ import {x,h,b,w,O}from'./chunk-C9wrgS_q.js';import {W,I}from'./chunk-ChofVXdQ.js';import {p as pc,a as as,d as dc,K as Kl,c as cc,J as Ji,l as ls}from'./chunk-CID_DKHO.js';import {C,$,R as J1,V as Ve,b as at,S as p,a5 as q0,q as qo,T as id,W as qw,aW as Ng,aX as es,aY as Dg,u as ue,c as bi,s,r as r$1,Z as ZE,d as $8,X as M5,v as v3,Y as pf,a0 as bd,a1 as sp,K as Kt,l as _D,M as MD,j as _i,I as Iw,P as Pw,J as Jc,o as gI,L as Lh,p as Fw,H as HD,x as xD,w as lh,B as AD,D as ch,E as Aw,z as rl,G as FD,m as mh,O as Fu,Q as ju}from'./main-CL3L2RPE.js';var bt=o=>["/jobs",o],mt=(o,u)=>u.id;function ut(o,u){o&1&&(_i(0,"p",0),Iw(1),Pw(2,"transloco"),Jc()),o&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function ht(o,u){if(o&1&&(_i(0,"p",1),Iw(1),Jc()),o&2){let t=HD();gI(),Lh(t.loadError());}}function gt(o,u){if(o&1){let t=FD();_i(0,"button",8),mh("click",function(i){Fu(t);let d=HD().$implicit,g=HD(2);return ju(g.retryJob(d,i))}),Iw(1),Pw(2,"transloco"),Jc();}if(o&2){let t=HD().$implicit,e=HD(2);lh("disabled",e.retryingJobId()===t.id),ch("data-testid","job-retry-"+t.id),gI(),rl(" ",Fw(2,3,e.retryingJobId()===t.id?"jobs.detail.retrying":"jobs.table.retry")," ");}}function xt(o,u){if(o&1){let t=FD();_i(0,"button",9),mh("click",function(i){Fu(t);let d=HD().$implicit,g=HD(2);return ju(g.cancelJob(d,i))}),Iw(1),Pw(2,"transloco"),Jc();}if(o&2){let t=HD().$implicit,e=HD(2);lh("disabled",e.cancellingJobId()===t.id),ch("data-testid","job-cancel-"+t.id),gI(),rl(" ",Fw(2,3,e.cancellingJobId()===t.id?"jobs.detail.cancelling":"jobs.table.cancel")," ");}}function ft(o,u){if(o&1&&(_i(0,"tr")(1,"td")(2,"a",3),Iw(3),Jc(),_i(4,"div",4),Iw(5),Jc()(),_i(6,"td")(7,"nz-tag",5),Iw(8),Pw(9,"transloco"),Jc()(),_i(10,"td")(11,"span"),Iw(12),Jc()(),_i(13,"td")(14,"span"),Iw(15),Jc()(),_i(16,"td")(17,"span"),Iw(18),Jc()(),_i(19,"td"),_D(20,gt,3,5,"button",6),_D(21,xt,3,5,"button",7),Jc()()),o&2){let t=u.$implicit,e=HD(2);ch("data-testid","job-row-"+t.id),gI(2),lh("routerLink",Aw(19,bt,t.id)),ch("data-testid","job-link-"+t.id),gI(),rl(" ",e.composeJobTitle(t)," "),gI(2),Lh(t.id),gI(2),lh("nzColor",e.jobStatusTagColor(t.status,e.theme.theme()))("ngClass",e.jobStatusTagClass(t.status,e.theme.theme())),ch("data-testid","job-status-"+t.id),gI(),Lh(Fw(9,17,e.statusKey(t.status))),gI(3),ch("data-testid","job-subject-"+t.id),gI(),Lh(e.subjectText(t)),gI(2),ch("data-testid","job-started-"+t.id),gI(),Lh(t.createdAt),gI(2),ch("data-testid","job-completed-"+t.id),gI(),Lh(t.completedAt??"\u2014"),gI(2),MD(t.status==="failed"?20:-1),gI(),MD(e.isTerminalStatus(t.status)?-1:21);}}function _t(o,u){if(o&1&&(_i(0,"nz-table",2)(1,"thead")(2,"tr")(3,"th"),Iw(4),Pw(5,"transloco"),Jc(),_i(6,"th"),Iw(7),Pw(8,"transloco"),Jc(),_i(9,"th"),Iw(10),Pw(11,"transloco"),Jc(),_i(12,"th"),Iw(13),Pw(14,"transloco"),Jc(),_i(15,"th"),Iw(16),Pw(17,"transloco"),Jc(),_i(18,"th"),Iw(19),Pw(20,"transloco"),Jc()()(),_i(21,"tbody"),xD(22,ft,22,21,"tr",null,mt),Jc()()),o&2){let t=HD();lh("nzData",t.displayJobs())("nzFrontPagination",false)("nzShowPagination",false)("nzSize","middle"),gI(4),Lh(Fw(5,10,"jobs.table.column.id")),gI(3),Lh(Fw(8,12,"jobs.table.column.status")),gI(3),Lh(Fw(11,14,"jobs.table.column.subject")),gI(3),Lh(Fw(14,16,"jobs.table.column.started")),gI(3),Lh(Fw(17,18,"jobs.table.column.completed")),gI(3),Lh(Fw(20,20,"jobs.table.column.actions")),gI(3),AD(t.displayJobs());}}var Lt=(()=>{class o{constructor(){this.jobsApi=C($),this.router=C(J1),this.transloco=C(Ve),this.destroyRef=C(at),this.theme=C(p),this.jobStatusTagClass=x,this.jobStatusTagColor=h,this.composeJobTitle=b,this.jobs=q0(null),this.jobIds=q0([]),this.loaded=qo([]),this.loading=qo(false),this.loadError=qo(null),this.retryingJobId=qo(null),this.cancellingJobId=qo(null),this.patched=qo({}),id(()=>{let t=this.jobs(),e=this.jobIds();if(t!=null){qw(()=>{this.loaded.set([]),this.loading.set(false),this.loadError.set(null),this.patched.set({});});return}if(e.length===0){qw(()=>{this.loaded.set([]),this.loading.set(false);});return}qw(()=>{this.loading.set(true),this.loadError.set(null),Ng(e.map(i=>this.jobsApi.get(i).pipe(es(()=>Dg(null))))).pipe(ue(this.destroyRef)).subscribe({next:i=>{this.loaded.set(i.filter(d=>d!=null)),this.loading.set(false);},error:()=>{this.loading.set(false),this.loadError.set("Failed to load jobs");}});});});}displayJobs(){let t=this.jobs(),e=t??this.loaded(),i=this.patched();return e.map(d=>i[d.id]??d)}isTerminalStatus(t){return w(t)}statusKey(t){return `jobs.status.${t}`}subjectText(t){return O(t.subjectContext)??"\u2014"}retryJob(t,e){e.preventDefault(),e.stopPropagation(),!(t.status!=="failed"||this.retryingJobId()===t.id)&&(this.retryingJobId.set(t.id),this.loadError.set(null),this.jobsApi.retry(t.id).subscribe({next:i=>{this.retryingJobId.set(null),this.router.navigate(["/jobs",i.id]);},error:i=>{this.retryingJobId.set(null),this.loadError.set(i instanceof bi||i instanceof Error?i.message:this.transloco.translate("jobs.errors.retryFailed"));}}));}cancelJob(t,e){e.preventDefault(),e.stopPropagation(),!(w(t.status)||this.cancellingJobId()===t.id)&&(this.cancellingJobId.set(t.id),this.loadError.set(null),this.jobsApi.cancel(t.id).subscribe({next:i=>{this.cancellingJobId.set(null),this.patched.update(d=>s(r$1({},d),{[i.id]:i})),this.loaded.update(d=>d.map(g=>g.id===i.id?i:g));},error:i=>{this.cancellingJobId.set(null),this.loadError.set(i instanceof bi||i instanceof Error?i.message:this.transloco.translate("jobs.errors.cancelFailed"));}}));}static{this.\u0275fac=function(e){return new(e||o)};}static{this.\u0275cmp=ZE({type:o,selectors:[["app-job-status-table"]],inputs:{jobs:[1,"jobs"],jobIds:[1,"jobIds"]},decls:3,vars:1,consts:[["data-testid","job-status-loading"],["data-testid","job-status-error",1,"error"],["data-testid","job-status-table",3,"nzData","nzFrontPagination","nzShowPagination","nzSize"],[3,"routerLink"],[1,"job-row-id","mono"],[3,"nzColor","ngClass"],["nz-button","","nzType","link","type","button",3,"disabled"],["nz-button","","nzType","link","nzDanger","","type","button",3,"disabled"],["nz-button","","nzType","link","type","button",3,"click","disabled"],["nz-button","","nzType","link","nzDanger","","type","button",3,"click","disabled"]],template:function(e,i){e&1&&_D(0,ut,3,3,"p",0)(1,ht,2,1,"p",1)(2,_t,24,22,"nz-table",2),e&2&&MD(i.loading()&&i.jobs()==null?0:i.loadError()?1:2);},dependencies:[$8,M5,v3,pf,bd,sp,pc,as,dc,Kl,cc,Ji,ls,W,I,Kt],styles:["[_nghost-%COMP%]{display:block;min-width:0;max-width:100%}.error[_ngcontent-%COMP%]{color:#9f1239}.job-row-id[_ngcontent-%COMP%]{margin-top:.2rem;font-size:.75rem;color:var(--knoflows-text-secondary, #6b6558)}[_nghost-%COMP%] .ant-table-tbody>tr>td{white-space:normal;vertical-align:top}"]});}}return o})();export{Lt as L};
@@ -0,0 +1 @@
1
+ import {w as we}from'./chunk-GVGHSEm1.js';import {_ as _n}from'./chunk-9iLiX6s9.js';import {C,b7 as m,b8 as y,$,R as J1,V as Ve,b as at,q as qo,U as Uw,u as ue,aW as Ng,c as bi,Z as ZE,d as $8,v as v3,Y as pf,a0 as bd,a1 as sp,K as Kt,j as _i,I as Iw,P as Pw,J as Jc,l as _D,o as gI,L as Lh,p as Fw,z as rl,M as MD,H as HD,G as FD,m as mh,w as lh,O as Fu,Q as ju}from'./main-CL3L2RPE.js';import {b}from'./chunk-DEGtd3B-.js';import'./chunk-CID_DKHO.js';import'./chunk-CQOTdAZb.js';function G(i,b){i&1&&(_i(0,"p",3),Iw(1),Pw(2,"transloco"),Jc()),i&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function H(i,b){if(i&1&&(_i(0,"p",4),Iw(1),Jc()),i&2){let t=HD();gI(),Lh(t.loadError());}}function K(i,b){if(i&1&&(_i(0,"p",5),Iw(1),Jc()),i&2){let t=HD(2);gI(),Lh(t.actionError());}}function Q(i,b){i&1&&(_i(0,"section",6)(1,"p"),Iw(2),Pw(3,"transloco"),Jc(),_i(4,"a",8),Iw(5),Pw(6,"transloco"),Jc()()),i&2&&(gI(2),Lh(Fw(3,2,"shortcuts.list.emptyState")),gI(3),rl(" ",Fw(6,4,"shortcuts.list.emptyCreateButton")," "));}function X(i,b){if(i&1){let t=FD();_i(0,"app-runnable-items-table",9),mh("rowAction",function(e){Fu(t);let c=HD(2);return ju(c.onRowAction(e))}),Jc();}if(i&2){let t=HD(2);lh("rows",t.rows())("selectable",false)("showRowAction",true);}}function Y(i,b){if(i&1&&(_D(0,K,2,1,"p",5),_D(1,Q,7,6,"section",6)(2,X,1,3,"app-runnable-items-table",7)),i&2){let t=HD();MD(t.actionError()?0:-1),gI(),MD(t.shortcuts().length===0?1:2);}}var bt=(()=>{class i{constructor(){this.shortcutsApi=C(m),this.nav=C(y),this.workflowsApi=C(b),this.jobsApi=C($),this.router=C(J1),this.transloco=C(Ve),this.destroyRef=C(at),this.shortcuts=qo([]),this.workflows=qo([]),this.jobsById=qo({}),this.loading=qo(true),this.loadError=qo(null),this.actionError=qo(null),this.rows=Uw(()=>{let t=this.jobsById(),o=this.workflows();return this.shortcuts().map(e=>({id:e.id,primaryLabel:e.name,subtitle:o.find(c=>c.id===e.workflowId)?.name,latestJob:e.lastJobId?t[e.lastJobId]??null:null}))}),this.load();}onRowAction(t){let o=this.shortcuts().find(e=>e.id===t);o&&(this.actionError.set(null),this.jobsApi.start({workflowId:o.workflowId,inputValues:o.inputValues}).pipe(ue(this.destroyRef)).subscribe({next:e=>{this.shortcutsApi.update(o.id,{lastJobId:e.id}).pipe(ue(this.destroyRef)).subscribe({next:c=>{this.shortcuts.update(q=>q.map(C=>C.id===c.id?c:C)),this.router.navigate(["/jobs",e.id]);},error:()=>{this.router.navigate(["/jobs",e.id]);}});},error:e=>{this.actionError.set(this.errorMessage(e,this.transloco.translate("shortcuts.list.runFailed")));}}));}deleteShortcut(t){this.actionError.set(null),this.shortcutsApi.delete(t).pipe(ue(this.destroyRef)).subscribe({next:()=>{this.nav.refresh(),this.shortcuts.update(o=>o.filter(e=>e.id!==t));},error:o=>{this.actionError.set(this.errorMessage(o,this.transloco.translate("shortcuts.list.deleteFailed")));}});}load(){this.loading.set(true),this.loadError.set(null),Ng({shortcuts:this.shortcutsApi.list(),workflows:this.workflowsApi.list()}).pipe(ue(this.destroyRef)).subscribe({next:({shortcuts:t,workflows:o})=>{this.shortcuts.set(t),this.workflows.set(o),this.loading.set(false),this.loadLatestJobs(t);},error:t=>{this.loading.set(false),this.loadError.set(this.errorMessage(t,this.transloco.translate("shortcuts.list.loadFailed")));}});}loadLatestJobs(t){let o=t.map(e=>e.lastJobId).filter(e=>e!=null);if(o.length===0){this.jobsById.set({});return}Ng(Object.fromEntries(o.map(e=>[e,this.jobsApi.get(e)]))).pipe(ue(this.destroyRef)).subscribe({next:e=>this.jobsById.set(e),error:()=>this.jobsById.set({})});}errorMessage(t,o){return t instanceof bi||t instanceof Error?t.message:o}static{this.\u0275fac=function(o){return new(o||i)};}static{this.\u0275cmp=ZE({type:i,selectors:[["app-shortcut-list"]],decls:11,vars:7,consts:[["data-testid","shortcuts-list",1,"list-page"],[1,"header"],["nz-button","","nzType","primary","routerLink","/shortcuts/new","data-testid","create-shortcut"],["data-testid","loading"],["data-testid","load-error",1,"error"],["data-testid","action-error",1,"error"],["data-testid","empty-state",1,"empty"],[3,"rows","selectable","showRowAction"],["nz-button","","nzType","primary","routerLink","/shortcuts/new","data-testid","empty-create"],[3,"rowAction","rows","selectable","showRowAction"]],template:function(o,e){o&1&&(_i(0,"main",0)(1,"header",1)(2,"h1"),Iw(3),Pw(4,"transloco"),Jc(),_i(5,"a",2),Iw(6),Pw(7,"transloco"),Jc()(),_D(8,G,3,3,"p",3)(9,H,2,1,"p",4)(10,Y,3,2),Jc()),o&2&&(gI(3),Lh(Fw(4,3,"shortcuts.list.title")),gI(3),rl(" ",Fw(7,5,"shortcuts.list.createButton")," "),gI(2),MD(e.loading()?8:e.loadError()?9:10));},dependencies:[$8,v3,pf,bd,sp,_n,we,Kt],styles:[".list-page[_ngcontent-%COMP%]{padding:1.25rem 1.5rem 3rem;display:flex;flex-direction:column;gap:1rem}.header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.empty[_ngcontent-%COMP%]{text-align:center;padding:2.5rem 1rem;border:1px dashed #d6d3d1;background:#fff9}.empty[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin:0 0 1rem;color:#57534e}.error[_ngcontent-%COMP%]{color:#9f1239}"]});}}return i})();export{bt as ShortcutListComponent};
@@ -0,0 +1 @@
1
+ import {a7 as KE,a8 as fu,C,bf as _r,br as pn,b as at$1,bu as ml,cz as A,bg as Ci,cl as Vi,dj as lt$1,q as qo,U as Uw,a5 as q0,av as K0,ab as Oe,bw as Gw,bh as Bt$1,bv as pl,bp as de,ba as Se,cG as mt,by as Qr,dk as Me,u as ue,T as id,ag as Ql,bD as hl,bC as il,bR as eD,bj as Nw,bE as fn,bF as oD,bG as ir,m as mh,D as ch,aG as lw,al as Sh,bx as z0,ac as Er,a6 as U0,r as r$1,bz as tl,b9 as Nl,aD as Nr,dl as Zr,bB as Xf,Z as ZE,a3 as Ah,a4 as Th,Y as pf,a0 as bd,a1 as sp,a2 as fp,au as w5,aj as $D,l as _D,aw as rh,aT as Vw,M as MD,bl as wo,bJ as Dh,bI as zD,dm as tp,dn as Ai,dp as Zl,dq as np,bb as er,f as rl,dr as jc,ds as td,ai as ly,aE as J0,x as xD,aO as SD,B as AD,bk as St$1,ax as Eh,an as WD,ao as GD,bK as W0,H as HD,aH as QD,w as lh,j as _i,J as Jc,o as gI,ak as UD,G as FD,O as Fu,Q as ju,k as iE,y as aE,ck as $h,dt as Cw,I as Iw,L as Lh,n as uh,E as Aw,du as bw,z as rl$1}from'./main-CL3L2RPE.js';var nt=new A("");var ht=["otpInput"];function gt(t,o){if(t&1){let e=FD();_i(0,"input",2,0),mh("input",function(i){let r=Fu(e).$index,l=HD();return ju(l.onInput(r,i))})("focus",function(i){Fu(e);let r=HD();return ju(r.onFocus(i))})("keydown",function(i){let r=Fu(e).$index,l=HD();return ju(l.onKeyDown(r,i))})("paste",function(i){let r=Fu(e).$index,l=HD();return ju(l.onPaste(r,i))}),Jc(),iE();}if(t&2){let e=o.$implicit,n=HD();lh("nzSize",n.nzSize)("formControl",e)("nzStatus",n.nzStatus),aE();}}var _t=[[["","nzInputAddonBefore",""]],[["","nzInputAddonAfter",""]],[["","nzInputSearchEnterButton",""]],[["","nzInputPrefix",""]],[["","nzInputSuffix",""]],[["","nzInputClearIcon",""]],[["","nz-input",""]]],vt=["[nzInputAddonBefore]","[nzInputAddonAfter]","[nzInputSearchEnterButton]","[nzInputPrefix]","[nzInputSuffix]","[nzInputClearIcon]","[nz-input]"],Ct=t=>({$implicit:t});function zt(t,o){}function bt(t,o){if(t&1&&rh(0,zt,0,0,"ng-template",4),t&2){HD();let e=QD(4);lh("ngTemplateOutlet",e);}}function yt(t,o){}function Nt(t,o){if(t&1&&rh(0,yt,0,0,"ng-template",4),t&2){HD();let e=QD(8);lh("ngTemplateOutlet",e);}}function Dt(t,o){}function xt(t,o){if(t&1&&rh(0,Dt,0,0,"ng-template",4),t&2){HD();let e=QD(10);lh("ngTemplateOutlet",e);}}function Mt(t,o){if(t&1&&Iw(0),t&2){let e=HD(3);Lh(e.nzAddonBefore());}}function St(t,o){t&1&&(_i(0,"span",6),UD(1,0,null,Mt,1,1),Jc());}function It(t,o){}function wt(t,o){if(t&1&&rh(0,It,0,0,"ng-template",4),t&2){HD(2);let e=QD(6);lh("ngTemplateOutlet",e);}}function At(t,o){}function Et(t,o){if(t&1&&rh(0,At,0,0,"ng-template",4),t&2){HD(2);let e=QD(10);lh("ngTemplateOutlet",e);}}function Tt(t,o){if(t&1&&Iw(0),t&2){HD(2);let e=bw(0);rl$1(" ",e," ");}}function Ft(t,o){t&1&&uh(0,"nz-icon",9);}function Vt(t,o){if(t&1&&_D(0,Tt,1,1)(1,Ft,1,0,"nz-icon",9),t&2){HD();let e=bw(0);MD(e&&typeof e=="string"?0:1);}}function Rt(t,o){if(t&1){let e=FD();$h(0),_i(1,"button",8),mh("click",function(i){Fu(e);let r=HD(3);return ju(r.inputSearchDir.search(i))}),UD(2,2,null,Vt,2,1),Jc();}if(t&2){let e=HD(3),n=Cw(e.inputSearchDir.nzEnterButton()),i=e.inputSearchEnterButton()??n!==false;gI(),lh("nzType",i?"primary":"default")("nzSize",e.size())("nzLoading",e.inputSearchDir.nzLoading());}}function kt(t,o){if(t&1&&Iw(0),t&2){let e=HD(3);Lh(e.nzAddonAfter());}}function Pt(t,o){if(t&1&&(_i(0,"span",6),_D(1,Rt,4,4,"button",7),UD(2,1,null,kt,1,1),Jc()),t&2){let e=HD(2);gI(),MD(e.inputSearchDir?1:-1);}}function Ot(t,o){if(t&1&&(_i(0,"span",5),_D(1,St,3,0,"span",6),_D(2,wt,1,1,null,4)(3,Et,1,1,null,4),_D(4,Pt,4,1,"span",6),Jc()),t&2){let e=HD();gI(),MD(e.hasAddonBefore()?1:-1),gI(),MD(e.hasAffix()?2:3),gI(2),MD(e.hasAddonAfter()?4:-1);}}function Bt(t,o){}function Wt(t,o){if(t&1&&(_i(0,"span"),rh(1,Bt,0,0,"ng-template",4),Jc()),t&2){let e=HD(),n=QD(8);lw(e.affixWrapperClass()),gI(),lh("ngTemplateOutlet",n);}}function Lt(t,o){if(t&1&&Iw(0),t&2){let e=HD(3);Lh(e.nzPrefix());}}function jt(t,o){t&1&&(_i(0,"span",10),UD(1,3,null,Lt,1,1),Jc());}function $t(t,o){}function qt(t,o){t&1&&uh(0,"nz-icon",17);}function Ut(t,o){if(t&1){let e=FD();_i(0,"span",16),mh("click",function(i){Fu(e);let r=HD(3);return r.clear(),ju(r.inputSearchDir?.search(i,"clear"))}),UD(1,5,null,qt,1,0),Jc();}if(t&2){let e=HD(3);Sh("ant-input-clear-icon-has-suffix",e.nzSuffix()||e.suffix()||e.hasFeedback()||e.inputPasswordDir?.nzVisibilityToggle())("ant-input-clear-icon-hidden",!e.inputDir().value()||e.disabled()||e.readOnly());}}function Ht(t,o){if(t&1&&(_i(0,"span",13),Iw(1),Jc()),t&2){let e=HD(3);gI(),Lh(e.dataCount());}}function Gt(t,o){}function Qt(t,o){if(t&1&&rh(0,Gt,0,0,"ng-template",19),t&2){let e=HD(4);lh("ngTemplateOutlet",o)("ngTemplateOutletContext",Aw(2,Ct,e.inputPasswordDir.nzVisible()));}}function Zt(t,o){if(t&1&&uh(0,"nz-icon",20),t&2){let e=HD(4);lh("nzType",e.inputPasswordDir.nzVisible()?"eye":"eye-invisible");}}function Kt(t,o){if(t&1){let e=FD();_i(0,"span",18),mh("click",function(){Fu(e);let i=HD(3);return ju(i.inputPasswordDir.toggleVisible())}),_D(1,Qt,1,4,null,19)(2,Zt,1,1,"nz-icon",20),Jc();}if(t&2){let e,n=HD(3);gI(),MD((e=n.inputPasswordIconTmpl())?1:2,e);}}function Xt(t,o){if(t&1&&Iw(0),t&2){let e=HD(3);Lh(e.nzSuffix());}}function Yt(t,o){if(t&1&&uh(0,"nz-form-item-feedback-icon",15),t&2){let e=HD(3);lh("status",e.status());}}function Jt(t,o){if(t&1&&(_i(0,"span",11),_D(1,Ut,3,4,"span",12),_D(2,Ht,2,1,"span",13),_D(3,Kt,3,1,"span",14),UD(4,4,null,Xt,1,1),_D(6,Yt,1,1,"nz-form-item-feedback-icon",15),Jc()),t&2){let e=HD(2);gI(),MD(e.nzAllowClear()?1:-1),gI(),MD(e.nzShowCount()?2:-1),gI(),MD(e.inputPasswordDir&&e.inputPasswordDir.nzVisibilityToggle()?3:-1),gI(3),MD(e.hasFeedback()&&e.status()?6:-1);}}function en(t,o){if(t&1&&(_D(0,jt,3,0,"span",10),rh(1,$t,0,0,"ng-template",4),_D(2,Jt,7,4,"span",11)),t&2){let e=HD(),n=QD(10);MD(e.hasPrefix()?0:-1),gI(),lh("ngTemplateOutlet",n),gI(),MD(e.hasSuffix()?2:-1);}}function tn(t,o){t&1&&UD(0,6);}var it=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275dir=eD({type:t,selectors:[["","nzInputAddonBefore",""]]})}return t})(),rt=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275dir=eD({type:t,selectors:[["","nzInputAddonAfter",""]]})}return t})(),ot=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275dir=eD({type:t,selectors:[["","nzInputPrefix",""]]})}return t})(),at=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275dir=eD({type:t,selectors:[["","nzInputSuffix",""]]})}return t})(),lt=(()=>{class t{nzVisibilityToggle=q0(true);nzVisible=W0(false);toggleVisible(){this.nzVisible.update(e=>!e);}static \u0275fac=function(n){return new(n||t)};static \u0275dir=eD({type:t,selectors:[["nz-input-password"]],hostAttrs:[1,"ant-input-password"],inputs:{nzVisibilityToggle:[1,"nzVisibilityToggle"],nzVisible:[1,"nzVisible"]},outputs:{nzVisible:"nzVisibleChange"},exportAs:["nzInputPassword"]})}return t})(),st=(()=>{class t{static ngTemplateContextGuard(e,n){return true}static \u0275fac=function(n){return new(n||t)};static \u0275dir=eD({type:t,selectors:[["","nzInputPasswordIcon",""]]})}return t})(),dt=new A(""),ct=new A(""),nn="ant-input",z=(()=>{class t{elementRef=C(_r);compactSize=C(pn,{optional:true});destroyRef=C(at$1);nzFormStatusService=C(ml,{optional:true});inputWrapper=C(dt,{host:true,optional:true});focusMonitor=C(Ci);hostView=C(Vi);inputPasswordDir=C(lt,{host:true,optional:true});inputSearchDir=C(ct,{host:true,optional:true});formField=C(nt,{self:true,optional:true});ngControl=C(lt$1,{self:true,optional:true});nativeValue=qo(this.elementRef.nativeElement.value);value=Uw(()=>this.formField?String(this.formField.state().value()??""):this.nativeValue());nzVariant=q0();nzSize=q0("default");nzStatus=q0("");disabled=q0(false,{transform:K0});readonly=q0(false,{transform:K0});controlDisabled=qo(false);finalDisabled=Uw(()=>this.formField?this.formField.state().disabled():this.ngControl?this.controlDisabled():this.disabled());dir=C(Oe).valueSignal;size=Gw(this.nzSize);formSize=C(Bt$1,{optional:true});formVariant=C(pl,{optional:true});status=this.nzFormStatusService?de(this.nzFormStatusService.formStatusChanges.pipe(Se(e=>e.status)),{initialValue:""}):this.nzStatus;hasFeedback=de(this.nzFormStatusService?.formStatusChanges.pipe(Se(e=>e.hasFeedback))??mt,{initialValue:false});classes=Uw(()=>Qr(nn,this.status(),this.hasFeedback()));type=Uw(()=>this.inputPasswordDir?this.inputPasswordDir.nzVisible()?"text":"password":this.inputSearchDir?"search":this.elementRef.nativeElement.getAttribute("type")||"text");focused=qo(false);finalSize=Uw(()=>this.formSize?.()?this.formSize():this.compactSize?this.compactSize():this.size());finalVariant=Uw(()=>this.nzVariant()||this.formVariant?.()||"outlined");feedbackRef=null;disabled$=Me(this.finalDisabled);constructor(){this.destroyRef.onDestroy(()=>{this.focusMonitor.stopMonitoring(this.elementRef);}),this.focusMonitor.monitor(this.elementRef,false).pipe(ue()).subscribe(e=>this.focused.set(!!e)),id(()=>{this.renderFeedbackIcon();});}ngOnInit(){this.ngControl?.statusChanges?.pipe(Ql(null),ue(this.destroyRef)).subscribe(()=>{this.controlDisabled.set(!!this.ngControl.disabled);}),this.ngControl?.valueChanges?.pipe(Ql(this.ngControl?.control?.value),ue(this.destroyRef)).subscribe(e=>{this.nativeValue.set(e??"");});}onInput(e){this.nativeValue.set(e.target.value);}renderFeedbackIcon(){if(!this.status()||!this.hasFeedback()||this.inputWrapper){this.hostView.clear(),this.feedbackRef=null;return}this.feedbackRef=this.feedbackRef||this.hostView.createComponent(hl),this.feedbackRef.location.nativeElement.classList.add("ant-input-suffix"),this.feedbackRef.setInput("status",this.status());}focus(e){il(this.elementRef.nativeElement,e);}blur(){this.elementRef.nativeElement.blur();}static \u0275fac=function(n){return new(n||t)};static \u0275dir=eD({type:t,selectors:[["input","nz-input",""],["textarea","nz-input",""]],hostAttrs:[1,"ant-input"],hostVars:23,hostBindings:function(n,i){n&1&&mh("input",function(l){return i.onInput(l)}),n&2&&(ch("type",i.type())("disabled",i.finalDisabled()||null)("readonly",i.readonly()||null),lw(i.classes()),Sh("ant-input-disabled",i.finalDisabled())("ant-input-outlined",i.finalVariant()==="outlined")("ant-input-borderless",i.finalVariant()==="borderless")("ant-input-filled",i.finalVariant()==="filled")("ant-input-underlined",i.finalVariant()==="underlined")("ant-input-lg",i.finalSize()==="large")("ant-input-sm",i.finalSize()==="small")("ant-input-rtl",i.dir()==="rtl")("ant-input-focused",i.focused()));},inputs:{nzVariant:[1,"nzVariant"],nzSize:[1,"nzSize"],nzStatus:[1,"nzStatus"],disabled:[1,"disabled"],readonly:[1,"readonly"]},exportAs:["nzInput"],features:[Nw([{provide:fn,useValue:"input"}]),oD([ir])]})}return t})(),rn=(()=>{class t{formBuilder=C(tp);destroyRef=C(at$1);otpInputs;nzLength=6;nzSize="default";disabled=false;nzStatus="";nzFormatter=e=>e;nzMask=null;otpArray;internalValue=[];onChangeCallback;onTouched=()=>{};constructor(){this.createFormArray();}ngOnChanges(e){e.nzLength?.currentValue&&this.createFormArray(),e.disabled&&this.setDisabledState(this.disabled);}onInput(e,n){let i=n.target,r=this.otpInputs.toArray()[e+1];i.value&&r?r.nativeElement.focus():r||this.selectInputBox(e);}onFocus(e){e.target.select();}onKeyDown(e,n){let i=this.otpInputs.toArray()[e-1];n.keyCode===8?(n.preventDefault(),this.internalValue[e]="",this.otpArray.at(e).setValue("",{emitEvent:false}),i&&this.selectInputBox(e-1),this.emitValue()):n.keyCode===37?(n.preventDefault(),this.selectInputBox(e-1)):n.keyCode===39&&(n.preventDefault(),this.selectInputBox(e+1));}writeValue(e){if(!e){this.otpArray.reset();return}let n=e.split("");this.internalValue=n,n.forEach((i,r)=>{let l=this.nzFormatter(i),G=this.nzMask?this.nzMask:l;this.otpArray.at(r).setValue(G,{emitEvent:false});});}registerOnChange(e){this.onChangeCallback=e;}registerOnTouched(e){this.onTouched=e;}setDisabledState(e){e?this.otpArray.disable():this.otpArray.enable();}onPaste(e,n){let i=n.clipboardData?.getData("text")||"";if(!i)return;let r=e;for(let l of i.split(""))if(r<this.nzLength){let G=this.nzFormatter(l);this.internalValue[r]=l;let pt=this.nzMask?this.nzMask:G;this.otpArray.at(r).setValue(pt,{emitEvent:false}),r++;}else break;n.preventDefault(),this.selectInputBox(r),this.emitValue();}createFormArray(){this.otpArray=this.formBuilder.array([]),this.internalValue=new Array(this.nzLength).fill("");for(let e=0;e<this.nzLength;e++){let n=this.formBuilder.nonNullable.control("",[Ai.required]);n.valueChanges.pipe(Zl(i=>{let r=this.nzFormatter(i);this.internalValue[e]=r,n.setValue(this.nzMask??r,{emitEvent:false}),this.emitValue();}),ue(this.destroyRef)).subscribe(),this.otpArray.push(n);}}emitValue(){let e=this.internalValue.join("");this.onChangeCallback&&this.onChangeCallback(e);}selectInputBox(e){let n=this.otpInputs.toArray();e<=0&&(e=0),e>=n.length&&(e=n.length-1),n[e].nativeElement.select();}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ZE({type:t,selectors:[["nz-input-otp"]],viewQuery:function(n,i){if(n&1&&Eh(ht,5),n&2){let r;WD(r=GD())&&(i.otpInputs=r);}},hostAttrs:[1,"ant-otp"],inputs:{nzLength:[2,"nzLength","nzLength",J0],nzSize:"nzSize",disabled:[2,"disabled","disabled",K0],nzStatus:"nzStatus",nzFormatter:"nzFormatter",nzMask:"nzMask"},exportAs:["nzInputOtp"],features:[Nw([{provide:St$1,useExisting:wo(()=>t),multi:true}]),ly],decls:2,vars:0,consts:[["otpInput",""],["nz-input","","type","text","maxlength","1","size","1",1,"ant-otp-input",3,"nzSize","formControl","nzStatus"],["nz-input","","type","text","maxlength","1","size","1",1,"ant-otp-input",3,"input","focus","keydown","paste","nzSize","formControl","nzStatus"]],template:function(n,i){n&1&&xD(0,gt,2,3,"input",1,SD),n&2&&AD(i.otpArray.controls);},dependencies:[z,np,er,rl,jc,td],encapsulation:2})}return t})(),on=(()=>{class t{inputDir=z0.required(z);inputRef=z0.required(z,{read:_r});nzEnterButton=q0(false);nzLoading=q0(false,{transform:K0});nzSearch=U0();size=Uw(()=>this.inputDir().nzSize());search(e,n="input"){this.nzLoading()||this.nzSearch.emit({value:this.inputRef().nativeElement.value,event:e,source:n});}onEnter(e){e.target===this.inputRef().nativeElement&&this.search(e);}static \u0275fac=function(n){return new(n||t)};static \u0275dir=eD({type:t,selectors:[["nz-input-search"]],contentQueries:function(n,i,r){n&1&&Dh(r,i.inputDir,z,5)(r,i.inputRef,z,5,_r),n&2&&zD(2);},hostAttrs:[1,"ant-input-search"],hostVars:6,hostBindings:function(n,i){n&1&&mh("keydown.enter",function(l){return i.onEnter(l)}),n&2&&Sh("ant-input-search-large",i.size()==="large")("ant-input-search-small",i.size()==="small")("ant-input-search-with-button",i.nzEnterButton()!==false);},inputs:{nzEnterButton:[1,"nzEnterButton"],nzLoading:[1,"nzLoading"]},outputs:{nzSearch:"nzSearch"},exportAs:["nzInputSearch"],features:[Nw([{provide:ct,useExisting:wo(()=>t)}])]})}return t})(),ut=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275dir=eD({type:t,selectors:[["","nzInputSearchEnterButton",""]]})}return t})(),an=(()=>{class t{focusMonitor=C(Ci);inputPasswordDir=C(lt,{self:true,optional:true});inputSearchDir=C(on,{self:true,optional:true});inputRef=z0.required(z,{read:_r});inputDir=z0.required(z);prefix=z0(ot);suffix=z0(at);addonBefore=z0(it);addonAfter=z0(rt);inputPasswordIconTmpl=z0(st,{read:Er});inputSearchEnterButton=z0(ut);nzAllowClear=q0(false,{transform:K0});nzPrefix=q0();nzSuffix=q0();nzAddonBefore=q0();nzAddonAfter=q0();nzShowCount=q0(false,{transform:K0});nzCount=q0();nzClear=U0();size=Uw(()=>this.inputDir().nzSize());variant=Uw(()=>this.inputDir().nzVariant());disabled=Uw(()=>this.inputDir().finalDisabled());readOnly=Uw(()=>this.inputDir().readonly());status=Uw(()=>this.inputDir().status());hasFeedback=Uw(()=>this.inputDir().hasFeedback());hasPrefix=Uw(()=>!!this.nzPrefix()||!!this.prefix());hasSuffix=Uw(()=>!!this.nzSuffix()||!!this.suffix()||this.nzAllowClear()||this.hasFeedback()||this.nzShowCount()||this.inputPasswordDir);hasAffix=Uw(()=>this.hasPrefix()||this.hasSuffix());hasAddonBefore=Uw(()=>!!this.nzAddonBefore()||!!this.addonBefore());hasAddonAfter=Uw(()=>!!this.nzAddonAfter()||!!this.addonAfter()||!!this.inputSearchDir);hasAddon=Uw(()=>this.hasAddonBefore()||this.hasAddonAfter());compactSize=C(pn,{optional:true});dir=C(Oe).valueSignal;focused=qo(false);isTextarea=Uw(()=>this.inputRef().nativeElement instanceof HTMLTextAreaElement);finalSize=Uw(()=>this.compactSize?this.compactSize():this.size());class=Uw(()=>this.hasAddon()?this.groupWrapperClass():this.hasAffix()?this.affixWrapperClass():null);affixWrapperClass=Uw(()=>r$1(r$1({"ant-input-affix-wrapper":true,"ant-input-affix-wrapper-lg":this.finalSize()==="large","ant-input-affix-wrapper-sm":this.finalSize()==="small","ant-input-affix-wrapper-disabled":this.disabled(),"ant-input-affix-wrapper-readonly":this.readOnly(),"ant-input-affix-wrapper-focused":this.focused(),"ant-input-affix-wrapper-rtl":this.dir()==="rtl"},Qr("ant-input-affix-wrapper",this.status(),this.hasFeedback())),tl("ant-input-affix-wrapper",this.variant())));groupWrapperClass=Uw(()=>r$1(r$1({"ant-input-group-wrapper":true,"ant-input-group-wrapper-sm":this.finalSize()==="small","ant-input-group-wrapper-lg":this.finalSize()==="large","ant-input-group-wrapper-rtl":this.dir()==="rtl"},Qr("ant-input-group-wrapper",this.status(),this.hasFeedback())),tl("ant-input-group-wrapper",this.variant())));inputValue=de(Me(this.inputDir).pipe(Nl(e=>{let n=e.ngControl;return n?(n.valueChanges??mt).pipe(Ql(n.value)):mt})));formattedValue=Uw(()=>{let e=this.nzCount(),n=this.inputValue(),i=e?.max??0,r=Nr(n)?String(n):"",l=r;return e?.exceedFormatter&&(l=e.exceedFormatter(r,{max:i})),l});computedCount=Uw(()=>{let e=this.nzCount(),n=this.formattedValue(),i=n.length;return e?.strategy&&(i=e.strategy(n)),i});dataCount=Uw(()=>{let e=this.nzCount(),n=this.computedCount(),i=e?.max;return `${n}${i?`/${i}`:""}`});isOutOfRange=Uw(()=>{let n=this.nzCount()?.max;return Zr(n)?this.computedCount()>n:false});constructor(){let e=C(at$1);Xf(()=>{let n=this.inputRef();this.focusMonitor.monitor(n).pipe(ue(e)).subscribe(i=>{this.focused.set(!!i);}),e.onDestroy(()=>{this.focusMonitor.stopMonitoring(n);});}),id(()=>{if(this.nzCount()){let n=this.inputValue(),i=this.formattedValue();Nr(n)&&i!==n&&this.inputDir().ngControl?.control?.setValue(i);}});}clear(){this.inputDir().ngControl?.control?.setValue(""),this.nzClear.emit();}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=ZE({type:t,selectors:[["nz-input-wrapper"],["nz-input-password"],["nz-input-search"]],contentQueries:function(n,i,r){n&1&&Dh(r,i.inputRef,z,5,_r)(r,i.inputDir,z,5)(r,i.prefix,ot,5)(r,i.suffix,at,5)(r,i.addonBefore,it,5)(r,i.addonAfter,rt,5)(r,i.inputPasswordIconTmpl,st,5,Er)(r,i.inputSearchEnterButton,ut,5),n&2&&zD(8);},hostVars:8,hostBindings:function(n,i){n&2&&(lw(i.class()),Sh("ant-input-disabled",i.disabled())("ant-input-out-of-range",i.nzShowCount()&&i.isOutOfRange())("ant-input-affix-wrapper-textarea-with-clear-btn",i.nzAllowClear()&&i.isTextarea()));},inputs:{nzAllowClear:[1,"nzAllowClear"],nzPrefix:[1,"nzPrefix"],nzSuffix:[1,"nzSuffix"],nzAddonBefore:[1,"nzAddonBefore"],nzAddonAfter:[1,"nzAddonAfter"],nzShowCount:[1,"nzShowCount"],nzCount:[1,"nzCount"]},outputs:{nzClear:"nzClear"},exportAs:["nzInputWrapper"],features:[Nw([{provide:fn,useValue:"input"},{provide:dt,useExisting:wo(()=>t)}]),oD([ir])],ngContentSelectors:vt,decls:11,vars:1,consts:[["inputWithAddonInner",""],["inputWithAffix",""],["inputWithAffixInner",""],["input",""],[3,"ngTemplateOutlet"],[1,"ant-input-wrapper","ant-input-group"],[1,"ant-input-group-addon"],["nz-button","","type","button",1,"ant-input-search-button",3,"nzType","nzSize","nzLoading"],["nz-button","","type","button",1,"ant-input-search-button",3,"click","nzType","nzSize","nzLoading"],["nzType","search","nzTheme","outline"],[1,"ant-input-prefix"],[1,"ant-input-suffix"],["role","button","tabindex","-1",1,"ant-input-clear-icon",3,"ant-input-clear-icon-has-suffix","ant-input-clear-icon-hidden"],[1,"ant-input-show-count-suffix"],["role","button","tabindex","-1",1,"ant-input-password-icon"],[3,"status"],["role","button","tabindex","-1",1,"ant-input-clear-icon",3,"click"],["nzType","close-circle","nzTheme","fill"],["role","button","tabindex","-1",1,"ant-input-password-icon",3,"click"],[3,"ngTemplateOutlet","ngTemplateOutletContext"],["nzTheme","outline",3,"nzType"]],template:function(n,i){n&1&&($D(_t),_D(0,bt,1,1,null,4)(1,Nt,1,1,null,4)(2,xt,1,1,null,4),rh(3,Ot,5,3,"ng-template",null,0,Vw)(5,Wt,2,3,"ng-template",null,1,Vw)(7,en,3,3,"ng-template",null,2,Vw)(9,tn,1,0,"ng-template",null,3,Vw)),n&2&&MD(i.hasAddon()?0:i.hasAffix()?1:2);},dependencies:[Ah,Th,pf,bd,sp,fp,hl,w5],encapsulation:2})}return t})();var ai=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=KE({type:t});static \u0275inj=fu({imports:[an,rn]})}return t})();export{ai as a,at as b,it as i,ot as o,rt as r,z};
@@ -0,0 +1 @@
1
+ import {U}from'./chunk-CaN6B9M_.js';import {f}from'./chunk-CN3wKZOB.js';import {L as Lt}from'./chunk-B1ctXsPE.js';import {y,S}from'./chunk-C9wrgS_q.js';import'./chunk-Darhf4Mc.js';import {W,I}from'./chunk-ChofVXdQ.js';import'./chunk-CID_DKHO.js';import'./chunk-CQOTdAZb.js';import {C,a as C1,$,V as Ve,b as at$1,S as p,q as qo,u as ue,T as id,W as qw,c as bi,Z as ZE,d as $8,X as M5,v as v3,Y as pf,a0 as bd,a1 as sp,a2 as fp,K as Kt,j as _i,l as _D,J as Jc,o as gI,M as MD,I as Iw,P as Pw,L as Lh,p as Fw,H as HD,n as uh,w as lh,az as jw,E as Aw,G as FD,m as mh,z as rl,O as Fu,Q as ju}from'./main-CL3L2RPE.js';var Z=i=>({count:i});function tt(i,p){i&1&&(_i(0,"p",1),Iw(1),Pw(2,"transloco"),Jc()),i&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function et(i,p){if(i&1&&(_i(0,"p",2),Iw(1),Jc()),i&2){let t=HD();gI(),Lh(t.loadError());}}function it(i,p){if(i&1){let t=FD();_i(0,"button",15),mh("click",function(){Fu(t);let u=HD(2);return ju(u.cancelBatch())}),Iw(1),Pw(2,"transloco"),Jc();}if(i&2){let t=HD(2);lh("disabled",t.cancelling()),gI(),rl(" ",Fw(2,2,t.cancelling()?"batches.detail.cancelling":"batches.detail.cancel")," ");}}function nt(i,p){if(i&1&&(_i(0,"p",12),Iw(1),Jc()),i&2){let t=HD(2);gI(),Lh(t.actionError());}}function at(i,p){if(i&1&&(_i(0,"header",3)(1,"div")(2,"a",4),Iw(3),Pw(4,"transloco"),Jc(),_i(5,"h1",5),Iw(6),Jc(),_i(7,"p",6)(8,"nz-tag",7),Iw(9),Pw(10,"transloco"),Jc(),_i(11,"span",8),Iw(12),Jc(),Iw(13," \xB7 "),_i(14,"span",9),Iw(15),Pw(16,"transloco"),Jc(),Iw(17," \xB7 "),_i(18,"span",10),Iw(19),Pw(20,"transloco"),Jc()()(),_D(21,it,3,4,"button",11),Jc(),_D(22,nt,2,1,"p",12),_i(23,"section",13)(24,"h2"),Iw(25),Pw(26,"transloco"),Jc(),uh(27,"app-job-status-table",14),Jc()),i&2){let t=p,e=HD();gI(3),Lh(Fw(4,12,"batches.detail.backHint")),gI(3),Lh(t.id),gI(2),lh("nzColor",e.batchStatusTagColor(t.status,e.theme.theme()))("ngClass",e.batchStatusTagClass(t.status,e.theme.theme())),gI(),Lh(Fw(10,14,e.statusKey(t.status))),gI(3),Lh(t.workflowId),gI(3),Lh(jw(16,16,"batches.detail.subjectCount",Aw(23,Z,t.resolvedSubjects.length))),gI(4),Lh(Fw(20,19,e.triggeredByKey(t.triggeredBy))),gI(2),MD(t.status==="running"?21:-1),gI(),MD(e.actionError()?22:-1),gI(3),Lh(Fw(26,21,"batches.detail.membersHeading")),gI(2),lh("jobs",e.memberJobs());}}var ot=3e3;function v(i){return i!=="running"}var Dt=(()=>{class i{constructor(){this.route=C(C1),this.batchesApi=C(U),this.jobsApi=C($),this.eventsService=C(f),this.transloco=C(Ve),this.destroyRef=C(at$1),this.theme=C(p),this.batchStatusTagClass=y,this.batchStatusTagColor=S,this.batch=qo(null),this.memberJobs=qo([]),this.loading=qo(true),this.loadError=qo(null),this.polling=qo(false),this.cancelling=qo(false),this.actionError=qo(null),this.eventStream=qo(null),this.pollHandle=null,this.batchId=null,this.destroyRef.onDestroy(()=>{this.stopPolling(),this.closeStream();}),this.route.paramMap.pipe(ue(this.destroyRef)).subscribe(t=>{let e=t.get("id");if(!e){this.loading.set(false),this.loadError.set(this.transloco.translate("batches.detail.loadFailed"));return}this.load(e);}),id(()=>{let t=this.eventStream();if(!t)return;let e=t.latest();e&&(e.type!=="batch_completed"&&e.type!=="batch_cancelled"||e.batchId===this.batchId&&qw(()=>{this.refreshBatch(),this.refreshMembers(),this.stopPolling(),this.closeStream();}));});}statusKey(t){return `batches.status.${t}`}triggeredByKey(t){return `batches.triggeredBy.${t}`}isPolling(){return this.polling()}cancelBatch(){let t=this.batch();!t||t.status!=="running"||this.cancelling()||(this.actionError.set(null),this.cancelling.set(true),this.batchesApi.cancel(t.id).subscribe({next:e=>{this.cancelling.set(false),this.batch.set(e),this.refreshMembers(),v(e.status)&&(this.stopPolling(),this.closeStream());},error:e=>{this.cancelling.set(false),this.actionError.set(this.errorMessage(e,this.transloco.translate("batches.errors.cancelFailed")));}}));}load(t){this.batchId=t,this.loading.set(true),this.loadError.set(null),this.stopPolling(),this.closeStream(),this.batchesApi.get(t).pipe(ue(this.destroyRef)).subscribe({next:e=>{this.batch.set(e),this.loading.set(false),this.refreshMembers(),v(e.status)||(this.startPolling(),this.eventStream.set(this.eventsService.connect({batchId:t})));},error:e=>{this.loading.set(false),this.loadError.set(this.errorMessage(e,this.transloco.translate("batches.detail.loadFailed")));}});}refreshBatch(){let t=this.batchId;t&&this.batchesApi.get(t).subscribe({next:e=>{this.batch.set(e),v(e.status)&&this.stopPolling();},error:()=>{}});}refreshMembers(){let t=this.batchId;t&&this.jobsApi.list({batchId:t}).subscribe({next:e=>this.memberJobs.set(e),error:()=>{}});}startPolling(){this.pollHandle==null&&(this.polling.set(true),this.pollHandle=setInterval(()=>{let t=this.batch();if(!t||v(t.status)){this.stopPolling();return}this.refreshMembers();},ot));}stopPolling(){this.pollHandle!=null&&(clearInterval(this.pollHandle),this.pollHandle=null),this.polling.set(false);}closeStream(){let t=this.eventStream();t&&(t.close(),this.eventStream.set(null));}errorMessage(t,e){return t instanceof bi||t instanceof Error?t.message:e}static{this.\u0275fac=function(e){return new(e||i)};}static{this.\u0275cmp=ZE({type:i,selectors:[["app-batch-detail"]],decls:4,vars:1,consts:[["data-testid","batch-detail",1,"detail-page"],["data-testid","loading"],["data-testid","load-error",1,"error"],[1,"header"],["routerLink","/views"],["data-testid","batch-id"],[1,"meta"],["data-testid","batch-status",3,"nzColor","ngClass"],["data-testid","batch-workflow"],["data-testid","batch-subjects"],["data-testid","batch-triggered-by"],["nz-button","","nzDanger","","type","button","data-testid","cancel-batch",3,"disabled"],["data-testid","action-error",1,"error"],["data-testid","batch-members",1,"members"],[3,"jobs"],["nz-button","","nzDanger","","type","button","data-testid","cancel-batch",3,"click","disabled"]],template:function(e,u){if(e&1&&(_i(0,"main",0),_D(1,tt,3,3,"p",1)(2,et,2,1,"p",2)(3,at,28,25),Jc()),e&2){let C;gI(),MD(u.loading()?1:u.loadError()?2:(C=u.batch())?3:-1,C);}},dependencies:[$8,M5,v3,pf,bd,sp,fp,W,I,Lt,Kt],styles:[".detail-page[_ngcontent-%COMP%]{padding:1.25rem 1.5rem 3rem;display:flex;flex-direction:column;gap:1rem}.header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:.25rem 0 0;font-size:1.35rem;word-break:break-all}.meta[_ngcontent-%COMP%]{margin:.35rem 0 0;color:#57534e;display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.members[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 .75rem;font-size:1.1rem}.error[_ngcontent-%COMP%]{color:#9f1239}"]});}}return i})();export{Dt as BatchDetailComponent};
@@ -0,0 +1 @@
1
+ import {o as ot}from'./chunk-C73FUXq8.js';import {_ as _n,C as Cn}from'./chunk-9iLiX6s9.js';import {C,V as Ve$1,b as at,b3 as Wn,a5 as q0,U as Uw,q as qo,r as r$1,u as ue,c as bi,Z as ZE,d as $8,e as al,bb as er,f as rl,g as $i,Y as pf,a0 as bd,a1 as sp,a2 as fp,h as ex,F as Fm,A as Am,K as Kt,j as _i,l as _D,J as Jc,al as Sh,D as ch,o as gI,M as MD,b4 as N2,aV as ix,b5 as cx,i as ie,G as FD,I as Iw,P as Pw,m as mh,L as Lh,p as Fw,z as rl$1,H as HD,k as iE,x as xD,N as ND,w as lh,y as aE,B as AD,aR as xw,n as uh,O as Fu,Q as ju}from'./main-CL3L2RPE.js';import {a as ai,z}from'./chunk-BDJQdoLK.js';import {W,I}from'./chunk-ChofVXdQ.js';import {L as Lt,u as ut,p as pc,a as as,d as dc,K as Kl,c as cc,J as Ji,l as ls}from'./chunk-CID_DKHO.js';var ze=(()=>{class t{constructor(){this.http=C(N2),this.baseUrl=`${ix.apiBaseUrl}/context-files`;}list(){return this.http.get(this.baseUrl).pipe(cx())}get(e){return this.http.get(`${this.baseUrl}/${encodeURIComponent(e)}`).pipe(cx())}create(e){return this.http.post(this.baseUrl,e).pipe(cx())}update(e,n){return this.http.patch(`${this.baseUrl}/${encodeURIComponent(e)}`,n).pipe(cx())}delete(e){return this.http.delete(`${this.baseUrl}/${encodeURIComponent(e)}`).pipe(cx())}static{this.\u0275fac=function(n){return new(n||t)};}static{this.\u0275prov=ie({token:t,factory:t.\u0275fac,providedIn:"root"});}}return t})();var Te=()=>[".md"],Ie=(t,f)=>f.id;function Fe(t,f){if(t&1){let e=FD();_i(0,"header",1)(1,"h1"),Iw(2),Pw(3,"transloco"),Jc(),_i(4,"button",4),mh("click",function(){Fu(e);let r=HD();return ju(r.openCreateForm())}),Iw(5),Pw(6,"transloco"),Jc()();}t&2&&(gI(2),Lh(Fw(3,2,"context-files.title")),gI(3),rl$1(" ",Fw(6,4,"context-files.create")," "));}function ye(t,f){t&1&&(_i(0,"p",2),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function Ne(t,f){if(t&1&&(_i(0,"p",3),Iw(1),Jc()),t&2){let e=HD();gI(),Lh(e.loadError());}}function De(t,f){if(t&1&&(_i(0,"p",5),Iw(1),Jc()),t&2){let e=HD(2);gI(),Lh(e.deleteError());}}function we(t,f){if(t&1&&(_i(0,"p",9),Iw(1),Jc()),t&2){let e=HD(3);gI(),Lh(e.saveError());}}function ke(t,f){if(t&1&&(uh(0,"nz-option",13),Pw(1,"transloco")),t&2){let e=f.$implicit,n=HD(3);lh("nzValue",e)("nzLabel",Fw(1,2,n.tierKey(e)));}}function Le(t,f){if(t&1){let e=FD();_i(0,"button",20),mh("click",function(){Fu(e);let r=HD(3);return ju(r.cancelForm())}),Iw(1),Pw(2,"transloco"),Jc();}t&2&&(gI(),rl$1(" ",Fw(2,1,"context-files.form.cancel")," "));}function Pe(t,f){if(t&1){let e=FD();_i(0,"section",6),_D(1,we,2,1,"p",9),_i(2,"label",10)(3,"span"),Iw(4),Pw(5,"transloco"),Jc(),_i(6,"input",11),mh("ngModelChange",function(r){Fu(e);let p=HD(2);return ju(p.formName.set(r))}),Jc(),iE(),Jc(),_i(7,"div",10)(8,"span"),Iw(9),Pw(10,"transloco"),Jc(),_i(11,"nz-select",12),mh("ngModelChange",function(r){Fu(e);let p=HD(2);return ju(p.formTier.set(r))}),xD(12,ke,2,4,"nz-option",13,ND),Jc(),iE(),Jc(),_i(14,"div",10)(15,"span"),Iw(16),Pw(17,"transloco"),Jc(),_i(18,"app-path-picker",14),mh("pathChange",function(r){Fu(e);let p=HD(2);return ju(p.formPath.set(r))}),Jc(),_i(19,"p",15),Iw(20),Pw(21,"transloco"),Jc()(),_i(22,"label",10)(23,"span"),Iw(24),Pw(25,"transloco"),Jc(),_i(26,"input",16),mh("ngModelChange",function(r){Fu(e);let p=HD(2);return ju(p.formDescription.set(r))}),Jc(),iE(),Jc(),_i(27,"div",17)(28,"button",18),mh("click",function(){Fu(e);let r=HD(2);return ju(r.submitForm())}),Iw(29),Pw(30,"transloco"),Jc(),_D(31,Le,3,3,"button",19),Jc()();}if(t&2){let e=HD(2);gI(),MD(e.saveError()?1:-1),gI(3),Lh(Fw(5,14,"context-files.form.name")),gI(2),lh("ngModel",e.formName()),aE(),gI(3),Lh(Fw(10,16,"context-files.form.tier")),gI(2),lh("ngModel",e.formTier()),aE(),gI(),AD(e.tiers),gI(4),Lh(Fw(17,18,"context-files.form.path")),gI(2),lh("extensions",xw(26,Te))("path",e.formPath()),gI(2),Lh(Fw(21,20,"context-files.form.pathHint")),gI(4),Lh(Fw(25,22,"context-files.form.description")),gI(2),lh("ngModel",e.formDescription()),aE(),gI(2),lh("nzLoading",e.saving()),gI(),rl$1(" ",Fw(30,24,e.editingId()?"context-files.form.save":"context-files.form.add")," "),gI(2),MD(e.inSelectionMode()?-1:31);}}function Ve(t,f){if(t&1){let e=FD();_i(0,"section",7)(1,"p"),Iw(2),Pw(3,"transloco"),Jc(),_i(4,"button",21),mh("click",function(){Fu(e);let r=HD(2);return ju(r.openCreateForm())}),Iw(5),Pw(6,"transloco"),Jc()();}t&2&&(gI(2),Lh(Fw(3,2,"context-files.emptyState")),gI(3),rl$1(" ",Fw(6,4,"context-files.create")," "));}function Be(t,f){t&1&&uh(0,"th");}function Oe(t,f){t&1&&(_i(0,"th"),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"context-files.column.actions")));}function $e(t,f){if(t&1){let e=FD();_i(0,"td")(1,"label",24),mh("nzCheckedChange",function(r){Fu(e);let p=HD().$implicit,T=HD(3);return ju(T.toggleSelected(p.id,r))}),Jc()();}if(t&2){let e=HD().$implicit,n=HD(3);gI(),lh("nzChecked",n.isSelected(e.id)),ch("data-testid","select-"+e.id);}}function Ae(t,f){if(t&1){let e=FD();_i(0,"td",23)(1,"button",25),mh("click",function(){Fu(e);let r=HD().$implicit,p=HD(3);return ju(p.openEditForm(r))}),Iw(2),Pw(3,"transloco"),Jc(),_i(4,"button",26),Pw(5,"transloco"),Pw(6,"transloco"),Pw(7,"transloco"),mh("nzOnConfirm",function(){Fu(e);let r=HD().$implicit,p=HD(3);return ju(p.deleteFile(r.id))}),Iw(8),Pw(9,"transloco"),Jc()();}if(t&2){let e=HD().$implicit;gI(),ch("data-testid","edit-"+e.id),gI(),rl$1(" ",Fw(3,7,"context-files.edit")," "),gI(2),lh("nzPopconfirmTitle",Fw(5,9,"context-files.deleteConfirm"))("nzOkText",Fw(6,11,"context-files.delete"))("nzCancelText",Fw(7,13,"common.cancel")),ch("data-testid","delete-"+e.id),gI(4),rl$1(" ",Fw(9,15,"context-files.delete")," ");}}function Ue(t,f){if(t&1&&(_i(0,"tr"),_D(1,$e,2,2,"td"),_i(2,"td"),Iw(3),Jc(),_i(4,"td")(5,"nz-tag"),Iw(6),Pw(7,"transloco"),Jc()(),_i(8,"td",22),Iw(9),Jc(),_i(10,"td"),Iw(11),Jc(),_D(12,Ae,10,17,"td",23),Jc()),t&2){let e=f.$implicit,n=HD(3);ch("data-testid","context-file-"+e.id),gI(),MD(n.inSelectionMode()?1:-1),gI(),ch("data-testid","name-"+e.id),gI(),Lh(e.name),gI(2),ch("data-testid","tier-"+e.id),gI(),Lh(Fw(7,11,n.tierKey(e.tier))),gI(2),ch("data-testid","path-"+e.id),gI(),Lh(e.path),gI(),ch("data-testid","description-"+e.id),gI(),Lh(e.description),gI(),MD(n.inSelectionMode()?-1:12);}}function Re(t,f){if(t&1&&(_i(0,"nz-table",8)(1,"thead")(2,"tr"),_D(3,Be,1,0,"th"),_i(4,"th"),Iw(5),Pw(6,"transloco"),Jc(),_i(7,"th"),Iw(8),Pw(9,"transloco"),Jc(),_i(10,"th"),Iw(11),Pw(12,"transloco"),Jc(),_i(13,"th"),Iw(14),Pw(15,"transloco"),Jc(),_D(16,Oe,3,3,"th"),Jc()(),_i(17,"tbody"),xD(18,Ue,13,13,"tr",null,Ie),Jc()()),t&2){let e=HD(2);lh("nzData",e.files())("nzFrontPagination",false)("nzShowPagination",false),gI(3),MD(e.inSelectionMode()?3:-1),gI(2),Lh(Fw(6,9,"context-files.column.name")),gI(3),Lh(Fw(9,11,"context-files.column.tier")),gI(3),Lh(Fw(12,13,"context-files.column.path")),gI(3),Lh(Fw(15,15,"context-files.column.description")),gI(2),MD(e.inSelectionMode()?-1:16),gI(2),AD(e.files());}}function je(t,f){if(t&1&&(_D(0,De,2,1,"p",5),_D(1,Pe,32,27,"section",6),_D(2,Ve,7,6,"section",7)(3,Re,20,17,"nz-table",8)),t&2){let e=HD();MD(e.deleteError()?0:-1),gI(),MD(e.inSelectionMode()||e.formOpen()?1:-1),gI(),MD(e.files().length===0&&!e.inSelectionMode()&&!e.formOpen()?2:3);}}var Ke=["user","organization","project"],St=(()=>{class t{constructor(){this.filesApi=C(ze),this.transloco=C(Ve$1),this.destroyRef=C(at),this.modalData=C(Wn,{optional:true}),this.selectionModeInput=q0(false),this.inSelectionMode=Uw(()=>this.modalData?.selectionMode??this.selectionModeInput()),this.files=qo([]),this.loading=qo(true),this.loadError=qo(null),this.saveError=qo(null),this.deleteError=qo(null),this.saving=qo(false),this.formOpen=qo(false),this.editingId=qo(null),this.selectedIds=qo([...this.modalData?.selectedIds??[]]),this.formName=qo(""),this.formTier=qo("user"),this.formPath=qo(""),this.formDescription=qo(""),this.tiers=Ke,this.reload();}currentSelectedIds(){return this.selectedIds()}tierKey(e){return `context-files.tier.${e}`}isSelected(e){return this.selectedIds().includes(e)}toggleSelected(e,n){this.selectedIds.update(r=>n?r.includes(e)?r:[...r,e]:r.filter(p=>p!==e));}openCreateForm(){this.editingId.set(null),this.formName.set(""),this.formTier.set("user"),this.formPath.set(""),this.formDescription.set(""),this.saveError.set(null),this.formOpen.set(true);}openEditForm(e){this.editingId.set(e.id),this.formName.set(e.name),this.formTier.set(e.tier),this.formPath.set(e.path),this.formDescription.set(e.description??""),this.saveError.set(null),this.formOpen.set(true);}cancelForm(){this.formOpen.set(false),this.editingId.set(null),this.saveError.set(null);}submitForm(){if(this.saving())return;this.saveError.set(null),this.saving.set(true);let e=r$1({name:this.formName().trim(),tier:this.formTier(),path:this.formPath().trim()},this.formDescription().trim()?{description:this.formDescription().trim()}:{description:void 0}),n=this.editingId();(n?this.filesApi.update(n,e):this.filesApi.create(e)).pipe(ue(this.destroyRef)).subscribe({next:p=>{this.saving.set(false),this.formOpen.set(false),this.editingId.set(null),this.files.update(T=>[...T.filter(N=>N.id!==p.id),p].sort((N,Ee)=>N.name.localeCompare(Ee.name))),this.inSelectionMode()&&!this.isSelected(p.id)&&this.selectedIds.update(T=>[...T,p.id]),this.formName.set(""),this.formTier.set("user"),this.formPath.set(""),this.formDescription.set("");},error:p=>{this.saving.set(false),this.saveError.set(this.errorMessage(p,this.transloco.translate("context-files.saveFailed")));}});}deleteFile(e){this.deleteError.set(null),this.filesApi.delete(e).pipe(ue(this.destroyRef)).subscribe({next:()=>{this.files.update(n=>n.filter(r=>r.id!==e)),this.selectedIds.update(n=>n.filter(r=>r!==e));},error:n=>{this.deleteError.set(this.errorMessage(n,this.transloco.translate("context-files.deleteFailed")));}});}reload(){this.loading.set(true),this.loadError.set(null),this.filesApi.list().pipe(ue(this.destroyRef)).subscribe({next:e=>{this.files.set(e),this.loading.set(false);},error:e=>{this.loading.set(false),this.loadError.set(this.errorMessage(e,this.transloco.translate("context-files.loadFailed")));}});}errorMessage(e,n){return e instanceof bi||e instanceof Error?e.message:n}static{this.\u0275fac=function(n){return new(n||t)};}static{this.\u0275cmp=ZE({type:t,selectors:[["app-context-file-list"]],inputs:{selectionModeInput:[1,"selectionModeInput"]},decls:5,vars:5,consts:[[1,"context-file-list"],[1,"header"],["data-testid","loading"],["data-testid","load-error",1,"error"],["nz-button","","nzType","primary","type","button","data-testid","create-context-file",3,"click"],["data-testid","delete-error",1,"error"],["data-testid","context-file-form",1,"form"],["data-testid","empty-state",1,"empty"],["data-testid","context-file-items",3,"nzData","nzFrontPagination","nzShowPagination"],["data-testid","save-error",1,"error"],[1,"field"],["nz-input","","data-testid","context-file-name",3,"ngModelChange","ngModel"],["data-testid","context-file-tier",3,"ngModelChange","ngModel"],[3,"nzValue","nzLabel"],["mode","files",3,"pathChange","extensions","path"],[1,"hint"],["nz-input","","data-testid","context-file-description",3,"ngModelChange","ngModel"],[1,"form-actions"],["nz-button","","nzType","primary","type","button","data-testid","context-file-submit",3,"click","nzLoading"],["nz-button","","type","button","data-testid","context-file-cancel"],["nz-button","","type","button","data-testid","context-file-cancel",3,"click"],["nz-button","","nzType","primary","type","button","data-testid","empty-create",3,"click"],[1,"path-cell"],[1,"actions"],["nz-checkbox","",3,"nzCheckedChange","nzChecked"],["nz-button","","nzType","link","type","button",3,"click"],["nz-button","","nzType","link","nzDanger","","type","button","nz-popconfirm","",3,"nzOnConfirm","nzPopconfirmTitle","nzOkText","nzCancelText"]],template:function(n,r){n&1&&(_i(0,"div",0),_D(1,Fe,7,6,"header",1),_D(2,ye,3,3,"p",2)(3,Ne,2,1,"p",3)(4,je,4,3),Jc()),n&2&&(Sh("list-page",!r.inSelectionMode()),ch("data-testid",r.inSelectionMode()?"context-file-picker":"context-files-manage"),gI(),MD(r.inSelectionMode()?-1:1),gI(),MD(r.loading()?2:r.loadError()?3:4));},dependencies:[$8,al,er,rl,$i,pf,bd,sp,fp,Lt,ut,ai,z,_n,Cn,ex,Fm,Am,pc,as,dc,Kl,cc,Ji,ls,W,I,ot,Kt],styles:[".list-page[_ngcontent-%COMP%]{padding:1.25rem 1.5rem 3rem;display:flex;flex-direction:column;gap:1rem}.header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.65rem;padding:.85rem;border:1px solid #e7e5e4;background:#fff}.field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem}.field[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{font-size:.85rem;color:#57534e}.hint[_ngcontent-%COMP%]{margin:.2rem 0 0;font-size:.8rem;color:#78716c}.form-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem}.empty[_ngcontent-%COMP%]{text-align:center;padding:2.5rem 1rem;border:1px dashed #d6d3d1;background:#fff9}.error[_ngcontent-%COMP%]{color:#9f1239}.actions[_ngcontent-%COMP%]{white-space:nowrap}.path-cell[_ngcontent-%COMP%]{overflow-wrap:anywhere;word-break:break-word}"]});}}return t})();export{St as S,ze as z};
@@ -0,0 +1 @@
1
+ import {f}from'./chunk-DPfPY82u.js';import {x,h,w}from'./chunk-C9wrgS_q.js';import'./chunk-Darhf4Mc.js';import {W,I}from'./chunk-ChofVXdQ.js';import {L as Lt,u as ut,p as pc,a as as,d as dc,K as Kl,c as cc,J as Ji,l as ls}from'./chunk-CID_DKHO.js';import'./chunk-CQOTdAZb.js';import {Z as ZE,n as uh,C,$,V as Ve,b as at,S as p,q as qo,U as Uw,u as ue$1,aW as Ng,c as bi,d as $8,X as M5,v as v3,Y as pf,a0 as bd,a1 as sp,a2 as fp,K as Kt,j as _i,I as Iw,P as Pw,J as Jc,m as mh,l as _D,o as gI,L as Lh,p as Fw,w as lh,z as rl,M as MD,H as HD,x as xD,B as AD,G as FD,D as ch,E as Aw,O as Fu,Q as ju}from'./main-CL3L2RPE.js';var pe=t=>["/jobs",t],ce=(t,d)=>d.id;function me(t,d){t&1&&(_i(0,"p",3),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function he(t,d){if(t&1&&(_i(0,"p",4),Iw(1),Jc()),t&2){let e=HD();gI(),Lh(e.loadError());}}function ue(t,d){if(t&1&&(_i(0,"p",5),Iw(1),Jc()),t&2){let e=HD(2);gI(),Lh(e.actionError());}}function fe(t,d){t&1&&(_i(0,"p",6),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"worktrees.activeWarning")));}function ge(t,d){t&1&&(_i(0,"p",7),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"worktrees.emptyState")));}function Ce(t,d){if(t&1){let e=FD();_i(0,"tr")(1,"td")(2,"label",9),mh("nzCheckedChange",function(l){let b=Fu(e).$implicit,le=HD(3);return ju(le.toggleSelected(b.id,l))}),Jc()(),_i(3,"td")(4,"a",10),Iw(5),Jc()(),_i(6,"td"),Iw(7),Jc(),_i(8,"td"),Iw(9),Jc(),_i(10,"td",11),Iw(11),Jc(),_i(12,"td")(13,"nz-tag",12),Iw(14),Pw(15,"transloco"),Jc()(),_i(16,"td"),Iw(17),Jc()();}if(t&2){let e=d.$implicit,i=HD(3);ch("data-testid","worktree-row-"+e.id),gI(2),lh("nzChecked",i.isSelected(e.id)),ch("data-testid","worktree-select-"+e.id),gI(2),lh("routerLink",Aw(16,pe,e.id)),ch("data-testid","worktree-job-"+e.id),gI(),Lh(e.id),gI(2),Lh(i.repoName(e)),gI(2),Lh(e.branch??"\u2014"),gI(2),Lh(e.worktreePath),gI(2),lh("nzColor",i.jobStatusTagColor(e.status,i.theme.theme()))("ngClass",i.jobStatusTagClass(e.status,i.theme.theme())),ch("data-testid","worktree-status-"+e.id),gI(),Lh(Fw(15,14,i.statusKey(e.status))),gI(3),Lh(e.createdAt);}}function xe(t,d){if(t&1&&(_i(0,"nz-table",8)(1,"thead")(2,"tr"),uh(3,"th"),_i(4,"th"),Iw(5),Pw(6,"transloco"),Jc(),_i(7,"th"),Iw(8),Pw(9,"transloco"),Jc(),_i(10,"th"),Iw(11),Pw(12,"transloco"),Jc(),_i(13,"th"),Iw(14),Pw(15,"transloco"),Jc(),_i(16,"th"),Iw(17),Pw(18,"transloco"),Jc(),_i(19,"th"),Iw(20),Pw(21,"transloco"),Jc()()(),_i(22,"tbody"),xD(23,Ce,18,18,"tr",null,ce),Jc()()),t&2){let e=HD(2);lh("nzData",e.jobs())("nzShowPagination",false),gI(5),Lh(Fw(6,8,"worktrees.column.job")),gI(3),Lh(Fw(9,10,"worktrees.column.repository")),gI(3),Lh(Fw(12,12,"worktrees.column.branch")),gI(3),Lh(Fw(15,14,"worktrees.column.path")),gI(3),Lh(Fw(18,16,"worktrees.column.status")),gI(3),Lh(Fw(21,18,"worktrees.column.created")),gI(3),AD(e.jobs());}}function be(t,d){if(t&1&&(_D(0,ue,2,1,"p",5),_D(1,fe,3,3,"p",6),_D(2,ge,3,3,"p",7)(3,xe,25,20,"nz-table",8)),t&2){let e=HD();MD(e.actionError()?0:-1),gI(),MD(e.selectedHasActive()?1:-1),gI(),MD(e.jobs().length===0?2:3);}}var se=(()=>{class t{constructor(){this.jobsApi=C($),this.reposApi=C(f),this.transloco=C(Ve),this.destroyRef=C(at),this.theme=C(p),this.jobStatusTagClass=x,this.jobStatusTagColor=h,this.jobs=qo([]),this.repos=qo([]),this.selectedIds=qo([]),this.loading=qo(true),this.loadError=qo(null),this.actionError=qo(null),this.deleting=qo(false),this.selectedHasActive=Uw(()=>this.selectedJobs().some(e=>!w(e.status))),this.selectedJobs=Uw(()=>{let e=new Set(this.selectedIds());return this.jobs().filter(i=>e.has(i.id))}),this.reload();}statusKey(e){return `jobs.status.${e}`}repoName(e){return this.repos().find(l=>_e(e,l))?.name??"\u2014"}isSelected(e){return this.selectedIds().includes(e)}toggleSelected(e,i){this.selectedIds.update(l=>i?l.includes(e)?l:[...l,e]:l.filter(b=>b!==e)),this.actionError.set(null);}deleteSelected(){if(!(this.deleting()||this.selectedIds().length===0)){if(this.selectedHasActive()){this.actionError.set(this.transloco.translate("worktrees.activeWarning"));return}this.deleting.set(true),this.actionError.set(null),this.jobsApi.deleteWorktrees(this.selectedIds()).pipe(ue$1(this.destroyRef)).subscribe({next:()=>{this.deleting.set(false),this.selectedIds.set([]),this.reload();},error:e=>{this.deleting.set(false),this.actionError.set(this.errorMessage(e,this.transloco.translate("worktrees.deleteFailed")));}});}}reload(){this.loading.set(true),this.loadError.set(null),Ng({jobs:this.jobsApi.list({liveWorktree:true}),repos:this.reposApi.list()}).pipe(ue$1(this.destroyRef)).subscribe({next:({jobs:e,repos:i})=>{this.jobs.set(e),this.repos.set(i),this.loading.set(false);},error:e=>{this.loading.set(false),this.loadError.set(this.errorMessage(e,this.transloco.translate("worktrees.loadFailed")));}});}errorMessage(e,i){return e instanceof bi||e instanceof Error?e.message:i}static{this.\u0275fac=function(i){return new(i||t)};}static{this.\u0275cmp=ZE({type:t,selectors:[["app-worktree-list"]],decls:11,vars:8,consts:[["data-testid","worktrees-manage",1,"list-page"],[1,"header"],["nz-button","","nzDanger","","type","button","data-testid","delete-worktrees",3,"click","disabled"],["data-testid","loading"],["data-testid","load-error",1,"error"],["data-testid","action-error",1,"error"],["data-testid","active-warning",1,"warn"],["data-testid","empty-state",1,"empty"],["data-testid","worktree-table",3,"nzData","nzShowPagination"],["nz-checkbox","",3,"nzCheckedChange","nzChecked"],[3,"routerLink"],[1,"path-cell"],[3,"nzColor","ngClass"]],template:function(i,l){i&1&&(_i(0,"div",0)(1,"header",1)(2,"h1"),Iw(3),Pw(4,"transloco"),Jc(),_i(5,"button",2),mh("click",function(){return l.deleteSelected()}),Iw(6),Pw(7,"transloco"),Jc()(),_D(8,me,3,3,"p",3)(9,he,2,1,"p",4)(10,be,4,3),Jc()),i&2&&(gI(3),Lh(Fw(4,4,"worktrees.title")),gI(2),lh("disabled",l.deleting()||l.selectedIds().length===0),gI(),rl(" ",Fw(7,6,"worktrees.deleteSelected")," "),gI(2),MD(l.loading()?8:l.loadError()?9:10));},dependencies:[$8,M5,v3,pf,bd,sp,fp,Lt,ut,pc,as,dc,Kl,cc,Ji,ls,W,I,Kt],styles:[".list-page[_ngcontent-%COMP%]{padding:1.25rem 1.5rem 3rem;display:flex;flex-direction:column;gap:1rem}.header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.empty[_ngcontent-%COMP%]{text-align:center;padding:2.5rem 1rem;border:1px dashed #d6d3d1;background:#fff9}.error[_ngcontent-%COMP%]{color:#9f1239}.warn[_ngcontent-%COMP%]{color:#92400e}.path-cell[_ngcontent-%COMP%]{overflow-wrap:anywhere;word-break:break-word}"]});}}return t})();function _e(t,d){let e=(t.worktreePath??"").replaceAll("\\","/"),i=d.localPath.replaceAll("\\","/").replace(/\/+$/,""),l=(d.worktreeBasePath??ke(i)).replaceAll("\\","/");return e.startsWith(l)||e.startsWith(i)}function ke(t){let d=t.split("/"),e=d.pop()??"repo";return `${d.join("/")}/${e}-worktrees`}var qe=(()=>{class t{static{this.\u0275fac=function(i){return new(i||t)};}static{this.\u0275cmp=ZE({type:t,selectors:[["app-worktrees-manage"]],decls:1,vars:0,template:function(i,l){i&1&&uh(0,"app-worktree-list");},dependencies:[se],encapsulation:2});}}return t})();export{qe as WorktreesManageComponent};
@@ -0,0 +1 @@
1
+ import {b}from'./chunk-DEGtd3B-.js';import {L as Lt$1}from'./chunk-B1ctXsPE.js';import'./chunk-Darhf4Mc.js';import'./chunk-ChofVXdQ.js';import {L as Lt,u as ut,D as Di,m as mn}from'./chunk-CID_DKHO.js';import'./chunk-CQOTdAZb.js';import {C,$,a as C1,V as Ve,b as at,q as qo,U as Uw,u as ue$1,s,r as r$1,c as bi,Z as ZE,d as $8,e as al,f as rl,g as $i,v as v3,h as ex,F as Fm,A as Am,K as Kt,j as _i,I as Iw,P as Pw,J as Jc,m as mh,k as iE,l as _D,n as uh,x as xD,N as ND,o as gI,L as Lh,p as Fw,w as lh,y as aE,z as rl$1,M as MD,B as AD,H as HD,D as ch,E as Aw,G as FD,O as Fu,Q as ju}from'./main-CL3L2RPE.js';import'./chunk-C9wrgS_q.js';var re=t=>["/jobs",t],oe=(t,a)=>a.id,ae=(t,a)=>a.jobId+a.stepExecutionId;function le(t,a){t&1&&(_i(0,"p",5),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function de(t,a){if(t&1&&(_i(0,"p",6),Iw(1),Jc()),t&2){let e=HD();gI(),Lh(e.queuedError());}}function pe(t,a){t&1&&(_i(0,"p",7),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),rl$1(" ",Fw(2,1,"jobs.list.queuedEmpty")," "));}function ue(t,a){if(t&1&&(_i(0,"tr")(1,"td")(2,"a",25),Iw(3),Jc()(),_i(4,"td",26),Iw(5),Jc(),_i(6,"td",27),Iw(7),Jc()()),t&2){let e=a.$implicit,s=HD(2);ch("data-testid","queued-row-"+e.jobId),gI(2),lh("routerLink",Aw(6,re,e.jobId)),ch("data-testid","queued-job-link-"+e.jobId),gI(),rl$1(" ",e.jobId," "),gI(2),Lh(e.agentInstanceId),gI(2),Lh(s.queuedWaitLabel(e.enqueuedAt));}}function ce(t,a){if(t&1&&(_i(0,"table",8)(1,"thead")(2,"tr")(3,"th"),Iw(4),Pw(5,"transloco"),Jc(),_i(6,"th"),Iw(7),Pw(8,"transloco"),Jc(),_i(9,"th"),Iw(10),Pw(11,"transloco"),Jc()()(),_i(12,"tbody"),xD(13,ue,8,8,"tr",null,ae),Jc()()),t&2){let e=HD();gI(4),Lh(Fw(5,3,"jobs.table.column.id")),gI(3),Lh(Fw(8,5,"jobs.list.queuedAgent")),gI(3),Lh(Fw(11,7,"jobs.list.queuedWait")),gI(3),AD(e.queuedSteps());}}function he(t,a){if(t&1&&uh(0,"nz-option",14),t&2){let e=a.$implicit;lh("nzValue",e.id)("nzLabel",e.name+" ("+e.id+")");}}function me(t,a){t&1&&(_i(0,"p",15),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function ge(t,a){if(t&1&&(_i(0,"p",16),Iw(1),Jc()),t&2){let e=HD();gI(),Lh(e.runningError());}}function fe(t,a){t&1&&(_i(0,"p",17),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),rl$1(" ",Fw(2,1,"jobs.list.runningEmpty")," "));}function be(t,a){if(t&1&&uh(0,"app-job-status-table",18),t&2){let e=HD();lh("jobs",e.runningJobs());}}function _e(t,a){if(t&1&&(uh(0,"nz-option",14),Pw(1,"transloco"),Pw(2,"transloco")),t&2){let e=a.$implicit,s=HD();lh("nzValue",e)("nzLabel",e==="all"?Fw(1,2,"jobs.list.filterAll"):Fw(2,4,s.statusKey(e)));}}function ye(t,a){if(t&1&&uh(0,"nz-option",14),t&2){let e=a.$implicit;lh("nzValue",e.id)("nzLabel",e.name+" ("+e.id+")");}}function Ce(t,a){t&1&&(_i(0,"p",22),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function xe(t,a){if(t&1&&(_i(0,"p",23),Iw(1),Jc()),t&2){let e=HD();gI(),Lh(e.historyError());}}function Me(t,a){t&1&&(_i(0,"p",24),Iw(1),Pw(2,"transloco"),Jc()),t&2&&(gI(),rl$1(" ",Fw(2,1,"jobs.list.historyEmpty")," "));}function ve(t,a){if(t&1){let e=FD();_i(0,"nz-pagination",29),mh("nzPageIndexChange",function(o){Fu(e);let m=HD(2);return ju(m.setHistoryPage(o))}),Jc();}if(t&2){let e=HD(2);lh("nzPageIndex",e.historyPageIndex())("nzPageSize",e.pageSize)("nzTotal",e.historyTotal());}}function Ie(t,a){if(t&1&&(uh(0,"app-job-status-table",18),_D(1,ve,1,3,"nz-pagination",28)),t&2){let e=HD();lh("jobs",e.historyJobs()),gI(),MD(e.historyTotal()>e.pageSize||e.historyPageIndex()>1?1:-1);}}var we=20,Se=50,Ee=3e3,se=["completed","failed","cancelled"],Qe=(()=>{class t{constructor(){this.jobsApi=C($),this.workflowsApi=C(b),this.route=C(C1),this.transloco=C(Ve),this.destroyRef=C(at),this.pageSize=we,this.historyStatusOptions=["all",...se],this.runningJobs=qo([]),this.queuedSteps=qo([]),this.historyJobs=qo([]),this.workflows=qo([]),this.runningLoading=qo(true),this.queuedLoading=qo(true),this.historyLoading=qo(true),this.runningError=qo(null),this.queuedError=qo(null),this.historyError=qo(null),this.runningWorkflowId=qo(""),this.historyWorkflowId=qo(""),this.historyStatusFilter=qo("all"),this.showChildJobs=qo(false),this.historyPageIndex=qo(1),this.polling=qo(false),this.historyTotal=Uw(()=>{let e=(this.historyPageIndex()-1)*this.pageSize,s=this.historyJobs().length;return s<this.pageSize?e+s:e+s+1}),this.pollHandle=null,this.onVisibility=()=>{if(document.hidden){this.stopPolling();return}this.loadRunning({silent:true}),this.loadQueued({silent:true}),this.loadHistory({silent:true}),this.startPolling();},this.destroyRef.onDestroy(()=>{this.stopPolling(),document.removeEventListener("visibilitychange",this.onVisibility);}),this.loadWorkflows(),this.route.queryParamMap.pipe(ue$1(this.destroyRef)).subscribe(e=>{let s=e.get("status");s&&se.includes(s)?this.historyStatusFilter.set(s):this.historyStatusFilter.set("all"),this.historyPageIndex.set(1),this.loadRunning(),this.loadQueued(),this.loadHistory();}),document.addEventListener("visibilitychange",this.onVisibility),this.startPolling();}statusKey(e){return `jobs.status.${e}`}isPolling(){return this.polling()}setHistoryStatusFilter(e){this.historyStatusFilter.set(e),this.historyPageIndex.set(1),this.loadHistory();}setRunningWorkflowId(e){this.runningWorkflowId.set(e),this.loadRunning();}setHistoryWorkflowId(e){this.historyWorkflowId.set(e),this.historyPageIndex.set(1),this.loadHistory();}setShowChildJobs(e){this.showChildJobs.set(e),this.historyPageIndex.set(1),this.loadRunning(),this.loadHistory();}setHistoryPage(e){this.historyPageIndex.set(e),this.loadHistory();}loadWorkflows(){this.workflowsApi.list().pipe(ue$1(this.destroyRef)).subscribe({next:e=>{this.workflows.set(e);},error:()=>{this.workflows.set([]);}});}loadRunning(e={}){let s$1=this.runningWorkflowId();e.silent||(this.runningLoading.set(true),this.runningError.set(null)),this.jobsApi.list(s(r$1({terminal:false,topLevelOnly:!this.showChildJobs()},s$1?{workflowId:s$1}:{}),{limit:Se,offset:0})).pipe(ue$1(this.destroyRef)).subscribe({next:o=>{this.runningJobs.set(o),this.runningLoading.set(false);},error:o=>{this.runningLoading.set(false),!e.silent&&this.runningError.set(this.errorMessage(o,this.transloco.translate("jobs.list.loadFailed")));}});}queuedWaitLabel(e){let s=Date.now()-Date.parse(e),o=Number.isFinite(s)?Math.max(0,Math.floor(s/1e3)):0;if(o<60)return `${o}s`;let m=Math.floor(o/60);return m<60?`${m}m`:`${Math.floor(m/60)}h`}loadQueued(e={}){e.silent||(this.queuedLoading.set(true),this.queuedError.set(null)),this.jobsApi.listQueued().pipe(ue$1(this.destroyRef)).subscribe({next:s=>{this.queuedSteps.set(s),this.queuedLoading.set(false);},error:s=>{this.queuedLoading.set(false),!e.silent&&this.queuedError.set(this.errorMessage(s,this.transloco.translate("jobs.list.loadFailed")));}});}loadHistory(e={}){let s$1=this.historyStatusFilter(),o=this.historyWorkflowId();e.silent||(this.historyLoading.set(true),this.historyError.set(null)),this.jobsApi.list(s(r$1(r$1({terminal:true,topLevelOnly:!this.showChildJobs()},s$1==="all"?{}:{status:s$1}),o?{workflowId:o}:{}),{limit:this.pageSize,offset:(this.historyPageIndex()-1)*this.pageSize})).pipe(ue$1(this.destroyRef)).subscribe({next:m=>{this.historyJobs.set(m),this.historyLoading.set(false);},error:m=>{this.historyLoading.set(false),!e.silent&&this.historyError.set(this.errorMessage(m,this.transloco.translate("jobs.list.loadFailed")));}});}startPolling(){this.pollHandle!=null||document.hidden||(this.pollHandle=setInterval(()=>{this.loadRunning({silent:true}),this.loadQueued({silent:true}),this.loadHistory({silent:true});},Ee),this.polling.set(true));}stopPolling(){this.pollHandle!=null&&(clearInterval(this.pollHandle),this.pollHandle=null),this.polling.set(false);}errorMessage(e,s){return e instanceof bi||e instanceof Error?e.message:s}static{this.\u0275fac=function(s){return new(s||t)};}static{this.\u0275cmp=ZE({type:t,selectors:[["app-job-list"]],decls:62,vars:37,consts:[["data-testid","jobs-list",1,"list-page"],[1,"header"],["nz-checkbox","","data-testid","show-child-jobs",1,"child-toggle",3,"ngModelChange","ngModel"],["data-testid","jobs-queued",1,"section"],[1,"section-header"],["data-testid","queued-loading"],["data-testid","queued-error",1,"error"],["data-testid","queued-empty",1,"section-empty"],["data-testid","jobs-queued-table",1,"queued-table"],["data-testid","jobs-running",1,"section"],[1,"filters"],[1,"field"],["data-testid","running-workflow-filter",3,"ngModelChange","ngModel"],["nzValue","",3,"nzLabel"],[3,"nzValue","nzLabel"],["data-testid","running-loading"],["data-testid","running-error",1,"error"],["data-testid","running-empty",1,"section-empty"],[3,"jobs"],["data-testid","jobs-history",1,"section","section-history"],["data-testid","history-status-filter",3,"ngModelChange","ngModel"],["data-testid","history-workflow-filter",3,"ngModelChange","ngModel"],["data-testid","history-loading"],["data-testid","history-error",1,"error"],["data-testid","history-empty",1,"section-empty"],[3,"routerLink"],["data-testid","queued-agent"],["data-testid","queued-wait"],["data-testid","jobs-pagination",3,"nzPageIndex","nzPageSize","nzTotal"],["data-testid","jobs-pagination",3,"nzPageIndexChange","nzPageIndex","nzPageSize","nzTotal"]],template:function(s,o){s&1&&(_i(0,"main",0)(1,"header",1)(2,"h1"),Iw(3),Pw(4,"transloco"),Jc()(),_i(5,"label",2),mh("ngModelChange",function(b){return o.setShowChildJobs(b)}),Iw(6),Pw(7,"transloco"),Jc(),iE(),_i(8,"section",3)(9,"header",4)(10,"h2"),Iw(11),Pw(12,"transloco"),Jc()(),_D(13,le,3,3,"p",5)(14,de,2,1,"p",6)(15,pe,3,3,"p",7)(16,ce,15,9,"table",8),Jc(),_i(17,"section",9)(18,"header",4)(19,"h2"),Iw(20),Pw(21,"transloco"),Jc()(),_i(22,"div",10)(23,"div",11)(24,"span"),Iw(25),Pw(26,"transloco"),Jc(),_i(27,"nz-select",12),mh("ngModelChange",function(b){return o.setRunningWorkflowId(b)}),uh(28,"nz-option",13),Pw(29,"transloco"),xD(30,he,1,2,"nz-option",14,oe),Jc(),iE(),Jc()(),_D(32,me,3,3,"p",15)(33,ge,2,1,"p",16)(34,fe,3,3,"p",17)(35,be,1,1,"app-job-status-table",18),Jc(),_i(36,"section",19)(37,"header",4)(38,"h2"),Iw(39),Pw(40,"transloco"),Jc()(),_i(41,"div",10)(42,"div",11)(43,"span"),Iw(44),Pw(45,"transloco"),Jc(),_i(46,"nz-select",20),mh("ngModelChange",function(b){return o.setHistoryStatusFilter(b)}),xD(47,_e,3,6,"nz-option",14,ND),Jc(),iE(),Jc(),_i(49,"div",11)(50,"span"),Iw(51),Pw(52,"transloco"),Jc(),_i(53,"nz-select",21),mh("ngModelChange",function(b){return o.setHistoryWorkflowId(b)}),uh(54,"nz-option",13),Pw(55,"transloco"),xD(56,ye,1,2,"nz-option",14,oe),Jc(),iE(),Jc()(),_D(58,Ce,3,3,"p",22)(59,xe,2,1,"p",23)(60,Me,3,3,"p",24)(61,Ie,2,2),Jc()()),s&2&&(gI(3),Lh(Fw(4,17,"jobs.list.title")),gI(2),lh("ngModel",o.showChildJobs()),aE(),gI(),rl$1(" ",Fw(7,19,"jobs.list.showChildJobs")," "),gI(5),Lh(Fw(12,21,"jobs.list.queued")),gI(2),MD(o.queuedLoading()?13:o.queuedError()?14:o.queuedSteps().length===0?15:16),gI(7),Lh(Fw(21,23,"jobs.list.running")),gI(5),Lh(Fw(26,25,"jobs.list.filterByWorkflow")),gI(2),lh("ngModel",o.runningWorkflowId()),aE(),gI(),lh("nzLabel",Fw(29,27,"jobs.list.filterAll")),gI(2),AD(o.workflows()),gI(2),MD(o.runningLoading()?32:o.runningError()?33:o.runningJobs().length===0?34:35),gI(7),Lh(Fw(40,29,"jobs.list.history")),gI(5),Lh(Fw(45,31,"jobs.list.filterByStatus")),gI(2),lh("ngModel",o.historyStatusFilter()),aE(),gI(),AD(o.historyStatusOptions),gI(4),Lh(Fw(52,33,"jobs.list.filterByWorkflow")),gI(2),lh("ngModel",o.historyWorkflowId()),aE(),gI(),lh("nzLabel",Fw(55,35,"jobs.list.filterAll")),gI(2),AD(o.workflows()),gI(2),MD(o.historyLoading()?58:o.historyError()?59:o.historyJobs().length===0?60:61));},dependencies:[$8,al,rl,$i,v3,Lt,ut,Di,mn,ex,Fm,Am,Lt$1,Kt],styles:[".list-page[_ngcontent-%COMP%]{padding:1.25rem 1.5rem 3rem;display:flex;flex-direction:column;gap:1rem}.header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0}.child-toggle[_ngcontent-%COMP%]{align-self:flex-start}.section[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.75rem}.section-history[_ngcontent-%COMP%]{padding-top:1.25rem;border-top:1px solid #e7e5e4}.section-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;font-size:1.1rem}.filters[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;align-items:flex-end}.field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem;min-width:12rem;max-width:18rem}.field[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{font-size:.85rem;color:#57534e}.section-empty[_ngcontent-%COMP%]{margin:0;color:#57534e}.queued-table[_ngcontent-%COMP%]{width:100%;border-collapse:collapse}.queued-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], .queued-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{text-align:left;padding:.5rem .75rem .5rem 0;border-bottom:1px solid #e7e5e4}.queued-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%]{font-size:.85rem;color:#57534e;font-weight:600}.error[_ngcontent-%COMP%]{color:#9f1239}"]});}}return t})();export{we as JOB_LIST_PAGE_SIZE,Se as JOB_RUNNING_LIMIT,Ee as JOB_RUNNING_POLL_MS,Qe as JobListComponent,se as TERMINAL_JOB_STATUSES};