@knoflows/engine 0.1.0-alpha.10 → 0.1.0-alpha.11

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 (49) hide show
  1. package/dist/engine.js +12 -12
  2. package/package.json +1 -1
  3. package/static/assets/i18n/en.json +18 -0
  4. package/static/assets/i18n/es.json +18 -0
  5. package/static/{chunk-BFkZ796p.js → chunk-03U2wfYJ.js} +1 -1
  6. package/static/{chunk-jct1_zOr.js → chunk-6rAx_awr.js} +1 -1
  7. package/static/{chunk-3mppll1n.js → chunk-BGEuPXoV.js} +1 -1
  8. package/static/{chunk-hZzW00VR.js → chunk-BLVF0pVH.js} +1 -1
  9. package/static/{chunk-CJRNatUw.js → chunk-BfWasMGf.js} +1 -1
  10. package/static/{chunk-B8MrNxxk.js → chunk-Bvpl_AF9.js} +1 -1
  11. package/static/{chunk-CEcbtdnK.js → chunk-C2eCmH-q.js} +1 -1
  12. package/static/{chunk-DjibVmY7.js → chunk-CAjGF9LB.js} +1 -1
  13. package/static/{chunk-BAc0DRm8.js → chunk-CT8olEiD.js} +1 -1
  14. package/static/chunk-CUsAuTTX.js +1 -0
  15. package/static/chunk-CgXl_TS9.js +1 -0
  16. package/static/{chunk-BbcTWKT2.js → chunk-CqGGDoIh.js} +1 -1
  17. package/static/{chunk-tYnBYi0l.js → chunk-Crj-4pl_.js} +1 -1
  18. package/static/{chunk-DNOjVPY0.js → chunk-Ct30cLzT.js} +1 -1
  19. package/static/{chunk-wbdetocK.js → chunk-Cw0wBuEr.js} +3 -3
  20. package/static/chunk-CxICQyU8.js +1 -0
  21. package/static/{chunk-B2hO-qT3.js → chunk-DGHakffX.js} +1 -1
  22. package/static/chunk-DIakbH9x.js +1 -0
  23. package/static/{chunk-BjZIiizu.js → chunk-DIntI-KR.js} +1 -1
  24. package/static/{chunk-W5GAgssE.js → chunk-DPWE5cPY.js} +1 -1
  25. package/static/{chunk-Cd8F2jeN.js → chunk-DU6MKU0d.js} +1 -1
  26. package/static/{chunk-Cf_xd8ER.js → chunk-DUR5PalP.js} +1 -1
  27. package/static/{chunk-2KSNHCgb.js → chunk-DWLHaSHg.js} +1 -1
  28. package/static/{chunk-CDWIMt6y.js → chunk-D_R_EFd2.js} +1 -1
  29. package/static/{chunk-Ojn34cvU.js → chunk-DinAvqzQ.js} +1 -1
  30. package/static/{chunk-CWbxWv5I.js → chunk-DlsGU_Dk.js} +1 -1
  31. package/static/{chunk-DblClAqu.js → chunk-DwA32gts.js} +1 -1
  32. package/static/{chunk-DQnMulwi.js → chunk-IOVwMLns.js} +1 -1
  33. package/static/{chunk-cHfOiAJm.js → chunk-L_FnMwpH.js} +1 -1
  34. package/static/{chunk-XLpSkczx.js → chunk-NAyA7aWR.js} +1 -1
  35. package/static/{chunk-eSxb3-OU.js → chunk-TNH96m0D.js} +1 -1
  36. package/static/{chunk-CJDp11v5.js → chunk-Vz5kd858.js} +1 -1
  37. package/static/{chunk-BUuwGTt7.js → chunk-dUlsh7QS.js} +6 -6
  38. package/static/{chunk-A4AkMf2s.js → chunk-h3oyPsBC.js} +1 -1
  39. package/static/{chunk-BVw7xkK9.js → chunk-hKpVm95g.js} +1 -1
  40. package/static/chunk-qYK5KaAK.js +1 -0
  41. package/static/{chunk-mzyds3TS.js → chunk-qwukwlIj.js} +1 -1
  42. package/static/{chunk-CgqRVtSF.js → chunk-vPa4eOmU.js} +1 -1
  43. package/static/index.html +1 -1
  44. package/static/{main-MNK6ZYDO.js → main-HV5WDK2F.js} +1 -1
  45. package/static/chunk-6BQlxALO.js +0 -1
  46. package/static/chunk-BNOYZq-b.js +0 -1
  47. package/static/chunk-BhGgxvgu.js +0 -1
  48. package/static/chunk-D6YfO72h.js +0 -1
  49. package/static/chunk-DoXxOh8j.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knoflows/engine",
3
- "version": "0.1.0-alpha.10",
3
+ "version": "0.1.0-alpha.11",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {
@@ -80,6 +80,12 @@
80
80
  "file-browser.browseDirectory": "Browse for a folder",
81
81
  "file-browser.useFolder": "Use this folder",
82
82
  "file-browser.loadFailed": "Failed to list this directory",
83
+ "path-picker.browse": "Browse...",
84
+ "path-picker.selectFile": "Select this file",
85
+ "path-picker.placeholderFile": "File path",
86
+ "path-picker.placeholderDirectory": "Folder path",
87
+ "path-picker.modalTitleFile": "Select a file",
88
+ "path-picker.modalTitleDirectory": "Select a folder",
83
89
  "manage.views.title": "Views & Shortcuts",
84
90
  "manage.views.createView": "Create a View",
85
91
  "manage.views.createShortcut": "Create a Shortcut",
@@ -264,6 +270,18 @@
264
270
  "step-list.maxIterations": "Max iterations",
265
271
  "step-list.onMaxIterations.action": "onMaxIterations.action",
266
272
  "step-list.nestedSteps": "Nested steps",
273
+ "step-list.availableParameters.title": "Available Parameters",
274
+ "step-list.availableParameters.hint": "Click a token to copy it. Only values already available when this step runs are listed.",
275
+ "step-list.availableParameters.inputs": "Workflow Inputs",
276
+ "step-list.availableParameters.subject": "Subject",
277
+ "step-list.availableParameters.previous": "Previous Steps",
278
+ "step-list.availableParameters.loopOverwrite": "Loop iterations overwrite this value; later references see the most recent pass.",
279
+ "step-list.availableParameters.noOutput": "No output fields",
280
+ "step-list.availableParameters.providerOpaque": "Result of {{action}} — inspect at runtime",
281
+ "step-list.availableParameters.interactionOpaque": "Shape depends on the questions asked",
282
+ "step-list.availableParameters.subWorkflowArray": "Array of { fanOutIndex, jobId, output }",
283
+ "step-list.availableParameters.noPrevious": "No previous steps",
284
+ "step-list.availableParameters.missingId": "Set an id to copy tokens",
267
285
  "step-list.stepType.agent": "Agent",
268
286
  "step-list.stepType.interaction": "Human interaction",
269
287
  "step-list.stepType.shell": "Shell",
@@ -80,6 +80,12 @@
80
80
  "file-browser.browseDirectory": "Buscar una carpeta",
81
81
  "file-browser.useFolder": "Usar esta carpeta",
82
82
  "file-browser.loadFailed": "No se pudo listar este directorio",
83
+ "path-picker.browse": "Examinar...",
84
+ "path-picker.selectFile": "Seleccionar este archivo",
85
+ "path-picker.placeholderFile": "Ruta del archivo",
86
+ "path-picker.placeholderDirectory": "Ruta de la carpeta",
87
+ "path-picker.modalTitleFile": "Seleccionar un archivo",
88
+ "path-picker.modalTitleDirectory": "Seleccionar una carpeta",
83
89
  "manage.views.title": "Vistas y atajos",
84
90
  "manage.views.createView": "Crear una vista",
85
91
  "manage.views.createShortcut": "Crear un atajo",
@@ -264,6 +270,18 @@
264
270
  "step-list.maxIterations": "Iteraciones máximas",
265
271
  "step-list.onMaxIterations.action": "onMaxIterations.action",
266
272
  "step-list.nestedSteps": "Pasos anidados",
273
+ "step-list.availableParameters.title": "Parámetros disponibles",
274
+ "step-list.availableParameters.hint": "Haz clic en un token para copiarlo. Solo se listan valores ya disponibles cuando se ejecuta este paso.",
275
+ "step-list.availableParameters.inputs": "Entradas del flujo",
276
+ "step-list.availableParameters.subject": "Sujeto",
277
+ "step-list.availableParameters.previous": "Pasos anteriores",
278
+ "step-list.availableParameters.loopOverwrite": "Las iteraciones del bucle sobrescriben este valor; las referencias posteriores ven el resultado de la última pasada.",
279
+ "step-list.availableParameters.noOutput": "Sin campos de salida",
280
+ "step-list.availableParameters.providerOpaque": "Resultado de {{action}} — inspeccionar en tiempo de ejecución",
281
+ "step-list.availableParameters.interactionOpaque": "La forma depende de las preguntas hechas",
282
+ "step-list.availableParameters.subWorkflowArray": "Array de { fanOutIndex, jobId, output }",
283
+ "step-list.availableParameters.noPrevious": "Ningún paso anterior",
284
+ "step-list.availableParameters.missingId": "Asigna un id para copiar tokens",
267
285
  "step-list.stepType.agent": "agent",
268
286
  "step-list.stepType.interaction": "interaction",
269
287
  "step-list.stepType.shell": "shell",
@@ -1,4 +1,4 @@
1
- import {G as Gn,u as un}from'./chunk-eSxb3-OU.js';import {f}from'./chunk-CJRNatUw.js';import {B as Bt}from'./chunk-BjZIiizu.js';import {c,u,f as f$1,o as o$1,l}from'./chunk-CxBYhrEj.js';import {W,I}from'./chunk-DNOjVPY0.js';import'./chunk-3mppll1n.js';import'./chunk-CEcbtdnK.js';import {C,a as ae,T as Ie$1,$,V as Ve$1,b as at,q as qo,H as Hw,u as ue$1,W as rd,Y as Bw,o,Q as QE,M as Mi,L as Ln,d as dd,z as zc,c as t7,Z as y7,K as Kt,f as _i,m as bD,g as Kc,p as gI,B as _D,a0 as $0,a1 as B0,v as vw,R as Rw,P as Ph,O as Ow,E as VD,F as LD,h as gh,G as Pu,I as Lu,w as nl,a2 as Pw,a3 as xw,x as ch,N as ND,A as xD,l as lh,a4 as Mh,a5 as ah,U as Lh,a6 as Nw,a7 as MD}from'./main-MNK6ZYDO.js';var pe=t=>({index:t}),ue=()=>[],ge=(t,s)=>s.definition.id,he=(t,s)=>s.index;function Se(t,s){if(t&1){let e=LD();_i(0,"div",1)(1,"button",2),gh("click",function(){Pu(e);let o=VD();return Lu(o.closeIteration())}),vw(2),Rw(3,"transloco"),Kc(),_i(4,"p",3),vw(5),Rw(6,"transloco"),Kc(),_i(7,"app-job-step-workspace",4),gh("selectExecution",function(o){Pu(e);let f=VD();return Lu(f.onNestedSelect(o))})("retryStep",function(){Pu(e);let o=VD();return Lu(o.retryStep.emit())}),Kc()();}if(t&2){let e=s,i=VD();gI(2),nl(" ",Ow(3,11,"jobs.detail.loopBack")," "),gI(3),nl(" ",Pw(6,13,"jobs.detail.loopIteration",xw(16,pe,e.index+1))," "),gI(2),ch("definitions",i.nestedLoopDefinition().steps)("executions",e.stepExecutions)("job",i.job())("selectedExecutionId",i.nestedSelectedId())("currentExecutionId",i.currentExecutionId())("waitingEvent",null)("canResume",false)("canRetryStep",i.canRetryStep())("retryingStep",i.retryingStep());}}function ve(t,s){if(t&1&&(_i(0,"nz-tag"),vw(1),Rw(2,"transloco"),Kc()),t&2){let e=VD().$implicit,i=VD(2);ah("data-testid","step-status-"+e.definition.id),gI(),Ph(Ow(2,2,i.stepStatusKey(s.status)));}}function Ee(t,s){if(t&1){let e=LD();_i(0,"li")(1,"button",9),gh("click",function(){let o=Pu(e).$implicit,f=VD(2);return Lu(f.onStepClick(o))}),_i(2,"span",10),vw(3),Kc(),_i(4,"span",11)(5,"span",12),vw(6),Rw(7,"transloco"),Kc(),bD(8,ve,3,4,"nz-tag"),Kc()()();}if(t&2){let e,i=s.$implicit,o=VD(2);gI(),Mh("selected",o.isSelected(i))("current",o.isCurrent(i))("unreached",!i.reached),ch("disabled",!i.reached),ah("data-testid","step-"+i.definition.id),gI(2),Ph(i.definition.name),gI(3),Ph(Ow(7,11,o.stepTypeKey(i.definition.type))),gI(2),_D((e=i.execution)?8:-1,e);}}function ye(t,s){t&1&&(_i(0,"p",8),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),nl(" ",Ow(2,1,"jobs.detail.noStepSelected")," "));}function we(t,s){t&1&&(_i(0,"p",16),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),Ph(Ow(2,1,"jobs.detail.inProgress.loop")));}function ke(t,s){if(t&1){let e=LD();_i(0,"li")(1,"button",19),gh("click",function(){let o=Pu(e).$implicit,f=VD(4);return Lu(f.openIteration(f.selectedDefinition(),o))}),vw(2),Rw(3,"transloco"),Kc()();}if(t&2){let e=s.$implicit;gI(),ah("data-testid","loop-iteration-"+e.index),gI(),nl(" ",Pw(3,2,"jobs.detail.loopIteration",xw(5,pe,e.index+1))," ");}}function Te(t,s){t&1&&(_i(0,"li",12),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),Ph(Ow(2,1,"jobs.detail.noIterations")));}function Ie(t,s){if(t&1&&(_i(0,"p",18),vw(1),Kc()),t&2){let e=VD(4);gI(),Ph(e.selectedExecution().error);}}function je(t,s){if(t&1&&(_i(0,"div",13)(1,"h3"),vw(2),Kc(),bD(3,we,3,3,"p",16),_i(4,"ul",17),ND(5,ke,4,7,"li",null,he,false,Te,3,3,"li",12),Kc(),bD(8,Ie,2,1,"p",18),Kc()),t&2){let e=VD(3);gI(2),Ph(e.selectedDefinition()?.name),gI(),_D(e.isRunning(e.selectedExecution())?3:-1),gI(2),xD(e.selectedExecution().iterations??Nw(4,ue)),gI(3),_D(e.selectedExecution().error?8:-1);}}function Me(t,s){t&1&&(_i(0,"p",16),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),nl(" ",Ow(2,1,"jobs.detail.inProgress.sub_workflow")," "));}function De(t,s){if(t&1&&(_i(0,"p",18),vw(1),Kc()),t&2){let e=VD(4);gI(),Ph(e.selectedExecution().error);}}function Je(t,s){if(t&1&&(_i(0,"div",14)(1,"h3"),vw(2),Kc(),bD(3,Me,3,3,"p",16),lh(4,"app-job-status-table",20),bD(5,De,2,1,"p",18),Kc()),t&2){let e=VD(3);gI(2),Ph(e.selectedDefinition()?.name),gI(),_D(e.isRunning(e.selectedExecution())?3:-1),gI(),ch("jobIds",e.selectedExecution().childJobIds??Nw(4,ue)),gI(),_D(e.selectedExecution().error?5:-1);}}function Pe(t,s){if(t&1&&(_i(0,"li"),vw(1),Kc()),t&2){let e=s.$implicit;gI(),Ph(e);}}function Ne(t,s){t&1&&(_i(0,"li",12),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),Ph(Ow(2,1,"jobs.resume.noQuestions")));}function We(t,s){if(t&1&&(_i(0,"p",25),vw(1),Kc()),t&2){let e=VD(5);gI(),Ph(e.resumeParseError());}}function ze(t,s){if(t&1){let e=LD();_i(0,"section",21)(1,"h4"),vw(2),Rw(3,"transloco"),Kc(),_i(4,"ul",23),ND(5,Pe,2,1,"li",null,MD,false,Ne,3,3,"li",12),Kc(),_i(8,"label"),vw(9),Rw(10,"transloco"),_i(11,"textarea",24),gh("input",function(o){Pu(e);let f=VD(4);return Lu(f.onResumeTextInput(o))}),Kc()(),bD(12,We,2,1,"p",25),_i(13,"button",26),gh("click",function(){Pu(e);let o=VD(4);return Lu(o.resumeSubmit.emit())}),vw(14),Rw(15,"transloco"),Kc()();}if(t&2){let e=VD(4);gI(2),Ph(Ow(3,7,"jobs.resume.heading")),gI(3),xD(e.waitingPrompts()),gI(4),nl(" ",Ow(10,9,"jobs.resume.jsonLabel")," "),gI(2),ch("value",e.resumeText()),gI(),_D(e.resumeParseError()?12:-1),gI(),ch("disabled",e.resuming()),gI(),nl(" ",Ow(15,11,e.resuming()?"jobs.resume.submitting":"jobs.resume.button")," ");}}function Re(t,s){if(t&1&&(_i(0,"pre",22),vw(1),Kc()),t&2){let e=VD(4);gI(),Ph(e.formatOutput(e.selectedExecution()));}}function Oe(t,s){if(t&1&&(_i(0,"div",15)(1,"h3"),vw(2),Kc(),bD(3,ze,16,13,"section",21)(4,Re,2,1,"pre",22),Kc()),t&2){let e=VD(3);gI(2),Ph(e.selectedDefinition()?.name),gI(),_D(e.showResume()?3:4);}}function Ve(t,s){if(t&1&&(_i(0,"p",16),vw(1),Rw(2,"transloco"),Kc()),t&2){let e=VD(4);gI(),nl(" ",Ow(2,1,"jobs.detail.inProgress."+e.selectedExecution().type)," ");}}function Be(t,s){if(t&1){let e=LD();_i(0,"button",29),gh("click",function(){Pu(e);let o=VD(5);return Lu(o.retryStep.emit())}),vw(1),Rw(2,"transloco"),Kc();}if(t&2){let e=VD(5);ch("disabled",e.retryingStep()),gI(),nl(" ",Ow(2,2,e.retryingStep()?"jobs.detail.retrying":"jobs.detail.retryStep")," ");}}function Fe(t,s){if(t&1&&(_i(0,"p",27),vw(1),Kc(),bD(2,Be,3,4,"button",28)),t&2){let e=VD(4);gI(),Ph(e.selectedExecution().error),gI(),_D(e.showRetryStep()?2:-1);}}function Ae(t,s){if(t&1&&(_i(0,"pre",22),vw(1),Kc()),t&2){let e=VD(4);gI(),Ph(e.formatOutput(e.selectedExecution()));}}function Le(t,s){if(t&1&&(_i(0,"div")(1,"h3"),vw(2),Kc(),bD(3,Ve,3,3,"p",16)(4,Fe,3,2)(5,Ae,2,1,"pre",22),Kc()),t&2){let e=VD(3);ah("data-testid",e.selectedExecution().type+"-view"),gI(2),Ph(e.selectedDefinition()?.name),gI(),_D(e.isRunning(e.selectedExecution())?3:e.selectedExecution().error||e.selectedExecution().status==="failed"?4:5);}}function $e(t,s){if(t&1&&bD(0,je,9,5,"div",13)(1,Je,6,5,"div",14)(2,Oe,5,2,"div",15)(3,Le,6,3,"div"),t&2){let e,i=VD(2);_D((e=i.selectedExecution().type)==="loop"?0:e==="sub_workflow"?1:e==="interaction"?2:3);}}function qe(t,s){if(t&1&&(_i(0,"aside",5)(1,"h3"),vw(2),Rw(3,"transloco"),Kc(),_i(4,"ul",6),ND(5,Ee,9,13,"li",null,ge),Kc()(),_i(7,"section",7),bD(8,ye,3,3,"p",8)(9,$e,4,1),Kc()),t&2){let e=VD();gI(2),Ph(Ow(3,2,"jobs.detail.stepsHeading")),gI(3),xD(e.rows()),gI(3),_D(e.selectedExecution()?9:8);}}var me=(()=>{class t{constructor(){this.definitions=$0.required(),this.executions=$0.required(),this.job=$0.required(),this.selectedExecutionId=$0(null),this.currentExecutionId=$0(null),this.waitingEvent=$0(null),this.resumeText=$0(`{
1
+ import {G as Gn,u as un}from'./chunk-TNH96m0D.js';import {f}from'./chunk-BfWasMGf.js';import {B as Bt}from'./chunk-DIntI-KR.js';import {c,u,f as f$1,o as o$1,l}from'./chunk-CxBYhrEj.js';import {W,I}from'./chunk-Ct30cLzT.js';import'./chunk-BGEuPXoV.js';import'./chunk-C2eCmH-q.js';import {C,a as ae,T as Ie$1,$,V as Ve$1,b as at,q as qo,H as Hw,u as ue$1,W as rd,Y as Bw,o,Q as QE,M as Mi,L as Ln,d as dd,z as zc,c as t7,Z as y7,K as Kt,f as _i,m as bD,g as Kc,p as gI,B as _D,a0 as $0,a1 as B0,v as vw,R as Rw,P as Ph,O as Ow,E as VD,F as LD,h as gh,G as Pu,I as Lu,w as nl,a2 as Pw,a3 as xw,x as ch,N as ND,A as xD,l as lh,a4 as Mh,a5 as ah,U as Lh,a6 as Nw,a7 as MD}from'./main-HV5WDK2F.js';var pe=t=>({index:t}),ue=()=>[],ge=(t,s)=>s.definition.id,he=(t,s)=>s.index;function Se(t,s){if(t&1){let e=LD();_i(0,"div",1)(1,"button",2),gh("click",function(){Pu(e);let o=VD();return Lu(o.closeIteration())}),vw(2),Rw(3,"transloco"),Kc(),_i(4,"p",3),vw(5),Rw(6,"transloco"),Kc(),_i(7,"app-job-step-workspace",4),gh("selectExecution",function(o){Pu(e);let f=VD();return Lu(f.onNestedSelect(o))})("retryStep",function(){Pu(e);let o=VD();return Lu(o.retryStep.emit())}),Kc()();}if(t&2){let e=s,i=VD();gI(2),nl(" ",Ow(3,11,"jobs.detail.loopBack")," "),gI(3),nl(" ",Pw(6,13,"jobs.detail.loopIteration",xw(16,pe,e.index+1))," "),gI(2),ch("definitions",i.nestedLoopDefinition().steps)("executions",e.stepExecutions)("job",i.job())("selectedExecutionId",i.nestedSelectedId())("currentExecutionId",i.currentExecutionId())("waitingEvent",null)("canResume",false)("canRetryStep",i.canRetryStep())("retryingStep",i.retryingStep());}}function ve(t,s){if(t&1&&(_i(0,"nz-tag"),vw(1),Rw(2,"transloco"),Kc()),t&2){let e=VD().$implicit,i=VD(2);ah("data-testid","step-status-"+e.definition.id),gI(),Ph(Ow(2,2,i.stepStatusKey(s.status)));}}function Ee(t,s){if(t&1){let e=LD();_i(0,"li")(1,"button",9),gh("click",function(){let o=Pu(e).$implicit,f=VD(2);return Lu(f.onStepClick(o))}),_i(2,"span",10),vw(3),Kc(),_i(4,"span",11)(5,"span",12),vw(6),Rw(7,"transloco"),Kc(),bD(8,ve,3,4,"nz-tag"),Kc()()();}if(t&2){let e,i=s.$implicit,o=VD(2);gI(),Mh("selected",o.isSelected(i))("current",o.isCurrent(i))("unreached",!i.reached),ch("disabled",!i.reached),ah("data-testid","step-"+i.definition.id),gI(2),Ph(i.definition.name),gI(3),Ph(Ow(7,11,o.stepTypeKey(i.definition.type))),gI(2),_D((e=i.execution)?8:-1,e);}}function ye(t,s){t&1&&(_i(0,"p",8),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),nl(" ",Ow(2,1,"jobs.detail.noStepSelected")," "));}function we(t,s){t&1&&(_i(0,"p",16),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),Ph(Ow(2,1,"jobs.detail.inProgress.loop")));}function ke(t,s){if(t&1){let e=LD();_i(0,"li")(1,"button",19),gh("click",function(){let o=Pu(e).$implicit,f=VD(4);return Lu(f.openIteration(f.selectedDefinition(),o))}),vw(2),Rw(3,"transloco"),Kc()();}if(t&2){let e=s.$implicit;gI(),ah("data-testid","loop-iteration-"+e.index),gI(),nl(" ",Pw(3,2,"jobs.detail.loopIteration",xw(5,pe,e.index+1))," ");}}function Te(t,s){t&1&&(_i(0,"li",12),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),Ph(Ow(2,1,"jobs.detail.noIterations")));}function Ie(t,s){if(t&1&&(_i(0,"p",18),vw(1),Kc()),t&2){let e=VD(4);gI(),Ph(e.selectedExecution().error);}}function je(t,s){if(t&1&&(_i(0,"div",13)(1,"h3"),vw(2),Kc(),bD(3,we,3,3,"p",16),_i(4,"ul",17),ND(5,ke,4,7,"li",null,he,false,Te,3,3,"li",12),Kc(),bD(8,Ie,2,1,"p",18),Kc()),t&2){let e=VD(3);gI(2),Ph(e.selectedDefinition()?.name),gI(),_D(e.isRunning(e.selectedExecution())?3:-1),gI(2),xD(e.selectedExecution().iterations??Nw(4,ue)),gI(3),_D(e.selectedExecution().error?8:-1);}}function Me(t,s){t&1&&(_i(0,"p",16),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),nl(" ",Ow(2,1,"jobs.detail.inProgress.sub_workflow")," "));}function De(t,s){if(t&1&&(_i(0,"p",18),vw(1),Kc()),t&2){let e=VD(4);gI(),Ph(e.selectedExecution().error);}}function Je(t,s){if(t&1&&(_i(0,"div",14)(1,"h3"),vw(2),Kc(),bD(3,Me,3,3,"p",16),lh(4,"app-job-status-table",20),bD(5,De,2,1,"p",18),Kc()),t&2){let e=VD(3);gI(2),Ph(e.selectedDefinition()?.name),gI(),_D(e.isRunning(e.selectedExecution())?3:-1),gI(),ch("jobIds",e.selectedExecution().childJobIds??Nw(4,ue)),gI(),_D(e.selectedExecution().error?5:-1);}}function Pe(t,s){if(t&1&&(_i(0,"li"),vw(1),Kc()),t&2){let e=s.$implicit;gI(),Ph(e);}}function Ne(t,s){t&1&&(_i(0,"li",12),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),Ph(Ow(2,1,"jobs.resume.noQuestions")));}function We(t,s){if(t&1&&(_i(0,"p",25),vw(1),Kc()),t&2){let e=VD(5);gI(),Ph(e.resumeParseError());}}function ze(t,s){if(t&1){let e=LD();_i(0,"section",21)(1,"h4"),vw(2),Rw(3,"transloco"),Kc(),_i(4,"ul",23),ND(5,Pe,2,1,"li",null,MD,false,Ne,3,3,"li",12),Kc(),_i(8,"label"),vw(9),Rw(10,"transloco"),_i(11,"textarea",24),gh("input",function(o){Pu(e);let f=VD(4);return Lu(f.onResumeTextInput(o))}),Kc()(),bD(12,We,2,1,"p",25),_i(13,"button",26),gh("click",function(){Pu(e);let o=VD(4);return Lu(o.resumeSubmit.emit())}),vw(14),Rw(15,"transloco"),Kc()();}if(t&2){let e=VD(4);gI(2),Ph(Ow(3,7,"jobs.resume.heading")),gI(3),xD(e.waitingPrompts()),gI(4),nl(" ",Ow(10,9,"jobs.resume.jsonLabel")," "),gI(2),ch("value",e.resumeText()),gI(),_D(e.resumeParseError()?12:-1),gI(),ch("disabled",e.resuming()),gI(),nl(" ",Ow(15,11,e.resuming()?"jobs.resume.submitting":"jobs.resume.button")," ");}}function Re(t,s){if(t&1&&(_i(0,"pre",22),vw(1),Kc()),t&2){let e=VD(4);gI(),Ph(e.formatOutput(e.selectedExecution()));}}function Oe(t,s){if(t&1&&(_i(0,"div",15)(1,"h3"),vw(2),Kc(),bD(3,ze,16,13,"section",21)(4,Re,2,1,"pre",22),Kc()),t&2){let e=VD(3);gI(2),Ph(e.selectedDefinition()?.name),gI(),_D(e.showResume()?3:4);}}function Ve(t,s){if(t&1&&(_i(0,"p",16),vw(1),Rw(2,"transloco"),Kc()),t&2){let e=VD(4);gI(),nl(" ",Ow(2,1,"jobs.detail.inProgress."+e.selectedExecution().type)," ");}}function Be(t,s){if(t&1){let e=LD();_i(0,"button",29),gh("click",function(){Pu(e);let o=VD(5);return Lu(o.retryStep.emit())}),vw(1),Rw(2,"transloco"),Kc();}if(t&2){let e=VD(5);ch("disabled",e.retryingStep()),gI(),nl(" ",Ow(2,2,e.retryingStep()?"jobs.detail.retrying":"jobs.detail.retryStep")," ");}}function Fe(t,s){if(t&1&&(_i(0,"p",27),vw(1),Kc(),bD(2,Be,3,4,"button",28)),t&2){let e=VD(4);gI(),Ph(e.selectedExecution().error),gI(),_D(e.showRetryStep()?2:-1);}}function Ae(t,s){if(t&1&&(_i(0,"pre",22),vw(1),Kc()),t&2){let e=VD(4);gI(),Ph(e.formatOutput(e.selectedExecution()));}}function Le(t,s){if(t&1&&(_i(0,"div")(1,"h3"),vw(2),Kc(),bD(3,Ve,3,3,"p",16)(4,Fe,3,2)(5,Ae,2,1,"pre",22),Kc()),t&2){let e=VD(3);ah("data-testid",e.selectedExecution().type+"-view"),gI(2),Ph(e.selectedDefinition()?.name),gI(),_D(e.isRunning(e.selectedExecution())?3:e.selectedExecution().error||e.selectedExecution().status==="failed"?4:5);}}function $e(t,s){if(t&1&&bD(0,je,9,5,"div",13)(1,Je,6,5,"div",14)(2,Oe,5,2,"div",15)(3,Le,6,3,"div"),t&2){let e,i=VD(2);_D((e=i.selectedExecution().type)==="loop"?0:e==="sub_workflow"?1:e==="interaction"?2:3);}}function qe(t,s){if(t&1&&(_i(0,"aside",5)(1,"h3"),vw(2),Rw(3,"transloco"),Kc(),_i(4,"ul",6),ND(5,Ee,9,13,"li",null,ge),Kc()(),_i(7,"section",7),bD(8,ye,3,3,"p",8)(9,$e,4,1),Kc()),t&2){let e=VD();gI(2),Ph(Ow(3,2,"jobs.detail.stepsHeading")),gI(3),xD(e.rows()),gI(3),_D(e.selectedExecution()?9:8);}}var me=(()=>{class t{constructor(){this.definitions=$0.required(),this.executions=$0.required(),this.job=$0.required(),this.selectedExecutionId=$0(null),this.currentExecutionId=$0(null),this.waitingEvent=$0(null),this.resumeText=$0(`{
2
2
 
3
3
  }`),this.resumeParseError=$0(null),this.resuming=$0(false),this.canResume=$0(false),this.canRetryStep=$0(false),this.retryingStep=$0(false),this.selectExecution=B0(),this.resumeTextChange=B0(),this.resumeSubmit=B0(),this.retryStep=B0(),this.nestedIteration=qo(null),this.nestedLoopDefinition=qo(null),this.nestedSelectedId=qo(null),this.rows=Hw(()=>o$1(this.definitions(),this.executions())),this.selectedExecution=Hw(()=>{let e=this.selectedExecutionId();return e?this.executions().find(i=>i.id===e)??null:null}),this.selectedDefinition=Hw(()=>{let e=this.selectedExecution();return e?this.definitions().find(i=>i.id===e.stepDefinitionId)??null:null}),this.waitingPrompts=Hw(()=>{let e=this.waitingEvent();return e?e.questions.length>0?e.questions:e.data!=null?[JSON.stringify(e.data,null,2)]:[]:[]}),this.showResume=Hw(()=>{if(!this.canResume())return false;let e=this.selectedExecution(),i=this.currentExecutionId();return e!=null&&e.id===i&&e.type==="interaction"&&this.job().status==="waiting_for_human"}),this.showRetryStep=Hw(()=>{if(!this.canRetryStep())return false;let e=this.selectedExecution();return !e||e.status!=="failed"||e.id!==this.currentExecutionId()?false:l(e.type)});}stepStatusKey(e){return `jobs.stepStatus.${e}`}stepTypeKey(e){return `step-list.stepType.${e}`}onStepClick(e){!e.reached||!e.execution||(this.nestedIteration.set(null),this.nestedLoopDefinition.set(null),this.selectExecution.emit(e.execution.id));}openIteration(e,i){this.nestedLoopDefinition.set(e),this.nestedIteration.set(i);let o=i.stepExecutions[0];this.nestedSelectedId.set(o?.id??null);}closeIteration(){this.nestedIteration.set(null),this.nestedLoopDefinition.set(null),this.nestedSelectedId.set(null);}onNestedSelect(e){this.nestedSelectedId.set(e);}onResumeTextInput(e){this.resumeTextChange.emit(e.target.value);}formatOutput(e){return e.error?e.error:e.output===void 0?"":typeof e.output=="string"?e.output:JSON.stringify(e.output,null,2)}isRunning(e){return e?.status==="running"}isSelected(e){return e.execution!=null&&e.execution.id===this.selectedExecutionId()}isCurrent(e){return e.execution!=null&&e.execution.id===this.currentExecutionId()}static{this.\u0275fac=function(i){return new(i||t)};}static{this.\u0275cmp=QE({type:t,selectors:[["app-job-step-workspace"]],inputs:{definitions:[1,"definitions"],executions:[1,"executions"],job:[1,"job"],selectedExecutionId:[1,"selectedExecutionId"],currentExecutionId:[1,"currentExecutionId"],waitingEvent:[1,"waitingEvent"],resumeText:[1,"resumeText"],resumeParseError:[1,"resumeParseError"],resuming:[1,"resuming"],canResume:[1,"canResume"],canRetryStep:[1,"canRetryStep"],retryingStep:[1,"retryingStep"]},outputs:{selectExecution:"selectExecution",resumeTextChange:"resumeTextChange",resumeSubmit:"resumeSubmit",retryStep:"retryStep"},decls:3,vars:1,consts:[["data-testid","job-step-workspace",1,"workspace"],["data-testid","loop-drill-in",1,"nested"],["nz-button","","nzType","link","type","button","data-testid","loop-back",3,"click"],[1,"nested-label"],[3,"selectExecution","retryStep","definitions","executions","job","selectedExecutionId","currentExecutionId","waitingEvent","canResume","canRetryStep","retryingStep"],["data-testid","step-side-panel",1,"side-panel"],[1,"step-list"],["data-testid","step-main-area",1,"main-area"],["data-testid","no-step-selected",1,"muted"],["type","button",1,"step-button",3,"click","disabled"],[1,"step-name"],[1,"step-meta"],[1,"muted"],["data-testid","loop-view"],["data-testid","sub-workflow-view"],["data-testid","interaction-view"],["data-testid","step-in-progress"],["data-testid","loop-iterations",1,"iteration-list"],[1,"error"],["nz-button","","nzType","link","type","button",3,"click"],[3,"jobIds"],["data-testid","resume-form",1,"resume"],["data-testid","step-output"],["data-testid","waiting-questions"],["data-testid","resume-json","rows","8",3,"input","value"],["data-testid","resume-parse-error",1,"error"],["nz-button","","nzType","primary","type","button","data-testid","resume-button",3,"click","disabled"],["data-testid","step-error",1,"error"],["nz-button","","nzType","primary","type","button","data-testid","retry-step",3,"disabled"],["nz-button","","nzType","primary","type","button","data-testid","retry-step",3,"click","disabled"]],template:function(i,o){if(i&1&&(_i(0,"div",0),bD(1,Se,8,18,"div",1)(2,qe,10,4),Kc()),i&2){let f;gI(),_D((f=o.nestedIteration())?1:2,f);}},dependencies:[t,Mi,dd,zc,t7,y7,W,I,Bt,Kt],styles:[".workspace[_ngcontent-%COMP%]{display:grid;grid-template-columns:minmax(14rem,18rem) 1fr;gap:1rem;align-items:start;min-height:20rem}.nested[_ngcontent-%COMP%]{grid-column:1 / -1}.nested-label[_ngcontent-%COMP%]{margin:0 0 .75rem;color:#57534e}.side-panel[_ngcontent-%COMP%]{border:1px solid #d6d3d1;background:#ffffffbf;padding:.75rem}.side-panel[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin:0 0 .5rem;font-size:1rem}.step-list[_ngcontent-%COMP%]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.step-button[_ngcontent-%COMP%]{width:100%;text-align:left;font:inherit;padding:.45rem .55rem;border:1px solid transparent;background:transparent;cursor:pointer;display:flex;flex-direction:column;gap:.2rem}.step-button[_ngcontent-%COMP%]:hover:not(:disabled){background:#f5f5f4}.step-button.selected[_ngcontent-%COMP%]{border-color:#a8a29e;background:#fafaf9}.step-button.current[_ngcontent-%COMP%]{box-shadow:inset 3px 0 #0c0a09}.step-button[_ngcontent-%COMP%]:disabled, .step-button.unreached[_ngcontent-%COMP%]{opacity:.55;cursor:not-allowed}.step-name[_ngcontent-%COMP%]{font-weight:600}.step-meta[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;font-size:.8rem}.main-area[_ngcontent-%COMP%]{border:1px solid #d6d3d1;background:#ffffffd9;padding:1rem;min-height:16rem}.main-area[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{margin-top:0}.muted[_ngcontent-%COMP%]{color:#78716c}.error[_ngcontent-%COMP%]{color:#9f1239}[data-testid=retry-step][_ngcontent-%COMP%]{margin-top:.5rem}pre[_ngcontent-%COMP%]{overflow:auto;padding:.75rem;background:#f5f5f4;border:1px solid #d6d3d1;font-size:.85rem}.iteration-list[_ngcontent-%COMP%]{padding-left:1.1rem}.resume[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem;margin:.75rem 0}.resume[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{font:inherit;font-family:ui-monospace,Consolas,monospace;padding:.4rem .5rem;border:1px solid #a8a29e}@media(max-width:48rem){.workspace[_ngcontent-%COMP%]{grid-template-columns:1fr}}"]});}}return t})();function Ke(t,s){t&1&&(_i(0,"p",1),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),Ph(Ow(2,1,"common.loading")));}function Qe(t,s){if(t&1&&(_i(0,"p",2),vw(1),Kc()),t&2){let e=VD();gI(),Ph(e.loadError());}}function He(t,s){if(t&1&&(vw(0),Rw(1,"transloco")),t&2){let e=VD(2);Lh(" ",Ow(1,2,"jobs.detail.worktreeDeleted")," ",e.worktreeDeletedAt," ");}}function Ue(t,s){if(t&1&&vw(0),t&2){let e=VD(3);nl(" (",e.branch,") ");}}function Ge(t,s){if(t&1&&(vw(0),Rw(1,"transloco"),bD(2,Ue,1,1)),t&2){let e=VD(2);Lh(" ",Ow(1,3,"jobs.detail.worktree")," ",e.worktreePath," "),gI(2),_D(e.branch?2:-1);}}function Xe(t,s){if(t&1&&(_i(0,"p",10),bD(1,He,2,4)(2,Ge,3,5),Kc()),t&2){let e=VD();gI(),_D(e.worktreeDeletedAt?1:2);}}function Ye(t,s){if(t&1){let e=LD();_i(0,"button",19),gh("click",function(){Pu(e);let o=VD(2);return Lu(o.cancelJob())}),vw(1),Rw(2,"transloco"),Kc();}if(t&2){let e=VD(2);ch("disabled",e.cancelling()),gI(),nl(" ",Ow(2,2,e.cancelling()?"jobs.detail.cancelling":"jobs.detail.cancel")," ");}}function Ze(t,s){if(t&1){let e=LD();_i(0,"button",20),gh("click",function(){Pu(e);let o=VD(2);return Lu(o.retryWorkflow())}),vw(1),Rw(2,"transloco"),Kc();}if(t&2){let e=VD(2);ch("disabled",e.retryingWorkflow()),gI(),nl(" ",Ow(2,2,e.retryingWorkflow()?"jobs.detail.retrying":"jobs.detail.retryWorkflow")," ");}}function et(t,s){if(t&1){let e=LD();_i(0,"button",21),gh("click",function(){Pu(e);let o=VD(2);return Lu(o.jumpToCurrent())}),vw(1),Rw(2,"transloco"),Kc();}t&2&&(gI(),nl(" ",Ow(2,1,"jobs.detail.jumpToCurrent")," "));}function tt(t,s){if(t&1&&(_i(0,"p",15),vw(1),Kc()),t&2){let e=VD(2);gI(),Ph(e.actionError());}}function it(t,s){t&1&&(lh(0,"nz-alert",16),Rw(1,"transloco")),t&2&&ch("nzMessage",Ow(1,1,"jobs.detail.queued"));}function nt(t,s){if(t&1){let e=LD();_i(0,"app-job-step-workspace",22),gh("selectExecution",function(o){Pu(e);let f=VD(2);return Lu(f.onSelectExecution(o))})("resumeTextChange",function(o){Pu(e);let f=VD(2);return Lu(f.setResumeText(o))})("resumeSubmit",function(){Pu(e);let o=VD(2);return Lu(o.submitResume())})("retryStep",function(){Pu(e);let o=VD(2);return Lu(o.retryThisStep())}),Kc();}if(t&2){let e=VD(),i=VD();ch("definitions",s.steps)("executions",e.stepHistory)("job",e)("selectedExecutionId",i.viewedExecutionId())("currentExecutionId",i.blockingExecutionId()??i.currentStep()?.id??null)("waitingEvent",i.waitingEvent())("resumeText",i.resumeText())("resumeParseError",i.resumeParseError())("resuming",i.resuming())("canResume",true)("canRetryStep",e.status==="failed")("retryingStep",i.retryingStep());}}function ot(t,s){t&1&&(_i(0,"p",18),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),nl(" ",Ow(2,1,"jobs.detail.workflowMissing")," "));}function rt(t,s){if(t&1&&(_i(0,"header",3)(1,"div")(2,"a",4),vw(3),Rw(4,"transloco"),Kc(),_i(5,"h1",5),vw(6),Kc(),_i(7,"p",6)(8,"span",7),vw(9),Kc(),vw(10," \xB7 "),_i(11,"nz-tag",8),vw(12),Rw(13,"transloco"),Kc(),vw(14," \xB7 "),_i(15,"span",9),vw(16),Kc()(),bD(17,Xe,3,1,"p",10),Kc(),_i(18,"div",11),bD(19,Ye,3,4,"button",12),bD(20,Ze,3,4,"button",13),bD(21,et,3,3,"button",14),Kc()(),bD(22,tt,2,1,"p",15),bD(23,it,2,3,"nz-alert",16)(24,nt,1,12,"app-job-step-workspace",17)(25,ot,3,3,"p",18)),t&2){let e,i=s,o=VD();gI(3),Ph(Ow(4,11,"jobs.detail.backToStart")),gI(3),Ph(i.id),gI(3),Ph(i.workflowId),gI(3),Ph(Ow(13,13,o.statusKey(i.status))),gI(4),Ph(o.subjectText()),gI(),_D(i.worktreePath?17:-1),gI(2),_D(o.isTerminalStatus(i.status)?-1:19),gI(),_D(i.status==="failed"?20:-1),gI(),_D(o.showJumpToCurrent()?21:-1),gI(),_D(o.actionError()?22:-1),gI(),_D(o.showQueued()?23:(e=o.workflow())?24:25,e);}}var Mt=(()=>{class t{constructor(){this.route=C(ae),this.router=C(Ie$1),this.jobsApi=C($),this.eventsService=C(f),this.transloco=C(Ve$1),this.destroyRef=C(at),this.job=qo(null),this.workflow=qo(null),this.loading=qo(true),this.loadError=qo(null),this.actionError=qo(null),this.eventStream=qo(null),this.eventsSnapshot=qo([]),this.autoFollow=qo(true),this.viewedExecutionId=qo(null),this.resumeText=qo(`{
4
4
 
@@ -1 +1 @@
1
- import {T}from'./chunk-BbcTWKT2.js';import {y as yx,b as W_}from'./chunk-BUuwGTt7.js';import {a as ai,z}from'./chunk-CWbxWv5I.js';import {C,a as ae,T as Ie,ai as u,b as at,V as Ve,aS as O,aT as de,al as Se,q as qo,H as Hw,u as ue$1,r,o,Q as QE,M as Mi,n as n8,am as S4,J as J6,k as k3,L as Ln,d as dd,z as zc,c as t7,Z as y7,X as Xb,e as V5,D as D5,K as Kt,f as _i,v as vw,g as Kc,R as Rw,h as gh,m as bD,p as gI,P as Ph,O as Ow,x as ch,w as nl,B as _D,E as VD,F as LD,j as oE,N as ND,y as sE,A as xD,S as SD,l as lh,G as Pu,I as Lu}from'./main-MNK6ZYDO.js';import {a as ae$1,l as le}from'./chunk-CJDp11v5.js';import'./chunk-2KSNHCgb.js';import {U}from'./chunk-Cf_xd8ER.js';import'./chunk-CEcbtdnK.js';var me=(t,s)=>s.id;function ue(t,s){t&1&&(_i(0,"p",5),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),Ph(Ow(2,1,"common.loading")));}function he(t,s){if(t&1&&(_i(0,"p",6),vw(1),Kc()),t&2){let e=VD();gI(),Ph(e.loadError());}}function fe(t,s){if(t&1&&(_i(0,"li"),vw(1),Kc()),t&2){let e=s.$implicit;gI(),Ph(e);}}function ge(t,s){if(t&1&&(_i(0,"section",7)(1,"h2"),vw(2),Rw(3,"transloco"),Kc(),_i(4,"ul"),ND(5,fe,2,1,"li",null,SD),Kc()()),t&2){let e=VD(2);gI(2),Ph(Ow(3,1,"shortcuts.editor.validation")),gI(3),xD(e.validationErrors());}}function _e(t,s){if(t&1&&lh(0,"nz-option",11),t&2){let e=s.$implicit;ch("nzValue",e.id)("nzLabel",e.name);}}function we(t,s){if(t&1){let e=LD();_i(0,"app-workflow-input-form",13),gh("valuesChange",function(i){Pu(e);let u=VD(2);return Lu(u.setInputValues(i))}),Kc();}if(t&2){let e=VD(2);ch("fields",s.inputSchema)("values",e.inputValues());}}function ve(t,s){if(t&1){let e=LD();bD(0,ge,7,3,"section",7),_i(1,"label",8)(2,"span"),vw(3),Rw(4,"transloco"),Kc(),_i(5,"input",9),gh("ngModelChange",function(i){Pu(e);let u=VD();return Lu(u.name.set(i))}),Kc(),oE(),Kc(),_i(6,"div",8)(7,"span"),vw(8),Rw(9,"transloco"),Kc(),_i(10,"nz-select",10),gh("ngModelChange",function(i){Pu(e);let u=VD();return Lu(u.onWorkflowChange(i))}),ND(11,_e,1,2,"nz-option",11,me),Kc(),oE(),Kc(),bD(13,we,1,2,"app-workflow-input-form",12);}if(t&2){let e,o=VD();_D(o.validationErrors().length>0?0:-1),gI(3),Ph(Ow(4,6,"shortcuts.editor.name")),gI(2),ch("ngModel",o.name()),sE(),gI(3),Ph(Ow(9,8,"shortcuts.editor.workflow")),gI(2),ch("ngModel",o.workflowId()),sE(),gI(),xD(o.eligibleWorkflows()),gI(2),_D((e=o.selectedWorkflow())?13:-1,e);}}function Ce(t){let s=t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),e=crypto.randomUUID().slice(0,8);return s.length>0?`sc-${s}-${e}`:`sc-${e}`}var He=(()=>{class t{constructor(){this.route=C(ae),this.router=C(Ie),this.shortcutsApi=C(u),this.workflowsApi=C(U),this.message=C(yx),this.destroyRef=C(at),this.transloco=C(Ve),this.language=C(O),this.routeId=de(this.route.paramMap.pipe(Se(e=>e.get("id"))),{initialValue:this.route.snapshot.paramMap.get("id")}),this.name=qo(""),this.workflowId=qo(""),this.workflows=qo([]),this.inputValues=qo({}),this.lastJobId=qo(void 0),this.loadError=qo(null),this.validationErrors=qo([]),this.saving=qo(false),this.loading=qo(true),this.isNew=Hw(()=>!this.routeId()),this.pageTitle=Hw(()=>(this.language.currentLang(),this.isNew()?this.transloco.translate("shortcuts.editor.titleNew"):this.transloco.translate("shortcuts.editor.titleEdit",{id:this.routeId()}))),this.eligibleWorkflows=Hw(()=>this.workflows().filter(e=>e.appliesTo==="none"&&e.subjectHandling==="per-subject")),this.selectedWorkflow=Hw(()=>this.eligibleWorkflows().find(e=>e.id===this.workflowId())??null),this.workflowsApi.list().pipe(ue$1(this.destroyRef)).subscribe({next:e=>this.workflows.set(e),error:e=>{this.workflows.set([]),this.message.error(this.errorMessage(e,this.transloco.translate("shortcuts.editor.loadFailed")));}}),this.route.paramMap.pipe(ue$1(this.destroyRef)).subscribe(e=>{let o=e.get("id");if(this.validationErrors.set([]),this.loadError.set(null),!o){this.name.set(""),this.workflowId.set(""),this.inputValues.set({}),this.lastJobId.set(void 0),this.loading.set(false);return}this.loading.set(true),this.shortcutsApi.get(o).subscribe({next:i=>{this.name.set(i.name),this.workflowId.set(i.workflowId),this.inputValues.set(i.inputValues),this.lastJobId.set(i.lastJobId),this.loading.set(false);},error:i=>{this.loading.set(false),this.loadError.set(this.errorMessage(i,this.transloco.translate("shortcuts.editor.loadFailed")));}});});}onWorkflowChange(e){this.workflowId.set(e);let o=this.eligibleWorkflows().find(i=>i.id===e);this.inputValues.set(ae$1(o?.inputSchema??[]));}setInputValues(e){this.inputValues.set(e);}save(){let e=this.routeId(),o=r({id:e??Ce(this.name()),name:this.name().trim(),workflowId:this.workflowId(),inputValues:this.inputValues()},this.lastJobId()?{lastJobId:this.lastJobId()}:{}),i=W_.safeParse(o);if(!i.success){this.validationErrors.set(T(i.error));return}this.validationErrors.set([]),this.saving.set(true),(this.isNew()||!e?this.shortcutsApi.create(i.data):this.shortcutsApi.update(e,i.data)).subscribe({next:M=>{this.saving.set(false),this.message.success(this.transloco.translate(this.isNew()?"shortcuts.editor.created":"shortcuts.editor.saved")),this.isNew()&&this.router.navigate(["/shortcuts",M.id,"edit"]);},error:M=>{this.saving.set(false),this.message.error(this.errorMessage(M,this.transloco.translate("shortcuts.editor.saveFailed")));}});}errorMessage(e,o$1){return e instanceof o||e instanceof Error?e.message:o$1}static{this.\u0275fac=function(o){return new(o||t)};}static{this.\u0275cmp=QE({type:t,selectors:[["app-shortcut-editor"]],decls:15,vars:10,consts:[["data-testid","shortcut-editor",1,"editor"],[1,"header"],[1,"header-actions"],["routerLink","/shortcuts"],["nz-button","","nzType","primary","type","button","data-testid","save-button",3,"click","nzLoading","disabled"],["data-testid","loading"],["data-testid","load-error",1,"error"],["data-testid","validation-errors",1,"errors"],[1,"field"],["nz-input","","data-testid","shortcut-name",3,"ngModelChange","ngModel"],["data-testid","shortcut-workflow",3,"ngModelChange","ngModel"],[3,"nzValue","nzLabel"],[3,"fields","values"],[3,"valuesChange","fields","values"]],template:function(o,i){o&1&&(_i(0,"main",0)(1,"header",1)(2,"div")(3,"h1"),vw(4),Kc()(),_i(5,"div",2)(6,"a",3),vw(7),Rw(8,"transloco"),Kc(),_i(9,"button",4),gh("click",function(){return i.save()}),vw(10),Rw(11,"transloco"),Kc()()(),bD(12,ue,3,3,"p",5)(13,he,2,1,"p",6)(14,ve,14,10),Kc()),o&2&&(gI(4),Ph(i.pageTitle()),gI(3),Ph(Ow(8,6,"shortcuts.editor.backToList")),gI(2),ch("nzLoading",i.saving())("disabled",i.loading()||!!i.loadError()),gI(),nl(" ",Ow(11,8,"common.save")," "),gI(2),_D(i.loading()?12:i.loadError()?13:14));},dependencies:[Mi,n8,S4,J6,k3,Ln,dd,zc,t7,y7,ai,z,Xb,V5,D5,le,Kt],styles:[".editor[_ngcontent-%COMP%]{max-width:40rem;margin:0 auto;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-actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;align-items:center}.field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem;margin:.5rem 0}.field[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{font-size:.85rem;color:#57534e}.errors[_ngcontent-%COMP%]{border:1px solid #fecdd3;background:#fff1f2;padding:.75rem 1rem}.errors[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 .35rem;font-size:1rem}.error[_ngcontent-%COMP%]{color:#9f1239}"]});}}return t})();export{He as ShortcutEditorComponent};
1
+ import {T}from'./chunk-CqGGDoIh.js';import {T as Tx,e as ey}from'./chunk-dUlsh7QS.js';import {a as ai,z}from'./chunk-DlsGU_Dk.js';import {C,a as ae,T as Ie,ai as u,b as at,V as Ve,aS as O,aT as de,al as Se,q as qo,H as Hw,u as ue$1,r,o,Q as QE,M as Mi,n as n8,am as S4,J as J6,k as k3,L as Ln,d as dd,z as zc,c as t7,Z as y7,X as Xb,e as V5,D as D5,K as Kt,f as _i,v as vw,g as Kc,R as Rw,h as gh,m as bD,p as gI,P as Ph,O as Ow,x as ch,w as nl,B as _D,E as VD,F as LD,j as oE,N as ND,y as sE,A as xD,S as SD,l as lh,G as Pu,I as Lu}from'./main-HV5WDK2F.js';import {a as ae$1,l as le}from'./chunk-Vz5kd858.js';import'./chunk-DWLHaSHg.js';import {U}from'./chunk-DUR5PalP.js';import'./chunk-C2eCmH-q.js';var me=(t,s)=>s.id;function ue(t,s){t&1&&(_i(0,"p",5),vw(1),Rw(2,"transloco"),Kc()),t&2&&(gI(),Ph(Ow(2,1,"common.loading")));}function he(t,s){if(t&1&&(_i(0,"p",6),vw(1),Kc()),t&2){let e=VD();gI(),Ph(e.loadError());}}function fe(t,s){if(t&1&&(_i(0,"li"),vw(1),Kc()),t&2){let e=s.$implicit;gI(),Ph(e);}}function ge(t,s){if(t&1&&(_i(0,"section",7)(1,"h2"),vw(2),Rw(3,"transloco"),Kc(),_i(4,"ul"),ND(5,fe,2,1,"li",null,SD),Kc()()),t&2){let e=VD(2);gI(2),Ph(Ow(3,1,"shortcuts.editor.validation")),gI(3),xD(e.validationErrors());}}function _e(t,s){if(t&1&&lh(0,"nz-option",11),t&2){let e=s.$implicit;ch("nzValue",e.id)("nzLabel",e.name);}}function we(t,s){if(t&1){let e=LD();_i(0,"app-workflow-input-form",13),gh("valuesChange",function(i){Pu(e);let u=VD(2);return Lu(u.setInputValues(i))}),Kc();}if(t&2){let e=VD(2);ch("fields",s.inputSchema)("values",e.inputValues());}}function ve(t,s){if(t&1){let e=LD();bD(0,ge,7,3,"section",7),_i(1,"label",8)(2,"span"),vw(3),Rw(4,"transloco"),Kc(),_i(5,"input",9),gh("ngModelChange",function(i){Pu(e);let u=VD();return Lu(u.name.set(i))}),Kc(),oE(),Kc(),_i(6,"div",8)(7,"span"),vw(8),Rw(9,"transloco"),Kc(),_i(10,"nz-select",10),gh("ngModelChange",function(i){Pu(e);let u=VD();return Lu(u.onWorkflowChange(i))}),ND(11,_e,1,2,"nz-option",11,me),Kc(),oE(),Kc(),bD(13,we,1,2,"app-workflow-input-form",12);}if(t&2){let e,o=VD();_D(o.validationErrors().length>0?0:-1),gI(3),Ph(Ow(4,6,"shortcuts.editor.name")),gI(2),ch("ngModel",o.name()),sE(),gI(3),Ph(Ow(9,8,"shortcuts.editor.workflow")),gI(2),ch("ngModel",o.workflowId()),sE(),gI(),xD(o.eligibleWorkflows()),gI(2),_D((e=o.selectedWorkflow())?13:-1,e);}}function Ce(t){let s=t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,""),e=crypto.randomUUID().slice(0,8);return s.length>0?`sc-${s}-${e}`:`sc-${e}`}var He=(()=>{class t{constructor(){this.route=C(ae),this.router=C(Ie),this.shortcutsApi=C(u),this.workflowsApi=C(U),this.message=C(Tx),this.destroyRef=C(at),this.transloco=C(Ve),this.language=C(O),this.routeId=de(this.route.paramMap.pipe(Se(e=>e.get("id"))),{initialValue:this.route.snapshot.paramMap.get("id")}),this.name=qo(""),this.workflowId=qo(""),this.workflows=qo([]),this.inputValues=qo({}),this.lastJobId=qo(void 0),this.loadError=qo(null),this.validationErrors=qo([]),this.saving=qo(false),this.loading=qo(true),this.isNew=Hw(()=>!this.routeId()),this.pageTitle=Hw(()=>(this.language.currentLang(),this.isNew()?this.transloco.translate("shortcuts.editor.titleNew"):this.transloco.translate("shortcuts.editor.titleEdit",{id:this.routeId()}))),this.eligibleWorkflows=Hw(()=>this.workflows().filter(e=>e.appliesTo==="none"&&e.subjectHandling==="per-subject")),this.selectedWorkflow=Hw(()=>this.eligibleWorkflows().find(e=>e.id===this.workflowId())??null),this.workflowsApi.list().pipe(ue$1(this.destroyRef)).subscribe({next:e=>this.workflows.set(e),error:e=>{this.workflows.set([]),this.message.error(this.errorMessage(e,this.transloco.translate("shortcuts.editor.loadFailed")));}}),this.route.paramMap.pipe(ue$1(this.destroyRef)).subscribe(e=>{let o=e.get("id");if(this.validationErrors.set([]),this.loadError.set(null),!o){this.name.set(""),this.workflowId.set(""),this.inputValues.set({}),this.lastJobId.set(void 0),this.loading.set(false);return}this.loading.set(true),this.shortcutsApi.get(o).subscribe({next:i=>{this.name.set(i.name),this.workflowId.set(i.workflowId),this.inputValues.set(i.inputValues),this.lastJobId.set(i.lastJobId),this.loading.set(false);},error:i=>{this.loading.set(false),this.loadError.set(this.errorMessage(i,this.transloco.translate("shortcuts.editor.loadFailed")));}});});}onWorkflowChange(e){this.workflowId.set(e);let o=this.eligibleWorkflows().find(i=>i.id===e);this.inputValues.set(ae$1(o?.inputSchema??[]));}setInputValues(e){this.inputValues.set(e);}save(){let e=this.routeId(),o=r({id:e??Ce(this.name()),name:this.name().trim(),workflowId:this.workflowId(),inputValues:this.inputValues()},this.lastJobId()?{lastJobId:this.lastJobId()}:{}),i=ey.safeParse(o);if(!i.success){this.validationErrors.set(T(i.error));return}this.validationErrors.set([]),this.saving.set(true),(this.isNew()||!e?this.shortcutsApi.create(i.data):this.shortcutsApi.update(e,i.data)).subscribe({next:M=>{this.saving.set(false),this.message.success(this.transloco.translate(this.isNew()?"shortcuts.editor.created":"shortcuts.editor.saved")),this.isNew()&&this.router.navigate(["/shortcuts",M.id,"edit"]);},error:M=>{this.saving.set(false),this.message.error(this.errorMessage(M,this.transloco.translate("shortcuts.editor.saveFailed")));}});}errorMessage(e,o$1){return e instanceof o||e instanceof Error?e.message:o$1}static{this.\u0275fac=function(o){return new(o||t)};}static{this.\u0275cmp=QE({type:t,selectors:[["app-shortcut-editor"]],decls:15,vars:10,consts:[["data-testid","shortcut-editor",1,"editor"],[1,"header"],[1,"header-actions"],["routerLink","/shortcuts"],["nz-button","","nzType","primary","type","button","data-testid","save-button",3,"click","nzLoading","disabled"],["data-testid","loading"],["data-testid","load-error",1,"error"],["data-testid","validation-errors",1,"errors"],[1,"field"],["nz-input","","data-testid","shortcut-name",3,"ngModelChange","ngModel"],["data-testid","shortcut-workflow",3,"ngModelChange","ngModel"],[3,"nzValue","nzLabel"],[3,"fields","values"],[3,"valuesChange","fields","values"]],template:function(o,i){o&1&&(_i(0,"main",0)(1,"header",1)(2,"div")(3,"h1"),vw(4),Kc()(),_i(5,"div",2)(6,"a",3),vw(7),Rw(8,"transloco"),Kc(),_i(9,"button",4),gh("click",function(){return i.save()}),vw(10),Rw(11,"transloco"),Kc()()(),bD(12,ue,3,3,"p",5)(13,he,2,1,"p",6)(14,ve,14,10),Kc()),o&2&&(gI(4),Ph(i.pageTitle()),gI(3),Ph(Ow(8,6,"shortcuts.editor.backToList")),gI(2),ch("nzLoading",i.saving())("disabled",i.loading()||!!i.loadError()),gI(),nl(" ",Ow(11,8,"common.save")," "),gI(2),_D(i.loading()?12:i.loadError()?13:14));},dependencies:[Mi,n8,S4,J6,k3,Ln,dd,zc,t7,y7,ai,z,Xb,V5,D5,le,Kt],styles:[".editor[_ngcontent-%COMP%]{max-width:40rem;margin:0 auto;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-actions[_ngcontent-%COMP%]{display:flex;gap:.75rem;align-items:center}.field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.35rem;margin:.5rem 0}.field[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{font-size:.85rem;color:#57534e}.errors[_ngcontent-%COMP%]{border:1px solid #fecdd3;background:#fff1f2;padding:.75rem 1rem}.errors[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0 0 .35rem;font-size:1rem}.error[_ngcontent-%COMP%]{color:#9f1239}"]});}}return t})();export{He as ShortcutEditorComponent};