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

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 +4 -4
  4. package/static/assets/i18n/en.json +25 -1
  5. package/static/assets/i18n/es.json +25 -1
  6. package/static/chunk-9U0WIegY.js +1 -0
  7. package/static/{chunk-DxZsQqxS.js → chunk-B0kZCuEt.js} +1 -1
  8. package/static/chunk-B2Xol2Un.js +1 -0
  9. package/static/{chunk-CM8oLO7n.js → chunk-B7WkIFy0.js} +1 -1
  10. package/static/{chunk-C5n_oTWP.js → chunk-BW9BdLk-.js} +1 -1
  11. package/static/chunk-Bgl02GNl.js +1 -0
  12. package/static/chunk-BhF-m2HP.js +70 -0
  13. package/static/chunk-BhTujCrk.js +1 -0
  14. package/static/chunk-Bu6_39Nh.js +1 -0
  15. package/static/chunk-C0HCwfa5.js +1 -0
  16. package/static/{chunk-DMAf3Qir.js → chunk-C2BVYtVN.js} +7 -7
  17. package/static/{chunk-BuPc66MS.js → chunk-C7h8oMzu.js} +1 -1
  18. package/static/chunk-CRdEWPUM.js +1 -0
  19. package/static/chunk-CRv0PDB7.js +1 -0
  20. package/static/chunk-CecXf-CU.js +1 -0
  21. package/static/{chunk-B0V1VBvY.js → chunk-CenXuPs5.js} +1 -1
  22. package/static/{chunk-DgEO14wO.js → chunk-CeywzbyD.js} +1 -1
  23. package/static/{chunk-DphMF2VB.js → chunk-Cg2E0vnT.js} +1 -1
  24. package/static/chunk-CsQ_HDGC.js +1 -0
  25. package/static/chunk-D19C8Gcb.js +1 -0
  26. package/static/chunk-DGC4TkAL.js +1 -0
  27. package/static/chunk-DUkiyf7y.js +1 -0
  28. package/static/chunk-DYzSLsNo.js +1 -0
  29. package/static/chunk-DZJZYEZl.js +1 -0
  30. package/static/chunk-DfcFBVF4.js +1 -0
  31. package/static/chunk-DixyYfV_.js +1 -0
  32. package/static/chunk-Dp4H7MY0.js +1 -0
  33. package/static/chunk-DtQtDE8q.js +1 -0
  34. package/static/chunk-Dv5GyY6h.js +1 -0
  35. package/static/chunk-Edaw7VGW.js +1 -0
  36. package/static/{chunk-Cn95hfnf.js → chunk-FOJfn_t9.js} +1 -1
  37. package/static/{chunk-nx1xncBD.js → chunk-Fwpw-z7T.js} +1 -1
  38. package/static/chunk-HUIPNwd9.js +1 -0
  39. package/static/chunk-NZ-CPWJ2.js +1 -0
  40. package/static/{chunk-BnD2l9n3.js → chunk-Th9whP36.js} +1 -1
  41. package/static/chunk-bCuvpgQS.js +1 -0
  42. package/static/{chunk-C4Ee3umI.js → chunk-iE460Kz5.js} +1 -1
  43. package/static/chunk-p6dftaf8.js +5 -0
  44. package/static/chunk-yoe_30RI.js +1 -0
  45. package/static/{chunk-J9qS04nF.js → chunk-z2vvQAle.js} +1 -1
  46. package/static/index.html +1 -1
  47. package/static/main-CHQMTVIP.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.16",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {
@@ -37,9 +37,9 @@
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",
@@ -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",
@@ -0,0 +1 @@
1
+ import {U as Uy}from'./chunk-C2BVYtVN.js';function p(t){switch(t){case "completed":return "success";case "failed":return "error";case "waiting_for_human":case "waiting_for_children":return "info";case "pending":case "cancelled":return "muted";case "planning":case "implementing":case "testing":return "primary"}}function d(t){switch(t){case "completed":return "success";case "failed":return "error";case "completed_with_issues":case "cancelled":return "warning";default:return null}}function m(t){switch(t){case "completed":return "success";case "failed":return "error";case "queued":case "waiting_for_children":return "info";case "running":return "primary";case "pending":case "skipped":return "muted"}}function a(t,e){if(!(!t||e==="dark"))switch(t){case "success":return "success";case "warning":return "warning";case "error":return "error";case "info":case "primary":case "muted":return}}function f(t,e){return !t||e!=="dark"&&!(t==="info"||t==="primary"||t==="muted")?"":`knoflows-tag-${t}`}function x(t,e){return f(p(t),e)}function h(t,e){return a(p(t),e)}function y(t,e){return f(d(t),e)}function S(t,e){return a(d(t),e)}function T(t,e){return f(m(t),e)}function _(t,e){return a(m(t),e)}var g=new Set(["completed","failed","cancelled"]);function C(t){return t==="agent"||t==="shell"||t==="git"||t==="provider_action"}function w(t){return g.has(t)}function I(t){let e=t.stepHistory.find(r=>r.status==="running");if(e)return e;let n=t.stepHistory.find(r=>r.status==="queued");if(n)return n;if((t.status==="waiting_for_human"||t.status==="waiting_for_children")&&t.currentStepExecutionId){let r=t.stepHistory.find(i=>i.id===t.currentStepExecutionId);if(r)return r}return w(t.status)&&t.stepHistory.length>0?t.stepHistory[t.stepHistory.length-1]??null:null}function k(t,e){let n=new Map;for(let r of e)n.set(r.stepDefinitionId,r);return t.map(r=>{let i=n.get(r.id)??null;return {definition:r,execution:i,reached:i!=null}})}function O(t){if(!t)return null;if(t.mode==="single"){let n=t.subject;return `${n.id} \xB7 ${n.title}`}let e=t.subjects.length;if(e===0)return null;if(e===1){let n=t.subjects[0];return `${n.id} \xB7 ${n.title}`}return `${e} subjects`}function b(t){let e=t.workflowSnapshot?.name??t.workflowId;return t.subjectContext?t.subjectContext.mode==="single"?`${e} \u2014 ${t.subjectContext.subject.title}`:`${e} \u2014 ${t.subjectContext.subjects.length} items`:e}function v(t,e,n,r){let i=t.findIndex(s=>s.id===n);if(!(i<0))for(let s=i-1;s>=0;s-=1){let o=t[s];if(o.type!=="agent")continue;let c=e.find(u=>u.stepDefinitionId===o.id);if(c?.output!==void 0)return c.output;if(Object.prototype.hasOwnProperty.call(r.context,o.id))return r.context[o.id]}}function D(t){let e=t.waitingEvent;if(e&&e.questions.length>0)return e.questions;let n=e?.data??t.selectedOutput??t.priorOutput,r=Uy(t.interaction,n);return r.length>0?r:e?.data!=null?[JSON.stringify(e.data,null,2)]:[]}function E(t){return t.waitingEvent?.data??t.selectedOutput??t.priorOutput}function H(t){if(!t||typeof t!="object")return [];let e=t.questions;if(!Array.isArray(e))return [];let n=new Set,r=[];return e.forEach((i,s)=>{let o="",c="";if(typeof i=="string")c=i.trim();else if(i&&typeof i=="object"){let u=i;typeof u.prompt=="string"&&(c=u.prompt.trim()),typeof u.id=="string"&&(o=u.id.trim());}if(c){if(!o){let u=`q${s+1}`;for(;n.has(u);)u=`${u}_${s}`;o=u;}n.add(o),r.push({id:o,prompt:c});}}),r}function A(t,e){return t.every(n=>(e[n.id]??"").trim()!=="")}function P(t,e,n){let r={};for(let s of t)r[s.id]=(e[s.id]??"").trim();let i=n.trim();return i&&(r.additionalComments=i),r}function J(t,e){let n=e.trim();return n?{approved:t,comment:n}:{approved:t}}export{A,C,D,E,H,I,J,O,P,S,T,_,b,h,k,v,w,x,y};
@@ -1 +1 @@
1
- import {w as we}from'./chunk-7MZQgksi.js';import {A as At}from'./chunk-BnD2l9n3.js';import {a as ae,l as le}from'./chunk-DZhQ2iEt.js';import'./chunk-BuPc66MS.js';import'./chunk-B_L2A3hm.js';import'./chunk-J9qS04nF.js';import {C,a as C1,as as U,$,V as Ve,b as at$1,q as qo,H as Hw,u as ue,r as r$1,ac as Ng,ae as Dg,c as bi,Q as QE,d as $8,v as v3,Z as pf,a0 as bd,a1 as sp,a2 as fp,K as Kt,j as _i,n as bD,l as Kc,w as gI,B as _D,k as vw,R as Rw,P as Ph,O as Ow,E as VD,L as LD,m as gh,x as ch,z as nl,J as Pu,M as Lu,p as lh,I as xw}from'./main-2ZW45HAE.js';import {b}from'./chunk-CM8oLO7n.js';import {G as Gn,u as un}from'./chunk-vYeIWxg4.js';import {U as U$1}from'./chunk-nx1xncBD.js';import'./chunk-yxqIQom4.js';import'./chunk-DphMF2VB.js';var et=i=>["/batches",i];function it(i,r){i&1&&(_i(0,"p",1),vw(1),Rw(2,"transloco"),Kc()),i&2&&(gI(),Ph(Ow(2,1,"common.loading")));}function nt(i,r){if(i&1&&(_i(0,"p",2),vw(1),Kc()),i&2){let t=VD();gI(),Ph(t.loadError());}}function ot(i,r){i&1&&(_i(0,"a",10),vw(1),Rw(2,"transloco"),Kc()),i&2&&(ch("routerLink",xw(4,et,r)),gI(),nl(" ",Ow(2,2,"views.detail.openBatch")," "));}function at(i,r){if(i&1&&(lh(0,"nz-alert",9),bD(1,ot,3,6,"a",10)),i&2){let t,e=VD(2);ch("nzMessage",e.confirmation()),gI(),_D((t=e.confirmationBatchId())?1:-1,t);}}function lt(i,r){i&1&&(_i(0,"p",11),vw(1),Rw(2,"transloco"),Kc()),i&2&&(gI(),nl(" ",Ow(2,1,"views.detail.noBulkWorkflows")," "));}function rt(i,r){if(i&1&&(_i(0,"p",14),vw(1),Kc()),i&2){let t=VD(4);gI(),Ph(t.launchError());}}function st(i,r){if(i&1){let t=LD();_i(0,"p",12),vw(1),Kc(),_i(2,"app-workflow-input-form",13),gh("valuesChange",function(n){Pu(t);let s=VD(3);return Lu(s.setInputValues(n))}),Kc(),bD(3,rt,2,1,"p",14),_i(4,"div",15)(5,"button",16),gh("click",function(){Pu(t);let n=VD(3);return Lu(n.launch())}),vw(6),Rw(7,"transloco"),Kc(),_i(8,"button",17),gh("click",function(){Pu(t);let n=VD(3);return Lu(n.cancelLaunch())}),vw(9),Rw(10,"transloco"),Kc()();}if(i&2){let t=r,e=VD(3);gI(),Ph(t.name),gI(),ch("fields",t.inputSchema)("values",e.inputValues()),gI(),_D(e.launchError()?3:-1),gI(2),ch("nzLoading",e.launching())("disabled",e.launching()),gI(),nl(" ",Ow(7,8,e.launching()?"views.detail.launching":"views.detail.launch")," "),gI(3),nl(" ",Ow(10,10,"views.detail.cancelLaunch")," ");}}function ct(i,r){if(i&1&&(_i(0,"section",6)(1,"h2"),vw(2),Rw(3,"transloco"),Kc(),bD(4,lt,3,3,"p",11)(5,st,11,12),Kc()),i&2){let t,e=VD(2);gI(2),nl(" ",Ow(3,2,r==="view"?"views.detail.launchViewTitle":"views.detail.launchSelectedTitle")," "),gI(2),_D(e.canBulkLaunch()?(t=e.boundWorkflow())?5:-1:4,t);}}function dt(i,r){i&1&&(_i(0,"p",7),vw(1),Rw(2,"transloco"),Kc()),i&2&&(gI(),Ph(Ow(2,1,"views.detail.emptySubjects")));}function ut(i,r){if(i&1){let t=LD();_i(0,"app-runnable-items-table",18),gh("rowAction",function(n){Pu(t);let s=VD(2);return Lu(s.onRowAction(n))})("bulkAction",function(n){Pu(t);let s=VD(2);return Lu(s.onBulkAction(n))}),Kc();}if(i&2){let t=VD(2);ch("rows",t.rows())("selectable",true)("showRowAction",t.showRowAction());}}function pt(i,r){if(i&1){let t=LD();_i(0,"header",3)(1,"h1",4),vw(2),Kc(),_i(3,"button",5),gh("click",function(){Pu(t);let n=VD();return Lu(n.beginLaunch("view"))}),vw(4),Rw(5,"transloco"),Kc()(),bD(6,at,2,2),bD(7,ct,6,4,"section",6),bD(8,dt,3,3,"p",7)(9,ut,1,3,"app-runnable-items-table",8);}if(i&2){let t,e=VD();gI(2),Ph(r.name),gI(),ch("disabled",!e.canBulkLaunch()),gI(),nl(" ",Ow(5,6,"views.detail.runOnAll")," "),gI(2),_D(e.confirmation()?6:-1),gI(),_D((t=e.launchMode())?7:-1,t),gI(),_D(e.subjects().length===0?8:9);}}var zt=(()=>{class i{constructor(){this.route=C(C1),this.viewsApi=C(U),this.workflowsApi=C(b),this.batchesApi=C(U$1),this.jobsApi=C($),this.startJob=C(At),this.transloco=C(Ve),this.destroyRef=C(at$1),this.view=qo(null),this.subjects=qo([]),this.workflows=qo([]),this.latestBySubject=qo({}),this.loading=qo(true),this.loadError=qo(null),this.selectedIds=qo([]),this.launchMode=qo(null),this.inputValues=qo({}),this.launching=qo(false),this.launchError=qo(null),this.confirmation=qo(null),this.confirmationBatchId=qo(null),this.boundWorkflow=Hw(()=>{let t=this.view();return t?this.workflows().find(e=>e.id===t.workflowId)??null:null}),this.canBulkLaunch=Hw(()=>this.boundWorkflow()!=null),this.showRowAction=Hw(()=>this.boundWorkflow()?.subjectHandling==="per-subject"),this.rows=Hw(()=>{let t=this.latestBySubject();return this.subjects().map(e=>({id:e.id,primaryLabel:e.title,subtitle:this.subjectDetails(e),latestJob:t[e.id]??null}))}),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("views.detail.loadFailed"));return}this.load(e);});}subjectDetails(t){if(t.subjectType==="ticket")return [t.status,t.assignee].filter(Boolean).join(" \xB7 ");if(t.subjectType==="pull_request"){let e=`${t.sourceBranch} \u2192 ${t.targetBranch}`;return t.author?`${t.author} \xB7 ${e}`:e}return t.url??""}onBulkAction(t){this.selectedIds.set(t),this.beginLaunch("manual");}onRowAction(t){let e=this.view();e&&this.startJob.start({workflowId:e.workflowId,subjectId:t});}beginLaunch(t){t==="manual"&&this.selectedIds().length===0||(this.launchError.set(null),this.confirmation.set(null),this.confirmationBatchId.set(null),this.launchMode.set(t),this.inputValues.set(ae(this.boundWorkflow()?.inputSchema??[])));}cancelLaunch(){this.launchMode.set(null),this.launchError.set(null);}setInputValues(t){this.inputValues.set(t);}launch(){let t=this.view(),e=this.boundWorkflow(),n=this.launchMode();if(!t||!e||!n)return;let s=n==="view"?{mode:"view",viewId:t.id}:{mode:"manual",subjectType:t.subjectType,subjectIds:[...this.selectedIds()]};this.launching.set(true),this.launchError.set(null),this.batchesApi.launch({workflowId:e.id,selection:s,triggeredBy:n==="view"?"view_bulk":"multiselect",inputValues:r$1({},this.inputValues())}).pipe(ue(this.destroyRef)).subscribe({next:w=>{this.launching.set(false),this.confirmation.set(this.confirmationMessage(w)),this.confirmationBatchId.set(w.kind==="batch"?w.batch.id:null),this.launchMode.set(null),this.refreshLatest(t.workflowId,this.subjects().map(tt=>tt.id));},error:w=>{this.launching.set(false),this.launchError.set(this.errorMessage(w,this.transloco.translate("views.detail.launchFailed")));}});}confirmationMessage(t){return t.kind==="batch"?this.transloco.translate("views.detail.confirmation.batch",{id:t.batch.id,count:t.batch.jobIds.length}):this.transloco.translate("views.detail.confirmation.job",{id:t.job.id})}load(t){this.loading.set(true),this.loadError.set(null),this.selectedIds.set([]),this.launchMode.set(null),this.confirmation.set(null),this.confirmationBatchId.set(null),Ng({view:this.viewsApi.get(t),subjects:this.viewsApi.getSubjects(t),workflows:this.workflowsApi.list()}).pipe(ue(this.destroyRef)).subscribe({next:({view:e,subjects:n,workflows:s})=>{this.view.set(e),this.subjects.set(n),this.workflows.set(s),this.loading.set(false),this.refreshLatest(e.workflowId,n.map(w=>w.id));},error:e=>{this.loading.set(false),this.loadError.set(this.errorMessage(e,this.transloco.translate("views.detail.loadFailed")));}});}refreshLatest(t,e){(e.length===0?Dg({}):this.jobsApi.latestBySubject(t,e)).pipe(ue(this.destroyRef)).subscribe({next:s=>this.latestBySubject.set(s),error:()=>this.latestBySubject.set({})});}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=QE({type:i,selectors:[["app-view-detail"]],decls:4,vars:1,consts:[["data-testid","view-detail",1,"detail-page"],["data-testid","loading"],["data-testid","load-error",1,"error"],[1,"header"],["data-testid","view-name"],["nz-button","","nzType","primary","type","button","data-testid","run-on-all",3,"click","disabled"],["data-testid","launch-panel",1,"launch-panel"],["data-testid","empty-subjects",1,"muted"],[3,"rows","selectable","showRowAction"],["data-testid","launch-confirmation","nzType","success",3,"nzMessage"],["nz-button","","nzType","link","data-testid","open-batch",3,"routerLink"],["data-testid","no-bulk-workflows",1,"muted"],["data-testid","launch-workflow",1,"muted"],[3,"valuesChange","fields","values"],["data-testid","launch-error",1,"error"],[1,"launch-actions"],["nz-button","","nzType","primary","type","button","data-testid","launch-submit",3,"click","nzLoading","disabled"],["nz-button","","type","button","data-testid","launch-cancel",3,"click"],[3,"rowAction","bulkAction","rows","selectable","showRowAction"]],template:function(e,n){if(e&1&&(_i(0,"main",0),bD(1,it,3,3,"p",1)(2,nt,2,1,"p",2)(3,pt,10,8),Kc()),e&2){let s;gI(),_D(n.loading()?1:n.loadError()?2:(s=n.view())?3:-1,s);}},dependencies:[$8,v3,Gn,un,pf,bd,sp,fp,le,we,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:center}.header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0}.field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem;min-width:14rem}.field[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{font-size:.85rem;color:#57534e}.launch-panel[_ngcontent-%COMP%]{padding:1rem;border:1px solid #d6d3d1;background:#ffffffb3}.launch-panel[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 .75rem;font-size:1.1rem}.launch-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;margin-top:.5rem}.muted[_ngcontent-%COMP%]{color:#78716c}.error[_ngcontent-%COMP%]{color:#9f1239}.actions[_ngcontent-%COMP%]{white-space:nowrap}[_nghost-%COMP%] .ant-table-tbody>tr>td{white-space:normal;vertical-align:top}"]});}}return i})();export{zt as ViewDetailComponent};
1
+ import {w as we}from'./chunk-yoe_30RI.js';import {A as At}from'./chunk-Th9whP36.js';import {a as ae,l as le}from'./chunk-CRdEWPUM.js';import'./chunk-C7h8oMzu.js';import'./chunk-z2vvQAle.js';import {C,a as C1,b6 as U,$,V as Ve,b as at$1,q as qo,U as Uw,u as ue,r as r$1,aW as Ng,aY as Dg,c as bi,Z as ZE,d as $8,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,G as FD,m as mh,w as lh,z as rl,O as Fu,Q as ju,n as uh,E as Aw}from'./main-CHQMTVIP.js';import {b}from'./chunk-B7WkIFy0.js';import {G as Gn,u as un}from'./chunk-Dp4H7MY0.js';import'./chunk-B2Xol2Un.js';import {U as U$1}from'./chunk-Fwpw-z7T.js';import'./chunk-BhTujCrk.js';import'./chunk-Cg2E0vnT.js';var et=i=>["/batches",i];function it(i,r){i&1&&(_i(0,"p",1),Iw(1),Pw(2,"transloco"),Jc()),i&2&&(gI(),Lh(Fw(2,1,"common.loading")));}function nt(i,r){if(i&1&&(_i(0,"p",2),Iw(1),Jc()),i&2){let t=HD();gI(),Lh(t.loadError());}}function ot(i,r){i&1&&(_i(0,"a",10),Iw(1),Pw(2,"transloco"),Jc()),i&2&&(lh("routerLink",Aw(4,et,r)),gI(),rl(" ",Fw(2,2,"views.detail.openBatch")," "));}function at(i,r){if(i&1&&(uh(0,"nz-alert",9),_D(1,ot,3,6,"a",10)),i&2){let t,e=HD(2);lh("nzMessage",e.confirmation()),gI(),MD((t=e.confirmationBatchId())?1:-1,t);}}function lt(i,r){i&1&&(_i(0,"p",11),Iw(1),Pw(2,"transloco"),Jc()),i&2&&(gI(),rl(" ",Fw(2,1,"views.detail.noBulkWorkflows")," "));}function rt(i,r){if(i&1&&(_i(0,"p",14),Iw(1),Jc()),i&2){let t=HD(4);gI(),Lh(t.launchError());}}function st(i,r){if(i&1){let t=FD();_i(0,"p",12),Iw(1),Jc(),_i(2,"app-workflow-input-form",13),mh("valuesChange",function(n){Fu(t);let s=HD(3);return ju(s.setInputValues(n))}),Jc(),_D(3,rt,2,1,"p",14),_i(4,"div",15)(5,"button",16),mh("click",function(){Fu(t);let n=HD(3);return ju(n.launch())}),Iw(6),Pw(7,"transloco"),Jc(),_i(8,"button",17),mh("click",function(){Fu(t);let n=HD(3);return ju(n.cancelLaunch())}),Iw(9),Pw(10,"transloco"),Jc()();}if(i&2){let t=r,e=HD(3);gI(),Lh(t.name),gI(),lh("fields",t.inputSchema)("values",e.inputValues()),gI(),MD(e.launchError()?3:-1),gI(2),lh("nzLoading",e.launching())("disabled",e.launching()),gI(),rl(" ",Fw(7,8,e.launching()?"views.detail.launching":"views.detail.launch")," "),gI(3),rl(" ",Fw(10,10,"views.detail.cancelLaunch")," ");}}function ct(i,r){if(i&1&&(_i(0,"section",6)(1,"h2"),Iw(2),Pw(3,"transloco"),Jc(),_D(4,lt,3,3,"p",11)(5,st,11,12),Jc()),i&2){let t,e=HD(2);gI(2),rl(" ",Fw(3,2,r==="view"?"views.detail.launchViewTitle":"views.detail.launchSelectedTitle")," "),gI(2),MD(e.canBulkLaunch()?(t=e.boundWorkflow())?5:-1:4,t);}}function dt(i,r){i&1&&(_i(0,"p",7),Iw(1),Pw(2,"transloco"),Jc()),i&2&&(gI(),Lh(Fw(2,1,"views.detail.emptySubjects")));}function ut(i,r){if(i&1){let t=FD();_i(0,"app-runnable-items-table",18),mh("rowAction",function(n){Fu(t);let s=HD(2);return ju(s.onRowAction(n))})("bulkAction",function(n){Fu(t);let s=HD(2);return ju(s.onBulkAction(n))}),Jc();}if(i&2){let t=HD(2);lh("rows",t.rows())("selectable",true)("showRowAction",t.showRowAction());}}function pt(i,r){if(i&1){let t=FD();_i(0,"header",3)(1,"h1",4),Iw(2),Jc(),_i(3,"button",5),mh("click",function(){Fu(t);let n=HD();return ju(n.beginLaunch("view"))}),Iw(4),Pw(5,"transloco"),Jc()(),_D(6,at,2,2),_D(7,ct,6,4,"section",6),_D(8,dt,3,3,"p",7)(9,ut,1,3,"app-runnable-items-table",8);}if(i&2){let t,e=HD();gI(2),Lh(r.name),gI(),lh("disabled",!e.canBulkLaunch()),gI(),rl(" ",Fw(5,6,"views.detail.runOnAll")," "),gI(2),MD(e.confirmation()?6:-1),gI(),MD((t=e.launchMode())?7:-1,t),gI(),MD(e.subjects().length===0?8:9);}}var zt=(()=>{class i{constructor(){this.route=C(C1),this.viewsApi=C(U),this.workflowsApi=C(b),this.batchesApi=C(U$1),this.jobsApi=C($),this.startJob=C(At),this.transloco=C(Ve),this.destroyRef=C(at$1),this.view=qo(null),this.subjects=qo([]),this.workflows=qo([]),this.latestBySubject=qo({}),this.loading=qo(true),this.loadError=qo(null),this.selectedIds=qo([]),this.launchMode=qo(null),this.inputValues=qo({}),this.launching=qo(false),this.launchError=qo(null),this.confirmation=qo(null),this.confirmationBatchId=qo(null),this.boundWorkflow=Uw(()=>{let t=this.view();return t?this.workflows().find(e=>e.id===t.workflowId)??null:null}),this.canBulkLaunch=Uw(()=>this.boundWorkflow()!=null),this.showRowAction=Uw(()=>this.boundWorkflow()?.subjectHandling==="per-subject"),this.rows=Uw(()=>{let t=this.latestBySubject();return this.subjects().map(e=>({id:e.id,primaryLabel:e.title,subtitle:this.subjectDetails(e),latestJob:t[e.id]??null}))}),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("views.detail.loadFailed"));return}this.load(e);});}subjectDetails(t){if(t.subjectType==="ticket")return [t.status,t.assignee].filter(Boolean).join(" \xB7 ");if(t.subjectType==="pull_request"){let e=`${t.sourceBranch} \u2192 ${t.targetBranch}`;return t.author?`${t.author} \xB7 ${e}`:e}return t.url??""}onBulkAction(t){this.selectedIds.set(t),this.beginLaunch("manual");}onRowAction(t){let e=this.view();e&&this.startJob.start({workflowId:e.workflowId,subjectId:t});}beginLaunch(t){t==="manual"&&this.selectedIds().length===0||(this.launchError.set(null),this.confirmation.set(null),this.confirmationBatchId.set(null),this.launchMode.set(t),this.inputValues.set(ae(this.boundWorkflow()?.inputSchema??[])));}cancelLaunch(){this.launchMode.set(null),this.launchError.set(null);}setInputValues(t){this.inputValues.set(t);}launch(){let t=this.view(),e=this.boundWorkflow(),n=this.launchMode();if(!t||!e||!n)return;let s=n==="view"?{mode:"view",viewId:t.id}:{mode:"manual",subjectType:t.subjectType,subjectIds:[...this.selectedIds()]};this.launching.set(true),this.launchError.set(null),this.batchesApi.launch({workflowId:e.id,selection:s,triggeredBy:n==="view"?"view_bulk":"multiselect",inputValues:r$1({},this.inputValues())}).pipe(ue(this.destroyRef)).subscribe({next:w=>{this.launching.set(false),this.confirmation.set(this.confirmationMessage(w)),this.confirmationBatchId.set(w.kind==="batch"?w.batch.id:null),this.launchMode.set(null),this.refreshLatest(t.workflowId,this.subjects().map(tt=>tt.id));},error:w=>{this.launching.set(false),this.launchError.set(this.errorMessage(w,this.transloco.translate("views.detail.launchFailed")));}});}confirmationMessage(t){return t.kind==="batch"?this.transloco.translate("views.detail.confirmation.batch",{id:t.batch.id,count:t.batch.jobIds.length}):this.transloco.translate("views.detail.confirmation.job",{id:t.job.id})}load(t){this.loading.set(true),this.loadError.set(null),this.selectedIds.set([]),this.launchMode.set(null),this.confirmation.set(null),this.confirmationBatchId.set(null),Ng({view:this.viewsApi.get(t),subjects:this.viewsApi.getSubjects(t),workflows:this.workflowsApi.list()}).pipe(ue(this.destroyRef)).subscribe({next:({view:e,subjects:n,workflows:s})=>{this.view.set(e),this.subjects.set(n),this.workflows.set(s),this.loading.set(false),this.refreshLatest(e.workflowId,n.map(w=>w.id));},error:e=>{this.loading.set(false),this.loadError.set(this.errorMessage(e,this.transloco.translate("views.detail.loadFailed")));}});}refreshLatest(t,e){(e.length===0?Dg({}):this.jobsApi.latestBySubject(t,e)).pipe(ue(this.destroyRef)).subscribe({next:s=>this.latestBySubject.set(s),error:()=>this.latestBySubject.set({})});}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-view-detail"]],decls:4,vars:1,consts:[["data-testid","view-detail",1,"detail-page"],["data-testid","loading"],["data-testid","load-error",1,"error"],[1,"header"],["data-testid","view-name"],["nz-button","","nzType","primary","type","button","data-testid","run-on-all",3,"click","disabled"],["data-testid","launch-panel",1,"launch-panel"],["data-testid","empty-subjects",1,"muted"],[3,"rows","selectable","showRowAction"],["data-testid","launch-confirmation","nzType","success",3,"nzMessage"],["nz-button","","nzType","link","data-testid","open-batch",3,"routerLink"],["data-testid","no-bulk-workflows",1,"muted"],["data-testid","launch-workflow",1,"muted"],[3,"valuesChange","fields","values"],["data-testid","launch-error",1,"error"],[1,"launch-actions"],["nz-button","","nzType","primary","type","button","data-testid","launch-submit",3,"click","nzLoading","disabled"],["nz-button","","type","button","data-testid","launch-cancel",3,"click"],[3,"rowAction","bulkAction","rows","selectable","showRowAction"]],template:function(e,n){if(e&1&&(_i(0,"main",0),_D(1,it,3,3,"p",1)(2,nt,2,1,"p",2)(3,pt,10,8),Jc()),e&2){let s;gI(),MD(n.loading()?1:n.loadError()?2:(s=n.view())?3:-1,s);}},dependencies:[$8,v3,Gn,un,pf,bd,sp,fp,le,we,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:center}.header[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{margin:0}.field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem;min-width:14rem}.field[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{font-size:.85rem;color:#57534e}.launch-panel[_ngcontent-%COMP%]{padding:1rem;border:1px solid #d6d3d1;background:#ffffffb3}.launch-panel[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 .75rem;font-size:1.1rem}.launch-actions[_ngcontent-%COMP%]{display:flex;gap:.5rem;margin-top:.5rem}.muted[_ngcontent-%COMP%]{color:#78716c}.error[_ngcontent-%COMP%]{color:#9f1239}.actions[_ngcontent-%COMP%]{white-space:nowrap}[_nghost-%COMP%] .ant-table-tbody>tr>td{white-space:normal;vertical-align:top}"]});}}return i})();export{zt as ViewDetailComponent};
@@ -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-CHQMTVIP.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};
@@ -1 +1 @@
1
- import {C,ao as N2,ab as ix,bP as u,ap as cx,i as ie}from'./main-2ZW45HAE.js';var b=(()=>{class r{constructor(){this.http=C(N2),this.baseUrl=`${ix.apiBaseUrl}/workflows`;}list(t){return this.http.get(this.baseUrl,{params:u(t)}).pipe(cx())}get(t){return this.http.get(`${this.baseUrl}/${encodeURIComponent(t)}`).pipe(cx())}create(t){return this.http.post(this.baseUrl,t).pipe(cx())}update(t,i){return this.http.patch(`${this.baseUrl}/${encodeURIComponent(t)}`,i).pipe(cx())}delete(t){return this.http.delete(`${this.baseUrl}/${encodeURIComponent(t)}`).pipe(cx())}exportDefinition(t){return this.http.get(`${this.baseUrl}/${encodeURIComponent(t)}/export`).pipe(cx())}importDefinition(t){return this.http.post(`${this.baseUrl}/import`,t).pipe(cx())}getInstructions(){return this.http.get(`${this.baseUrl}/instructions`,{responseType:"text"}).pipe(cx())}static{this.\u0275fac=function(i){return new(i||r)};}static{this.\u0275prov=ie({token:r,factory:r.\u0275fac,providedIn:"root"});}}return r})();export{b};
1
+ import {C,b4 as N2,aV as ix,b_ as u,b5 as cx,i as ie}from'./main-CHQMTVIP.js';var b=(()=>{class r{constructor(){this.http=C(N2),this.baseUrl=`${ix.apiBaseUrl}/workflows`;}list(t){return this.http.get(this.baseUrl,{params:u(t)}).pipe(cx())}get(t){return this.http.get(`${this.baseUrl}/${encodeURIComponent(t)}`).pipe(cx())}create(t){return this.http.post(this.baseUrl,t).pipe(cx())}update(t,i){return this.http.patch(`${this.baseUrl}/${encodeURIComponent(t)}`,i).pipe(cx())}delete(t){return this.http.delete(`${this.baseUrl}/${encodeURIComponent(t)}`).pipe(cx())}exportDefinition(t){return this.http.get(`${this.baseUrl}/${encodeURIComponent(t)}/export`).pipe(cx())}importDefinition(t){return this.http.post(`${this.baseUrl}/import`,t).pipe(cx())}getInstructions(){return this.http.get(`${this.baseUrl}/instructions`,{responseType:"text"}).pipe(cx())}static{this.\u0275fac=function(i){return new(i||r)};}static{this.\u0275prov=ie({token:r,factory:r.\u0275fac,providedIn:"root"});}}return r})();export{b};