bluekiwi 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -0
- package/dist/assets/app-runtime/.next/BUILD_ID +1 -1
- package/dist/assets/app-runtime/.next/app-path-routes-manifest.json +5 -5
- package/dist/assets/app-runtime/.next/build-manifest.json +2 -2
- package/dist/assets/app-runtime/.next/prerender-manifest.json +3 -3
- package/dist/assets/app-runtime/.next/server/app/(app)/credentials/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/docs/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/instructions/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/groups/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/[id]/page.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/[id]/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tasks/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/tutorial/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/edit/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/[id]/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/new/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(app)/workflows/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(auth)/change-password/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(auth)/invite/[token]/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/(auth)/setup/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/tasks/start/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/version/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/activate/route.js +5 -5
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/route.js +5 -5
- package/dist/assets/app-runtime/.next/server/app/api/workflows/[id]/transfer/route.js +5 -5
- package/dist/assets/app-runtime/.next/server/app/api/workflows/import/route.js +1 -1
- package/dist/assets/app-runtime/.next/server/app/api/workflows/route.js +5 -5
- package/dist/assets/app-runtime/.next/server/app/change-password.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/!KGF1dGgp/change-password/__PAGE__.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/!KGF1dGgp/change-password.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/!KGF1dGgp.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/_full.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/_index.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/change-password.segments/_tree.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.segments/!KGF1dGgp/login/__PAGE__.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.segments/!KGF1dGgp/login.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.segments/!KGF1dGgp.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.segments/_full.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.html +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.segments/!KGF1dGgp/setup/__PAGE__.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.segments/!KGF1dGgp/setup.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.segments/!KGF1dGgp.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.segments/_full.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.segments/_head.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.segments/_index.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app/setup.segments/_tree.segment.rsc +1 -1
- package/dist/assets/app-runtime/.next/server/app-paths-manifest.json +5 -5
- package/dist/assets/app-runtime/.next/server/chunks/2624.js +1 -1
- package/dist/assets/app-runtime/.next/server/chunks/4024.js +1 -1
- package/dist/assets/app-runtime/.next/server/middleware-build-manifest.js +1 -1
- package/dist/assets/app-runtime/.next/server/pages/404.html +1 -1
- package/dist/assets/app-runtime/.next/server/pages/500.html +1 -1
- package/dist/assets/app-runtime/.next/server/server-reference-manifest.json +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/{7552-67667f5f15d4f961.js → 7552-aa220264909ca9d9.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/{9243-34655a593a6aa471.js → 9243-9c99cc0df75c9121.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/instructions/{page-0aa5fcbf056c7144.js → page-dd25654a8191a638.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/{layout-64cb9b84079366f9.js → layout-d7f54b544bb8d2df.js} +1 -1
- package/dist/assets/app-runtime/.next/static/chunks/app/(app)/tasks/[id]/{page-29349afdbe6e318f.js → page-e88075977b43a9d5.js} +1 -1
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linux-arm64/lib/index.js +1 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linux-arm64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linux-arm64/package.json +42 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linux-arm64/versions.json +30 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linuxmusl-arm64/lib/index.js +1 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linuxmusl-arm64/lib/libvips-cpp.so.8.17.3 +0 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linuxmusl-arm64/package.json +42 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-libvips-linuxmusl-arm64/versions.json +30 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-linux-arm64/LICENSE +191 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-linux-arm64/lib/sharp-linux-arm64.node +0 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-linux-arm64/package.json +46 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-linuxmusl-arm64/LICENSE +191 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-linuxmusl-arm64/lib/sharp-linuxmusl-arm64.node +0 -0
- package/dist/assets/app-runtime/node_modules/@img/sharp-linuxmusl-arm64/package.json +46 -0
- package/dist/assets/app-runtime/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
- package/dist/assets/app-runtime/package.json +1 -1
- package/dist/runtimes/antigravity.js +14 -0
- package/dist/runtimes/claude-code.js +10 -62
- package/dist/runtimes/claude-desktop.js +16 -0
- package/dist/runtimes/cline.js +16 -0
- package/dist/runtimes/codex.js +8 -24
- package/dist/runtimes/continue.js +68 -0
- package/dist/runtimes/cursor.js +14 -0
- package/dist/runtimes/detect.js +24 -0
- package/dist/runtimes/gemini-cli.js +9 -61
- package/dist/runtimes/goose.js +109 -0
- package/dist/runtimes/jetbrains.js +50 -0
- package/dist/runtimes/json-mcp.js +93 -0
- package/dist/runtimes/openclaw.js +9 -61
- package/dist/runtimes/opencode.js +9 -61
- package/dist/runtimes/platform-paths.js +57 -0
- package/dist/runtimes/roo-code.js +15 -0
- package/dist/runtimes/skills-helper.js +31 -0
- package/dist/runtimes/trae.js +16 -0
- package/dist/runtimes/vscode.js +19 -0
- package/dist/runtimes/windsurf.js +15 -0
- package/dist/runtimes/zed.js +16 -0
- package/package.json +6 -3
- /package/dist/assets/app-runtime/.next/static/{hqMZcC_as2uhicKR6YANm → UVzMOjly0ACJRK3vNndFP}/_buildManifest.js +0 -0
- /package/dist/assets/app-runtime/.next/static/{hqMZcC_as2uhicKR6YANm → UVzMOjly0ACJRK3vNndFP}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8757],{13146:(e,t,r)=>{"use strict";r.d(t,{G7:()=>c,Gj:()=>d,L$:()=>x,h_:()=>g,oI:()=>u,xL:()=>m});var s=r(95155);r(12115);var n=r(34738),a=r(61878),i=r(40980),l=r(42763);function o({className:e,...t}){return(0,s.jsx)(n.uB,{"data-slot":"command",className:(0,i.cn)("flex h-full w-full flex-col overflow-hidden rounded-[1.5rem] bg-popover text-popover-foreground",e),...t})}function d({title:e="Command Palette",description:t="Search for a command to run...",children:r,className:n,showCloseButton:a=!0,...c}){return(0,s.jsxs)(l.lG,{...c,children:[(0,s.jsxs)(l.c7,{className:"sr-only",children:[(0,s.jsx)(l.L3,{children:e}),(0,s.jsx)(l.rr,{children:t})]}),(0,s.jsx)(l.Cf,{className:(0,i.cn)("overflow-hidden p-0",n),showCloseButton:a,children:(0,s.jsx)(o,{className:"**:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:r})})]})}function c({className:e,...t}){return(0,s.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,s.jsx)(a.A,{className:"size-4 shrink-0 opacity-50"}),(0,s.jsx)(n.uB.Input,{"data-slot":"command-input",className:(0,i.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]})}function u({className:e,...t}){return(0,s.jsx)(n.uB.List,{"data-slot":"command-list",className:(0,i.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...t})}function m({...e}){return(0,s.jsx)(n.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}function x({className:e,...t}){return(0,s.jsx)(n.uB.Group,{"data-slot":"command-group",className:(0,i.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t})}function g({className:e,...t}){return(0,s.jsx)(n.uB.Item,{"data-slot":"command-item",className:(0,i.cn)("relative flex cursor-default items-center gap-2 rounded-xl px-3 py-2 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-brand-blue-100 data-[selected=true]:text-brand-blue-700 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...t})}},40980:(e,t,r)=>{"use strict";r.d(t,{cn:()=>a});var s=r(29722),n=r(622);function a(...e){return(0,n.QP)((0,s.$)(e))}},42763:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>x,Es:()=>p,HM:()=>u,L3:()=>f,c7:()=>g,lG:()=>o,rr:()=>h,zM:()=>d});var s=r(95155);r(12115);var n=r(33210),a=r(19324),i=r(40980),l=r(89239);function o({...e}){return(0,s.jsx)(a.bL,{"data-slot":"dialog",...e})}function d({...e}){return(0,s.jsx)(a.l9,{"data-slot":"dialog-trigger",...e})}function c({...e}){return(0,s.jsx)(a.ZL,{"data-slot":"dialog-portal",...e})}function u({...e}){return(0,s.jsx)(a.bm,{"data-slot":"dialog-close",...e})}function m({className:e,...t}){return(0,s.jsx)(a.hJ,{"data-slot":"dialog-overlay",className:(0,i.cn)("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...t})}function x({className:e,children:t,showCloseButton:r=!0,...l}){return(0,s.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,s.jsx)(m,{}),(0,s.jsxs)(a.UC,{"data-slot":"dialog-content",className:(0,i.cn)("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 overflow-hidden rounded-[1.5rem] border border-border bg-card p-6 shadow-[var(--shadow-soft)] duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-[28rem]",e),...l,children:[t,r&&(0,s.jsxs)(a.bm,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,s.jsx)(n.A,{}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function g({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"dialog-header",className:(0,i.cn)("flex flex-col gap-2 text-center sm:text-left",e),...t})}function p({className:e,showCloseButton:t=!1,children:r,...n}){return(0,s.jsxs)("div",{"data-slot":"dialog-footer",className:(0,i.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...n,children:[r,t&&(0,s.jsx)(a.bm,{asChild:!0,children:(0,s.jsx)(l.$,{variant:"outline",children:"Close"})})]})}function f({className:e,...t}){return(0,s.jsx)(a.hE,{"data-slot":"dialog-title",className:(0,i.cn)("text-lg leading-none font-semibold",e),...t})}function h({className:e,...t}){return(0,s.jsx)(a.VY,{"data-slot":"dialog-description",className:(0,i.cn)("text-sm text-muted-foreground",e),...t})}},45160:(e,t,r)=>{"use strict";r.d(t,{E:()=>o});var s=r(95155);r(12115);var n=r(18460),a=r(42442),i=r(40980);let l=(0,n.F)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-3 py-1 text-xs font-semibold tracking-[0.01em] whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"border-brand-blue-600/20 bg-brand-blue-100 text-brand-blue-700",accent:"border-brand-kiwi-600/30 bg-brand-kiwi-100 text-brand-kiwi-700",neutral:"border-border bg-brand-surface-soft text-brand-ink-700",success:"border-success/20 bg-success/10 text-success",warning:"border-warning/20 bg-warning/10 text-warning",danger:"border-danger/20 bg-danger/10 text-danger",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"border-transparent [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"border-transparent text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function o({className:e,variant:t,asChild:r=!1,...n}){let d=r?a.bL:"span";return(0,s.jsx)(d,{"data-slot":"badge","data-variant":t,className:(0,i.cn)(l({variant:t}),e),...n})}},60529:(e,t,r)=>{"use strict";r.d(t,{p:()=>a});var s=r(95155);r(12115);var n=r(40980);function a({className:e,type:t,...r}){return(0,s.jsx)("input",{type:t,"data-slot":"input",className:(0,n.cn)("h-11 w-full min-w-0 rounded-2xl border border-input bg-background px-4 py-2 text-[0.95rem] text-foreground shadow-none transition-colors outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-ink-500 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50","focus-visible:border-brand-blue-500 focus-visible:ring-[4px] focus-visible:ring-ring/35","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...r})}},60711:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>U});var s=r(95155),n=r(12115),a=r(37206),i=r(73321),l=r(76597),o=r(25262),d=r(41641),c=r(21362),u=r(48368),m=r(7019),x=r(37595),g=r(51914),p=r(42129),f=r(63393),h=r(61878),b=r(6296),v=r(33210),j=r(60285),y=r(49387),w=r(63519),N=r(68459),k=r(66609),_=r(45160),C=r(89239),S=r(81477),P=r(37642),z=r(28367),E=r(25777),$=r(42763),A=r(42360);let T=[{value:null,Icon:p.A,labelKey:"visibility.followFolder",descKey:"visibility.followFolderDesc"},{value:"personal",Icon:E.A,labelKey:"folders.visibilityPersonal",descKey:"folders.visibilityPersonalDesc"}];function I({instructionId:e,instructionTitle:t,currentOverride:r,folderName:a,folderVisibility:i,open:l,onClose:o,onUpdate:d}){let{t:c}=(0,A.B)(),[u,m]=(0,n.useState)(null),[x,g]=(0,n.useState)(!1);(0,n.useEffect)(()=>{l&&e&&m(r)},[l,e,r]);let p=async()=>{if(e&&!x){if(u!==r){g(!0);let t=await fetch(`/api/instructions/${e}/visibility`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({override:u})});if(g(!1),!t.ok){let e=await t.json().catch(()=>({}));k.oR.error(e?.error?.message??c("visibility.changeFailed"));return}}d(),o()}},f=u!==r;return(0,s.jsx)($.lG,{open:l,onOpenChange:e=>!e&&o(),children:(0,s.jsxs)($.Cf,{className:"sm:max-w-[360px]",children:[(0,s.jsx)($.c7,{children:(0,s.jsxs)($.L3,{className:"flex items-center gap-2 text-base",children:[(0,s.jsx)("span",{className:"max-w-[200px] truncate",children:t}),(0,s.jsxs)("span",{className:"text-xs font-normal text-[var(--muted-foreground)]",children:["\xb7 ",c("visibility.settings")]})]})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"mb-2 text-[11px] font-medium uppercase tracking-wide text-[var(--muted-foreground)]",children:c("visibility.scope")}),a&&i&&(0,s.jsxs)("p",{className:"mb-2 text-[11px] text-[var(--muted-foreground)]",children:["Folder:"," ",(0,s.jsx)("span",{className:"font-medium text-[var(--foreground)]",children:a})," ","(",i,")"]}),(0,s.jsx)("div",{className:"grid grid-cols-2 gap-2",children:T.map(({value:e,Icon:t,labelKey:r,descKey:n})=>{let a=u===e;return(0,s.jsxs)("button",{type:"button",disabled:x,onClick:()=>m(e),title:c(n),className:`flex flex-col items-center gap-1.5 rounded-[var(--radius-sm)] border px-2 py-2.5 text-xs transition-colors disabled:pointer-events-none disabled:opacity-50 ${a?"border-brand-blue-400 bg-brand-blue-50 text-brand-blue-700":"border-[var(--border)] text-[var(--muted-foreground)] hover:bg-surface-soft"}`,children:[(0,s.jsx)(t,{className:"h-4 w-4"}),(0,s.jsx)("span",{className:"font-medium",children:c(r)})]},String(e))})})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[(0,s.jsx)(C.$,{variant:"outline",size:"sm",onClick:o,children:c("common.cancel")}),(0,s.jsx)(C.$,{size:"sm",disabled:x,onClick:p,className:f?"":"opacity-60",children:x?c("visibility.applying"):c("visibility.apply")})]})]})})}var L=r(80167),D=r(13146),R=r(72264),M=r(60529),O=r(29991),B=r(59943),F=r(21988),J=r(78619);let K=(0,a.default)(()=>Promise.all([r.e(8405),r.e(1259),r.e(7105),r.e(1375),r.e(5004),r.e(277),r.e(2545),r.e(4034),r.e(9304),r.e(6926),r.e(8867)]).then(r.bind(r,68867)),{loadableGenerated:{webpack:()=>[68867]},ssr:!1,loading:()=>(0,s.jsx)("div",{className:"min-h-[22rem] rounded-[1.25rem] border border-border bg-brand-surface-soft/55 animate-pulse"})}),V="bluekiwi:instructions:folder-pane-width",q=[5,10,20,50],G=["general","coding","research","writing","data"];function U(){let e=(0,i.usePathname)(),t=(0,i.useRouter)(),r=(0,i.useSearchParams)(),{t:a}=(0,A.B)(),[E,$]=(0,n.useState)(()=>{let e=Number(r.get("page"));return Number.isFinite(e)&&e>0?e:1}),[T,U]=(0,n.useState)(()=>{let e=Number(r.get("page_size"));return q.includes(e)?e:10}),[W,Z]=(0,n.useState)(()=>"grid"===r.get("view")?"grid":"list"),[X,H]=(0,n.useState)(()=>{let e=r.get("folder_id");return e?Number(e):null}),[Q,Y]=(0,n.useState)([]),[ee,et]=(0,n.useState)(0),[er,es]=(0,n.useState)(()=>r.get("q")??""),[en,ea]=(0,n.useState)(()=>r.get("q")??""),[ei,el]=(0,n.useState)(!1),[eo,ed]=(0,n.useState)(""),ec=(0,n.useRef)(null),eu=(0,n.useRef)(null),em=(0,n.useRef)(null),ex=(0,n.useRef)(null),[eg,ep]=(0,n.useState)(!1),[ef,eh]=(0,n.useState)(!1),[eb,ev]=(0,n.useState)(()=>{let e=window.localStorage.getItem(V),t=e?Number(e):NaN;return Number.isFinite(t)?Math.min(520,Math.max(240,t)):320}),[ej,ey]=(0,n.useState)(null),[ew,eN]=(0,n.useState)(null),[ek,e_]=(0,n.useState)(null),[eC,eS]=(0,n.useState)(!1),[eP,ez]=(0,n.useState)(""),[eE,e$]=(0,n.useState)(0),[eA,eT]=(0,n.useState)({title:"",content:"",agent_type:"general",tags:[],priority:0,credential_id:null}),[eI,eL]=(0,n.useState)([]);(0,n.useEffect)(()=>{let e=window.matchMedia("(min-width: 1024px)"),t=()=>ep(e.matches);return t(),e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,n.useEffect)(()=>{window.localStorage.setItem(V,String(eb))},[eb]),(0,n.useEffect)(()=>{if(!ej)return;let e=()=>ey(null);return document.addEventListener("click",e),document.addEventListener("contextmenu",e),()=>{document.removeEventListener("click",e),document.removeEventListener("contextmenu",e)}},[ej]),(0,n.useEffect)(()=>{let e=window.setTimeout(()=>{ea(er.trim())},250);return()=>window.clearTimeout(e)},[er]);let{data:eD,loading:eR,refetch:eM}=(0,F.U)(()=>{let e=new URLSearchParams;return null!==X&&e.set("folder_id",String(X)),en&&e.set("q",en),`/api/instructions?${e}`},[X,en]);(0,n.useEffect)(()=>{fetch("/api/credentials").then(e=>e.json()).then(e=>{eL(e.data??[])}).catch(()=>{})},[]);let{deleteTarget:eO,setDeleteTarget:eB,handleDelete:eF}=(0,J.b)({endpoint:e=>`/api/instructions/${e.id}`,onSuccess:eM,fallbackMessage:a("common.deleteFailed")}),eJ=Math.max(1,Math.ceil(eD.length/T)),eK=Math.min(E,eJ),eV=eD.slice((eK-1)*T,eK*T);(0,n.useEffect)(()=>{ex.current?.scrollTo({top:0,behavior:"smooth"})},[X,en,T,W]),(0,n.useEffect)(()=>{let s=new URLSearchParams;null!==X&&s.set("folder_id",String(X)),er.trim()&&s.set("q",er.trim()),eK>1&&s.set("page",String(eK)),10!==T&&s.set("page_size",String(T)),"list"!==W&&s.set("view",W);let n=s.toString();n!==r.toString()&&t.replace(n?`${e}?${n}`:e,{scroll:!1})},[e,t,r,X,er,eK,T,W]);let eq=(0,n.useCallback)(()=>{es(""),$(1)},[]),eG=(0,n.useCallback)(e=>{H(t=>t===e?null:e),$(1)},[]),eU=null!==X?Q.find(e=>e.id===X)??null:null,eW=(0,n.useMemo)(()=>{if(!eU)return[];let e=[],t=eU,r=new Set;for(;t&&!r.has(t.id)&&(r.add(t.id),e.unshift(t),null!==t.parent_id);){;t=Q.find(e=>e.id===t.parent_id)}return e},[eU,Q]),eZ=(0,n.useCallback)(e=>{if(!e||!X||e===X)return[];let t=[],r=Q.find(t=>t.id===e),s=new Set;for(;r&&r.id!==X&&!s.has(r.id)&&(s.add(r.id),t.unshift(r.is_system?a("folders.myWorkspace"):r.name),null!==r.parent_id);){;r=Q.find(e=>e.id===r.parent_id)}return t},[X,Q,a]),eX=(0,n.useCallback)(()=>{eU&&!eU.is_system&&(ed(eU.name),el(!0),setTimeout(()=>{ec.current?.focus(),ec.current?.select()},0))},[eU]),eH=(0,n.useCallback)(async()=>{if(!X||!eo.trim())return void el(!1);el(!1);let e=await fetch(`/api/folders/${X}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:eo.trim()})});if(e.ok)et(e=>e+1);else{let t=await e.json().catch(()=>({}));k.oR.error(t?.error?.message??a("folders.renameFailed"))}},[X,eo,a]),eQ=(0,n.useCallback)(async(e,t)=>{let r=await fetch(`/api/instructions/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({folder_id:t})});if(r.ok)k.oR.success(a("instructionsPage.movedToFolder")),eM();else{let e=await r.json().catch(()=>({}));k.oR.error(e?.error?.message??a("common.updateFailed"))}},[eM,a]),eY=(0,n.useCallback)(e=>{if(!eg||!em.current)return;e.preventDefault();let t=e.pointerId,r=e.currentTarget;eh(!0),r.setPointerCapture(t);let s=e=>{let t=em.current?.getBoundingClientRect();t&&ev(Math.min(520,Math.max(240,Math.round(e-t.left))))};s(e.clientX);let n=e=>{s(e.clientX)},a=()=>{eh(!1),document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("pointermove",n),window.removeEventListener("pointerup",a),window.removeEventListener("pointercancel",a)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",window.addEventListener("pointermove",n),window.addEventListener("pointerup",a),window.addEventListener("pointercancel",a)},[eg]),e0=(0,n.useMemo)(()=>{if(eg)return{gridTemplateColumns:`${eb}px 8px minmax(0,1fr)`}},[eb,eg]),e1=()=>{eT({title:"",content:"",agent_type:"general",tags:[],priority:0,credential_id:null}),e_(null),ez(""),e$(e=>e+1)},e2=()=>{eS(!1),e1()},e5=async e=>{if(e.preventDefault(),!eA.title.trim())return;let t={title:eA.title,content:eA.content,agent_type:eA.agent_type,tags:eA.tags,priority:eA.priority,credential_id:eA.credential_id};ek?await fetch(`/api/instructions/${ek.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}):await fetch("/api/instructions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(null!==X?{...t,folder_id:X}:t)}),e2(),eM()},e3=e=>{let t=JSON.parse(e.tags||"[]");e_(e),eT({title:e.title,content:e.content,agent_type:e.agent_type,tags:t,priority:e.priority,credential_id:e.credential_id}),ez(""),eS(!0)},e4=async e=>{await fetch(`/api/instructions/${e.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({is_active:!e.is_active})}),eM()},e6=e=>{let t=e.trim().replace(/^#+/,"");t&&(eT(e=>({...e,tags:e.tags.includes(t)?e.tags:[...e.tags,t]})),ez(""))},e7=e=>{eT(t=>({...t,tags:t.tags.filter(t=>t!==e)}))},e9=(0,n.useCallback)(e=>(0,s.jsxs)("div",{className:`flex items-center justify-end gap-2 ${"top"===e?"mb-4":"mt-6"}`,children:[(0,s.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)]",children:[a("instructionsPage.results"),":"]}),(0,s.jsxs)(O.l6,{value:String(T),onValueChange:e=>{U(Number(e)),$(1)},children:[(0,s.jsx)(O.bq,{size:"sm",className:"w-20 bg-background",children:(0,s.jsx)(O.yv,{})}),(0,s.jsx)(O.gC,{align:"end",children:q.map(e=>(0,s.jsx)(O.eb,{value:String(e),children:e},e))})]}),(0,s.jsx)(C.$,{variant:"outline",size:"icon",className:"h-8 w-8",disabled:eK<=1,onClick:()=>$(e=>Math.max(1,e-1)),children:(0,s.jsx)(d.A,{className:"h-4 w-4"})}),(0,s.jsxs)("span",{className:"min-w-16 text-right text-xs text-[var(--muted-foreground)]",children:[eK," / ",eJ]}),(0,s.jsx)(C.$,{variant:"outline",size:"icon",className:"h-8 w-8",disabled:eK>=eJ,onClick:()=>$(e=>Math.min(eJ,e+1)),children:(0,s.jsx)(c.A,{className:"h-4 w-4"})})]}),[eK,T,a,eJ]);return(0,s.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,s.jsx)("div",{className:"sticky top-0 z-20 border-b border-[var(--border)] bg-[var(--background)]/95 backdrop-blur-sm",children:(0,s.jsxs)("div",{className:"flex h-14 items-center justify-between gap-4 px-5",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(u.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsx)("h1",{className:`text-2xl font-bold tracking-tight ${null!==X?"cursor-pointer hover:text-brand-blue-600 transition-colors":""}`,onClick:()=>{null!==X&&(H(null),el(!1),$(1))},children:a("instructionsPage.title")}),eW.map((e,t)=>{let r=t===eW.length-1,n=e.is_system?a("folders.myWorkspace"):e.name;return(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,s.jsx)(c.A,{className:"h-4 w-4 shrink-0 text-[var(--muted-foreground)]/50"}),r&&ei?(0,s.jsx)("div",{className:"flex items-center gap-1",children:(0,s.jsx)("input",{ref:ec,value:eo,onChange:e=>ed(e.target.value),onKeyDown:e=>{"Enter"===e.key&&eH(),"Escape"===e.key&&el(!1)},className:"h-8 rounded-[var(--radius-sm)] border border-brand-blue-400 bg-transparent px-2 text-lg font-bold outline-none ring-1 ring-brand-blue-400/30"})}):(0,s.jsx)("span",{className:`text-2xl font-bold tracking-tight select-none ${!r?"cursor-pointer text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors":e.is_system?"cursor-default":"cursor-text"}`,title:r&&!e.is_system?a("folders.doubleClickToRename"):void 0,onClick:r?void 0:()=>{H(e.id),el(!1),$(1)},onDoubleClick:r&&!e.is_system?eX:void 0,children:n})]},e.id)})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)("div",{className:"flex rounded-[var(--radius)] border border-[var(--border)] p-0.5",children:[(0,s.jsx)(C.$,{variant:"ghost",size:"icon",className:`h-7 w-7 ${"list"===W?"bg-[var(--card)] shadow-sm":""}`,onClick:()=>Z("list"),title:a("common.listView"),children:(0,s.jsx)(m.A,{className:"h-3.5 w-3.5"})}),(0,s.jsx)(C.$,{variant:"ghost",size:"icon",className:`h-7 w-7 ${"grid"===W?"bg-[var(--card)] shadow-sm":""}`,onClick:()=>Z("grid"),title:a("common.gridView"),children:(0,s.jsx)(x.A,{className:"h-3.5 w-3.5"})})]}),(0,s.jsxs)(C.$,{size:"sm",onClick:()=>{e1(),eS(!0)},children:[(0,s.jsx)(g.A,{className:"h-4 w-4"}),a("instructionsPage.newInstruction")]})]})]})}),(0,s.jsxs)("div",{ref:em,className:`grid min-h-0 flex-1 grid-cols-1 lg:grid-cols-[320px_8px_minmax(0,1fr)] ${ef?"cursor-col-resize":""}`,style:e0,children:[(0,s.jsxs)("aside",{className:"flex min-h-0 flex-col border-b border-[var(--border)] bg-surface-soft/60 lg:border-r lg:border-b-0",children:[(0,s.jsxs)("div",{className:"shrink-0 border-b border-[var(--border)] px-4 py-4",children:[(0,s.jsx)("p",{className:"text-sm font-semibold",children:a("folders.title")}),(0,s.jsx)("p",{className:"mt-1 text-xs text-[var(--muted-foreground)]",children:eU?eU.is_system?a("folders.myWorkspace"):eU.name:a("instructionsPage.allInstructions")})]}),(0,s.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto px-3 py-3",children:[(0,s.jsxs)("button",{onClick:()=>eG(null),onContextMenu:e=>{e.preventDefault(),ey({x:e.clientX,y:e.clientY})},className:`mb-1 flex w-full items-center gap-2 rounded-[var(--radius-sm)] px-2 py-1.5 text-sm transition-colors ${null===X?"bg-brand-blue-100 font-medium text-brand-blue-700":"text-[var(--muted-foreground)] hover:bg-surface-soft hover:text-[var(--foreground)]"}`,children:[(0,s.jsx)(p.A,{className:"h-3.5 w-3.5 shrink-0"}),a("instructionsPage.allInstructions")]}),(0,s.jsx)(L.z,{selectedId:X,onSelect:eG,onFoldersChange:Y,onInstructionDrop:eQ,refreshKey:ee,onCreateRootRef:e=>{eu.current=e}}),ej&&(0,s.jsx)("div",{className:"fixed z-50 min-w-[140px] overflow-hidden rounded-[var(--radius-sm)] border border-[var(--border)] bg-[var(--card)] py-1 shadow-[var(--shadow-card)]",style:{top:ej.y,left:ej.x},onClick:()=>ey(null),children:(0,s.jsxs)("button",{className:"flex w-full items-center gap-2 px-3 py-1.5 text-sm hover:bg-surface-soft",onClick:()=>{eu.current?.(),ey(null)},children:[(0,s.jsx)(f.A,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]"}),a("folders.new")]})})]})]}),(0,s.jsx)("div",{role:"separator","aria-orientation":"vertical","aria-label":a("folders.title"),onPointerDown:eY,className:"hidden lg:flex items-stretch justify-center bg-transparent",children:(0,s.jsx)("div",{className:"group flex w-2 cursor-col-resize items-center justify-center",children:(0,s.jsx)("div",{className:"h-full w-px bg-[var(--border)] transition-colors group-hover:bg-brand-blue-400 group-active:bg-brand-blue-500"})})}),(0,s.jsx)("section",{ref:ex,className:"min-h-0 overflow-y-auto",children:(0,s.jsxs)("div",{className:"px-5 py-5",children:[(0,s.jsx)("div",{className:"sticky top-0 z-10 -mx-5 mb-4 border-b border-[var(--border)] bg-[var(--background)]/95 px-5 py-3 backdrop-blur-sm",children:(0,s.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between",children:[(0,s.jsxs)("div",{className:"relative w-full max-w-md",children:[(0,s.jsx)(h.A,{className:"pointer-events-none absolute top-1/2 left-2.5 h-3.5 w-3.5 -translate-y-1/2 text-[var(--muted-foreground)]"}),(0,s.jsx)("input",{type:"text",value:er,onChange:e=>{es(e.target.value),$(1)},placeholder:a("common.search"),className:"h-9 w-full rounded-[var(--radius-sm)] border border-[var(--border)] bg-transparent pl-8 pr-7 text-sm outline-none placeholder:text-[var(--muted-foreground)] focus:border-brand-blue-400 focus:ring-1 focus:ring-brand-blue-400/30"}),er!==en?(0,s.jsx)("span",{className:"pointer-events-none absolute top-1/2 right-2 -translate-y-1/2 text-[var(--muted-foreground)]",children:(0,s.jsx)(b.A,{className:"h-3.5 w-3.5 animate-spin"})}):er&&(0,s.jsx)("button",{type:"button",onClick:eq,className:"absolute top-1/2 right-2 -translate-y-1/2 text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,s.jsx)(v.A,{className:"h-3.5 w-3.5"})})]}),(0,s.jsx)("div",{className:"shrink-0",children:e9("top")})]})}),(er||null!==X)&&(0,s.jsxs)("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:[er&&(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-brand-blue-300/50 bg-brand-blue-50 px-2.5 py-0.5 text-xs text-brand-blue-700",children:[(0,s.jsx)(h.A,{className:"h-3 w-3"}),er,(0,s.jsx)("button",{onClick:eq,className:"ml-0.5 opacity-60 hover:opacity-100",children:(0,s.jsx)(v.A,{className:"h-3 w-3"})})]}),(0,s.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)]",children:[eD.length,a("instructionsPage.results")]})]}),eR?(0,s.jsx)(S.Zp,{children:(0,s.jsx)(S.Wu,{className:"py-10 text-center text-sm text-[var(--muted-foreground)]",children:a("common.loading")})}):0===eD.length?(0,s.jsx)(B.p,{icon:u.A,title:a("instructionsPage.emptyTitle"),description:a("instructionsPage.emptyDescription")}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"grid"===W?"grid grid-cols-1 gap-3 md:grid-cols-2 xl:grid-cols-3":"flex flex-col gap-2",children:eV.map(e=>{let t=JSON.parse(e.tags||"[]"),r=function(e){let t=e.replace(/\r/g,"").split("\n").map(e=>e.trimEnd()).filter(e=>e.trim().length>0);if(0===t.length)return"";let r=t.slice(0,4).join("\n");return t.length>4?`${r}
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8757],{13146:(e,t,r)=>{"use strict";r.d(t,{G7:()=>c,Gj:()=>d,L$:()=>x,h_:()=>g,oI:()=>u,xL:()=>m});var s=r(95155);r(12115);var n=r(34738),a=r(61878),i=r(40980),l=r(42763);function o({className:e,...t}){return(0,s.jsx)(n.uB,{"data-slot":"command",className:(0,i.cn)("flex h-full w-full flex-col overflow-hidden rounded-[1.5rem] bg-popover text-popover-foreground",e),...t})}function d({title:e="Command Palette",description:t="Search for a command to run...",children:r,className:n,showCloseButton:a=!0,...c}){return(0,s.jsx)(l.lG,{...c,children:(0,s.jsxs)(l.Cf,{className:(0,i.cn)("overflow-hidden p-0",n),showCloseButton:a,children:[(0,s.jsxs)(l.c7,{className:"sr-only",children:[(0,s.jsx)(l.L3,{children:e}),(0,s.jsx)(l.rr,{children:t})]}),(0,s.jsx)(o,{className:"**:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:r})]})})}function c({className:e,...t}){return(0,s.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,s.jsx)(a.A,{className:"size-4 shrink-0 opacity-50"}),(0,s.jsx)(n.uB.Input,{"data-slot":"command-input",className:(0,i.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]})}function u({className:e,...t}){return(0,s.jsx)(n.uB.List,{"data-slot":"command-list",className:(0,i.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...t})}function m({...e}){return(0,s.jsx)(n.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}function x({className:e,...t}){return(0,s.jsx)(n.uB.Group,{"data-slot":"command-group",className:(0,i.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t})}function g({className:e,...t}){return(0,s.jsx)(n.uB.Item,{"data-slot":"command-item",className:(0,i.cn)("relative flex cursor-default items-center gap-2 rounded-xl px-3 py-2 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-brand-blue-100 data-[selected=true]:text-brand-blue-700 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...t})}},40980:(e,t,r)=>{"use strict";r.d(t,{cn:()=>a});var s=r(29722),n=r(622);function a(...e){return(0,n.QP)((0,s.$)(e))}},42763:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>x,Es:()=>p,HM:()=>u,L3:()=>f,c7:()=>g,lG:()=>o,rr:()=>h,zM:()=>d});var s=r(95155);r(12115);var n=r(33210),a=r(19324),i=r(40980),l=r(89239);function o({...e}){return(0,s.jsx)(a.bL,{"data-slot":"dialog",...e})}function d({...e}){return(0,s.jsx)(a.l9,{"data-slot":"dialog-trigger",...e})}function c({...e}){return(0,s.jsx)(a.ZL,{"data-slot":"dialog-portal",...e})}function u({...e}){return(0,s.jsx)(a.bm,{"data-slot":"dialog-close",...e})}function m({className:e,...t}){return(0,s.jsx)(a.hJ,{"data-slot":"dialog-overlay",className:(0,i.cn)("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...t})}function x({className:e,children:t,showCloseButton:r=!0,...l}){return(0,s.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,s.jsx)(m,{}),(0,s.jsxs)(a.UC,{"data-slot":"dialog-content",className:(0,i.cn)("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 overflow-hidden rounded-[1.5rem] border border-border bg-card p-6 shadow-[var(--shadow-soft)] duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-[28rem]",e),...l,children:[t,r&&(0,s.jsxs)(a.bm,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,s.jsx)(n.A,{}),(0,s.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function g({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"dialog-header",className:(0,i.cn)("flex flex-col gap-2 text-center sm:text-left",e),...t})}function p({className:e,showCloseButton:t=!1,children:r,...n}){return(0,s.jsxs)("div",{"data-slot":"dialog-footer",className:(0,i.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...n,children:[r,t&&(0,s.jsx)(a.bm,{asChild:!0,children:(0,s.jsx)(l.$,{variant:"outline",children:"Close"})})]})}function f({className:e,...t}){return(0,s.jsx)(a.hE,{"data-slot":"dialog-title",className:(0,i.cn)("text-lg leading-none font-semibold",e),...t})}function h({className:e,...t}){return(0,s.jsx)(a.VY,{"data-slot":"dialog-description",className:(0,i.cn)("text-sm text-muted-foreground",e),...t})}},45160:(e,t,r)=>{"use strict";r.d(t,{E:()=>o});var s=r(95155);r(12115);var n=r(18460),a=r(42442),i=r(40980);let l=(0,n.F)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-3 py-1 text-xs font-semibold tracking-[0.01em] whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"border-brand-blue-600/20 bg-brand-blue-100 text-brand-blue-700",accent:"border-brand-kiwi-600/30 bg-brand-kiwi-100 text-brand-kiwi-700",neutral:"border-border bg-brand-surface-soft text-brand-ink-700",success:"border-success/20 bg-success/10 text-success",warning:"border-warning/20 bg-warning/10 text-warning",danger:"border-danger/20 bg-danger/10 text-danger",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"border-transparent [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"border-transparent text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function o({className:e,variant:t,asChild:r=!1,...n}){let d=r?a.bL:"span";return(0,s.jsx)(d,{"data-slot":"badge","data-variant":t,className:(0,i.cn)(l({variant:t}),e),...n})}},60529:(e,t,r)=>{"use strict";r.d(t,{p:()=>a});var s=r(95155);r(12115);var n=r(40980);function a({className:e,type:t,...r}){return(0,s.jsx)("input",{type:t,"data-slot":"input",className:(0,n.cn)("h-11 w-full min-w-0 rounded-2xl border border-input bg-background px-4 py-2 text-[0.95rem] text-foreground shadow-none transition-colors outline-none selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-ink-500 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50","focus-visible:border-brand-blue-500 focus-visible:ring-[4px] focus-visible:ring-ring/35","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40",e),...r})}},60711:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>U});var s=r(95155),n=r(12115),a=r(37206),i=r(73321),l=r(76597),o=r(25262),d=r(41641),c=r(21362),u=r(48368),m=r(7019),x=r(37595),g=r(51914),p=r(42129),f=r(63393),h=r(61878),b=r(6296),v=r(33210),j=r(60285),y=r(49387),w=r(63519),N=r(68459),k=r(66609),_=r(45160),C=r(89239),S=r(81477),P=r(37642),z=r(28367),E=r(25777),$=r(42763),A=r(42360);let T=[{value:null,Icon:p.A,labelKey:"visibility.followFolder",descKey:"visibility.followFolderDesc"},{value:"personal",Icon:E.A,labelKey:"folders.visibilityPersonal",descKey:"folders.visibilityPersonalDesc"}];function I({instructionId:e,instructionTitle:t,currentOverride:r,folderName:a,folderVisibility:i,open:l,onClose:o,onUpdate:d}){let{t:c}=(0,A.B)(),[u,m]=(0,n.useState)(null),[x,g]=(0,n.useState)(!1);(0,n.useEffect)(()=>{l&&e&&m(r)},[l,e,r]);let p=async()=>{if(e&&!x){if(u!==r){g(!0);let t=await fetch(`/api/instructions/${e}/visibility`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({override:u})});if(g(!1),!t.ok){let e=await t.json().catch(()=>({}));k.oR.error(e?.error?.message??c("visibility.changeFailed"));return}}d(),o()}},f=u!==r;return(0,s.jsx)($.lG,{open:l,onOpenChange:e=>!e&&o(),children:(0,s.jsxs)($.Cf,{className:"sm:max-w-[360px]",children:[(0,s.jsx)($.c7,{children:(0,s.jsxs)($.L3,{className:"flex items-center gap-2 text-base",children:[(0,s.jsx)("span",{className:"max-w-[200px] truncate",children:t}),(0,s.jsxs)("span",{className:"text-xs font-normal text-[var(--muted-foreground)]",children:["\xb7 ",c("visibility.settings")]})]})}),(0,s.jsxs)("div",{children:[(0,s.jsx)("p",{className:"mb-2 text-[11px] font-medium uppercase tracking-wide text-[var(--muted-foreground)]",children:c("visibility.scope")}),a&&i&&(0,s.jsxs)("p",{className:"mb-2 text-[11px] text-[var(--muted-foreground)]",children:["Folder:"," ",(0,s.jsx)("span",{className:"font-medium text-[var(--foreground)]",children:a})," ","(",i,")"]}),(0,s.jsx)("div",{className:"grid grid-cols-2 gap-2",children:T.map(({value:e,Icon:t,labelKey:r,descKey:n})=>{let a=u===e;return(0,s.jsxs)("button",{type:"button",disabled:x,onClick:()=>m(e),title:c(n),className:`flex flex-col items-center gap-1.5 rounded-[var(--radius-sm)] border px-2 py-2.5 text-xs transition-colors disabled:pointer-events-none disabled:opacity-50 ${a?"border-brand-blue-400 bg-brand-blue-50 text-brand-blue-700":"border-[var(--border)] text-[var(--muted-foreground)] hover:bg-surface-soft"}`,children:[(0,s.jsx)(t,{className:"h-4 w-4"}),(0,s.jsx)("span",{className:"font-medium",children:c(r)})]},String(e))})})]}),(0,s.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[(0,s.jsx)(C.$,{variant:"outline",size:"sm",onClick:o,children:c("common.cancel")}),(0,s.jsx)(C.$,{size:"sm",disabled:x,onClick:p,className:f?"":"opacity-60",children:x?c("visibility.applying"):c("visibility.apply")})]})]})})}var L=r(80167),D=r(13146),R=r(72264),M=r(60529),O=r(29991),B=r(59943),F=r(21988),J=r(78619);let K=(0,a.default)(()=>Promise.all([r.e(8405),r.e(1259),r.e(7105),r.e(1375),r.e(5004),r.e(277),r.e(2545),r.e(4034),r.e(9304),r.e(6926),r.e(8867)]).then(r.bind(r,68867)),{loadableGenerated:{webpack:()=>[68867]},ssr:!1,loading:()=>(0,s.jsx)("div",{className:"min-h-[22rem] rounded-[1.25rem] border border-border bg-brand-surface-soft/55 animate-pulse"})}),V="bluekiwi:instructions:folder-pane-width",q=[5,10,20,50],G=["general","coding","research","writing","data"];function U(){let e=(0,i.usePathname)(),t=(0,i.useRouter)(),r=(0,i.useSearchParams)(),{t:a}=(0,A.B)(),[E,$]=(0,n.useState)(()=>{let e=Number(r.get("page"));return Number.isFinite(e)&&e>0?e:1}),[T,U]=(0,n.useState)(()=>{let e=Number(r.get("page_size"));return q.includes(e)?e:10}),[W,Z]=(0,n.useState)(()=>"grid"===r.get("view")?"grid":"list"),[X,H]=(0,n.useState)(()=>{let e=r.get("folder_id");return e?Number(e):null}),[Q,Y]=(0,n.useState)([]),[ee,et]=(0,n.useState)(0),[er,es]=(0,n.useState)(()=>r.get("q")??""),[en,ea]=(0,n.useState)(()=>r.get("q")??""),[ei,el]=(0,n.useState)(!1),[eo,ed]=(0,n.useState)(""),ec=(0,n.useRef)(null),eu=(0,n.useRef)(null),em=(0,n.useRef)(null),ex=(0,n.useRef)(null),[eg,ep]=(0,n.useState)(!1),[ef,eh]=(0,n.useState)(!1),[eb,ev]=(0,n.useState)(()=>{let e=window.localStorage.getItem(V),t=e?Number(e):NaN;return Number.isFinite(t)?Math.min(520,Math.max(240,t)):320}),[ej,ey]=(0,n.useState)(null),[ew,eN]=(0,n.useState)(null),[ek,e_]=(0,n.useState)(null),[eC,eS]=(0,n.useState)(!1),[eP,ez]=(0,n.useState)(""),[eE,e$]=(0,n.useState)(0),[eA,eT]=(0,n.useState)({title:"",content:"",agent_type:"general",tags:[],priority:0,credential_id:null}),[eI,eL]=(0,n.useState)([]);(0,n.useEffect)(()=>{let e=window.matchMedia("(min-width: 1024px)"),t=()=>ep(e.matches);return t(),e.addEventListener("change",t),()=>e.removeEventListener("change",t)},[]),(0,n.useEffect)(()=>{window.localStorage.setItem(V,String(eb))},[eb]),(0,n.useEffect)(()=>{if(!ej)return;let e=()=>ey(null);return document.addEventListener("click",e),document.addEventListener("contextmenu",e),()=>{document.removeEventListener("click",e),document.removeEventListener("contextmenu",e)}},[ej]),(0,n.useEffect)(()=>{let e=window.setTimeout(()=>{ea(er.trim())},250);return()=>window.clearTimeout(e)},[er]);let{data:eD,loading:eR,refetch:eM}=(0,F.U)(()=>{let e=new URLSearchParams;return null!==X&&e.set("folder_id",String(X)),en&&e.set("q",en),`/api/instructions?${e}`},[X,en]);(0,n.useEffect)(()=>{fetch("/api/credentials").then(e=>e.json()).then(e=>{eL(e.data??[])}).catch(()=>{})},[]);let{deleteTarget:eO,setDeleteTarget:eB,handleDelete:eF}=(0,J.b)({endpoint:e=>`/api/instructions/${e.id}`,onSuccess:eM,fallbackMessage:a("common.deleteFailed")}),eJ=Math.max(1,Math.ceil(eD.length/T)),eK=Math.min(E,eJ),eV=eD.slice((eK-1)*T,eK*T);(0,n.useEffect)(()=>{ex.current?.scrollTo({top:0,behavior:"smooth"})},[X,en,T,W]),(0,n.useEffect)(()=>{let s=new URLSearchParams;null!==X&&s.set("folder_id",String(X)),er.trim()&&s.set("q",er.trim()),eK>1&&s.set("page",String(eK)),10!==T&&s.set("page_size",String(T)),"list"!==W&&s.set("view",W);let n=s.toString();n!==r.toString()&&t.replace(n?`${e}?${n}`:e,{scroll:!1})},[e,t,r,X,er,eK,T,W]);let eq=(0,n.useCallback)(()=>{es(""),$(1)},[]),eG=(0,n.useCallback)(e=>{H(t=>t===e?null:e),$(1)},[]),eU=null!==X?Q.find(e=>e.id===X)??null:null,eW=(0,n.useMemo)(()=>{if(!eU)return[];let e=[],t=eU,r=new Set;for(;t&&!r.has(t.id)&&(r.add(t.id),e.unshift(t),null!==t.parent_id);){;t=Q.find(e=>e.id===t.parent_id)}return e},[eU,Q]),eZ=(0,n.useCallback)(e=>{if(!e||!X||e===X)return[];let t=[],r=Q.find(t=>t.id===e),s=new Set;for(;r&&r.id!==X&&!s.has(r.id)&&(s.add(r.id),t.unshift(r.is_system?a("folders.myWorkspace"):r.name),null!==r.parent_id);){;r=Q.find(e=>e.id===r.parent_id)}return t},[X,Q,a]),eX=(0,n.useCallback)(()=>{eU&&!eU.is_system&&(ed(eU.name),el(!0),setTimeout(()=>{ec.current?.focus(),ec.current?.select()},0))},[eU]),eH=(0,n.useCallback)(async()=>{if(!X||!eo.trim())return void el(!1);el(!1);let e=await fetch(`/api/folders/${X}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:eo.trim()})});if(e.ok)et(e=>e+1);else{let t=await e.json().catch(()=>({}));k.oR.error(t?.error?.message??a("folders.renameFailed"))}},[X,eo,a]),eQ=(0,n.useCallback)(async(e,t)=>{let r=await fetch(`/api/instructions/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({folder_id:t})});if(r.ok)k.oR.success(a("instructionsPage.movedToFolder")),eM();else{let e=await r.json().catch(()=>({}));k.oR.error(e?.error?.message??a("common.updateFailed"))}},[eM,a]),eY=(0,n.useCallback)(e=>{if(!eg||!em.current)return;e.preventDefault();let t=e.pointerId,r=e.currentTarget;eh(!0),r.setPointerCapture(t);let s=e=>{let t=em.current?.getBoundingClientRect();t&&ev(Math.min(520,Math.max(240,Math.round(e-t.left))))};s(e.clientX);let n=e=>{s(e.clientX)},a=()=>{eh(!1),document.body.style.cursor="",document.body.style.userSelect="",window.removeEventListener("pointermove",n),window.removeEventListener("pointerup",a),window.removeEventListener("pointercancel",a)};document.body.style.cursor="col-resize",document.body.style.userSelect="none",window.addEventListener("pointermove",n),window.addEventListener("pointerup",a),window.addEventListener("pointercancel",a)},[eg]),e0=(0,n.useMemo)(()=>{if(eg)return{gridTemplateColumns:`${eb}px 8px minmax(0,1fr)`}},[eb,eg]),e1=()=>{eT({title:"",content:"",agent_type:"general",tags:[],priority:0,credential_id:null}),e_(null),ez(""),e$(e=>e+1)},e2=()=>{eS(!1),e1()},e5=async e=>{if(e.preventDefault(),!eA.title.trim())return;let t={title:eA.title,content:eA.content,agent_type:eA.agent_type,tags:eA.tags,priority:eA.priority,credential_id:eA.credential_id};ek?await fetch(`/api/instructions/${ek.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}):await fetch("/api/instructions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(null!==X?{...t,folder_id:X}:t)}),e2(),eM()},e3=e=>{let t=JSON.parse(e.tags||"[]");e_(e),eT({title:e.title,content:e.content,agent_type:e.agent_type,tags:t,priority:e.priority,credential_id:e.credential_id}),ez(""),eS(!0)},e4=async e=>{await fetch(`/api/instructions/${e.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({is_active:!e.is_active})}),eM()},e6=e=>{let t=e.trim().replace(/^#+/,"");t&&(eT(e=>({...e,tags:e.tags.includes(t)?e.tags:[...e.tags,t]})),ez(""))},e7=e=>{eT(t=>({...t,tags:t.tags.filter(t=>t!==e)}))},e9=(0,n.useCallback)(e=>(0,s.jsxs)("div",{className:`flex items-center justify-end gap-2 ${"top"===e?"mb-4":"mt-6"}`,children:[(0,s.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)]",children:[a("instructionsPage.results"),":"]}),(0,s.jsxs)(O.l6,{value:String(T),onValueChange:e=>{U(Number(e)),$(1)},children:[(0,s.jsx)(O.bq,{size:"sm",className:"w-20 bg-background",children:(0,s.jsx)(O.yv,{})}),(0,s.jsx)(O.gC,{align:"end",children:q.map(e=>(0,s.jsx)(O.eb,{value:String(e),children:e},e))})]}),(0,s.jsx)(C.$,{variant:"outline",size:"icon",className:"h-8 w-8",disabled:eK<=1,onClick:()=>$(e=>Math.max(1,e-1)),children:(0,s.jsx)(d.A,{className:"h-4 w-4"})}),(0,s.jsxs)("span",{className:"min-w-16 text-right text-xs text-[var(--muted-foreground)]",children:[eK," / ",eJ]}),(0,s.jsx)(C.$,{variant:"outline",size:"icon",className:"h-8 w-8",disabled:eK>=eJ,onClick:()=>$(e=>Math.min(eJ,e+1)),children:(0,s.jsx)(c.A,{className:"h-4 w-4"})})]}),[eK,T,a,eJ]);return(0,s.jsxs)("div",{className:"flex h-full min-h-0 flex-col",children:[(0,s.jsx)("div",{className:"sticky top-0 z-20 border-b border-[var(--border)] bg-[var(--background)]/95 backdrop-blur-sm",children:(0,s.jsxs)("div",{className:"flex h-14 items-center justify-between gap-4 px-5",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(u.A,{className:"h-5 w-5 text-[var(--muted-foreground)]"}),(0,s.jsx)("h1",{className:`text-2xl font-bold tracking-tight ${null!==X?"cursor-pointer hover:text-brand-blue-600 transition-colors":""}`,onClick:()=>{null!==X&&(H(null),el(!1),$(1))},children:a("instructionsPage.title")}),eW.map((e,t)=>{let r=t===eW.length-1,n=e.is_system?a("folders.myWorkspace"):e.name;return(0,s.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,s.jsx)(c.A,{className:"h-4 w-4 shrink-0 text-[var(--muted-foreground)]/50"}),r&&ei?(0,s.jsx)("div",{className:"flex items-center gap-1",children:(0,s.jsx)("input",{ref:ec,value:eo,onChange:e=>ed(e.target.value),onKeyDown:e=>{"Enter"===e.key&&eH(),"Escape"===e.key&&el(!1)},className:"h-8 rounded-[var(--radius-sm)] border border-brand-blue-400 bg-transparent px-2 text-lg font-bold outline-none ring-1 ring-brand-blue-400/30"})}):(0,s.jsx)("span",{className:`text-2xl font-bold tracking-tight select-none ${!r?"cursor-pointer text-[var(--muted-foreground)] hover:text-[var(--foreground)] transition-colors":e.is_system?"cursor-default":"cursor-text"}`,title:r&&!e.is_system?a("folders.doubleClickToRename"):void 0,onClick:r?void 0:()=>{H(e.id),el(!1),$(1)},onDoubleClick:r&&!e.is_system?eX:void 0,children:n})]},e.id)})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsxs)("div",{className:"flex rounded-[var(--radius)] border border-[var(--border)] p-0.5",children:[(0,s.jsx)(C.$,{variant:"ghost",size:"icon",className:`h-7 w-7 ${"list"===W?"bg-[var(--card)] shadow-sm":""}`,onClick:()=>Z("list"),title:a("common.listView"),children:(0,s.jsx)(m.A,{className:"h-3.5 w-3.5"})}),(0,s.jsx)(C.$,{variant:"ghost",size:"icon",className:`h-7 w-7 ${"grid"===W?"bg-[var(--card)] shadow-sm":""}`,onClick:()=>Z("grid"),title:a("common.gridView"),children:(0,s.jsx)(x.A,{className:"h-3.5 w-3.5"})})]}),(0,s.jsxs)(C.$,{size:"sm",onClick:()=>{e1(),eS(!0)},children:[(0,s.jsx)(g.A,{className:"h-4 w-4"}),a("instructionsPage.newInstruction")]})]})]})}),(0,s.jsxs)("div",{ref:em,className:`grid min-h-0 flex-1 grid-cols-1 lg:grid-cols-[320px_8px_minmax(0,1fr)] ${ef?"cursor-col-resize":""}`,style:e0,children:[(0,s.jsxs)("aside",{className:"flex min-h-0 flex-col border-b border-[var(--border)] bg-surface-soft/60 lg:border-r lg:border-b-0",children:[(0,s.jsxs)("div",{className:"shrink-0 border-b border-[var(--border)] px-4 py-4",children:[(0,s.jsx)("p",{className:"text-sm font-semibold",children:a("folders.title")}),(0,s.jsx)("p",{className:"mt-1 text-xs text-[var(--muted-foreground)]",children:eU?eU.is_system?a("folders.myWorkspace"):eU.name:a("instructionsPage.allInstructions")})]}),(0,s.jsxs)("div",{className:"min-h-0 flex-1 overflow-y-auto px-3 py-3",children:[(0,s.jsxs)("button",{onClick:()=>eG(null),onContextMenu:e=>{e.preventDefault(),ey({x:e.clientX,y:e.clientY})},className:`mb-1 flex w-full items-center gap-2 rounded-[var(--radius-sm)] px-2 py-1.5 text-sm transition-colors ${null===X?"bg-brand-blue-100 font-medium text-brand-blue-700":"text-[var(--muted-foreground)] hover:bg-surface-soft hover:text-[var(--foreground)]"}`,children:[(0,s.jsx)(p.A,{className:"h-3.5 w-3.5 shrink-0"}),a("instructionsPage.allInstructions")]}),(0,s.jsx)(L.z,{selectedId:X,onSelect:eG,onFoldersChange:Y,onInstructionDrop:eQ,refreshKey:ee,onCreateRootRef:e=>{eu.current=e}}),ej&&(0,s.jsx)("div",{className:"fixed z-50 min-w-[140px] overflow-hidden rounded-[var(--radius-sm)] border border-[var(--border)] bg-[var(--card)] py-1 shadow-[var(--shadow-card)]",style:{top:ej.y,left:ej.x},onClick:()=>ey(null),children:(0,s.jsxs)("button",{className:"flex w-full items-center gap-2 px-3 py-1.5 text-sm hover:bg-surface-soft",onClick:()=>{eu.current?.(),ey(null)},children:[(0,s.jsx)(f.A,{className:"h-3.5 w-3.5 text-[var(--muted-foreground)]"}),a("folders.new")]})})]})]}),(0,s.jsx)("div",{role:"separator","aria-orientation":"vertical","aria-label":a("folders.title"),onPointerDown:eY,className:"hidden lg:flex items-stretch justify-center bg-transparent",children:(0,s.jsx)("div",{className:"group flex w-2 cursor-col-resize items-center justify-center",children:(0,s.jsx)("div",{className:"h-full w-px bg-[var(--border)] transition-colors group-hover:bg-brand-blue-400 group-active:bg-brand-blue-500"})})}),(0,s.jsx)("section",{ref:ex,className:"min-h-0 overflow-y-auto",children:(0,s.jsxs)("div",{className:"px-5 py-5",children:[(0,s.jsx)("div",{className:"sticky top-0 z-10 -mx-5 mb-4 border-b border-[var(--border)] bg-[var(--background)]/95 px-5 py-3 backdrop-blur-sm",children:(0,s.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-center lg:justify-between",children:[(0,s.jsxs)("div",{className:"relative w-full max-w-md",children:[(0,s.jsx)(h.A,{className:"pointer-events-none absolute top-1/2 left-2.5 h-3.5 w-3.5 -translate-y-1/2 text-[var(--muted-foreground)]"}),(0,s.jsx)("input",{type:"text",value:er,onChange:e=>{es(e.target.value),$(1)},placeholder:a("common.search"),className:"h-9 w-full rounded-[var(--radius-sm)] border border-[var(--border)] bg-transparent pl-8 pr-7 text-sm outline-none placeholder:text-[var(--muted-foreground)] focus:border-brand-blue-400 focus:ring-1 focus:ring-brand-blue-400/30"}),er!==en?(0,s.jsx)("span",{className:"pointer-events-none absolute top-1/2 right-2 -translate-y-1/2 text-[var(--muted-foreground)]",children:(0,s.jsx)(b.A,{className:"h-3.5 w-3.5 animate-spin"})}):er&&(0,s.jsx)("button",{type:"button",onClick:eq,className:"absolute top-1/2 right-2 -translate-y-1/2 text-[var(--muted-foreground)] hover:text-[var(--foreground)]",children:(0,s.jsx)(v.A,{className:"h-3.5 w-3.5"})})]}),(0,s.jsx)("div",{className:"shrink-0",children:e9("top")})]})}),(er||null!==X)&&(0,s.jsxs)("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:[er&&(0,s.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full border border-brand-blue-300/50 bg-brand-blue-50 px-2.5 py-0.5 text-xs text-brand-blue-700",children:[(0,s.jsx)(h.A,{className:"h-3 w-3"}),er,(0,s.jsx)("button",{onClick:eq,className:"ml-0.5 opacity-60 hover:opacity-100",children:(0,s.jsx)(v.A,{className:"h-3 w-3"})})]}),(0,s.jsxs)("span",{className:"text-xs text-[var(--muted-foreground)]",children:[eD.length,a("instructionsPage.results")]})]}),eR?(0,s.jsx)(S.Zp,{children:(0,s.jsx)(S.Wu,{className:"py-10 text-center text-sm text-[var(--muted-foreground)]",children:a("common.loading")})}):0===eD.length?(0,s.jsx)(B.p,{icon:u.A,title:a("instructionsPage.emptyTitle"),description:a("instructionsPage.emptyDescription")}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("div",{className:"grid"===W?"grid grid-cols-1 gap-3 md:grid-cols-2 xl:grid-cols-3":"flex flex-col gap-2",children:eV.map(e=>{let t=JSON.parse(e.tags||"[]"),r=function(e){let t=e.replace(/\r/g,"").split("\n").map(e=>e.trimEnd()).filter(e=>e.trim().length>0);if(0===t.length)return"";let r=t.slice(0,4).join("\n");return t.length>4?`${r}
|
|
2
2
|
|
|
3
3
|
...`:r}(e.content),n=eZ(e.folder_id),i=0===n.length?e.title:(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("span",{className:"text-xs font-normal text-[var(--muted-foreground)]/60",children:[n.join(" > ")," > "]}),e.title]}),d=(0,s.jsxs)(R.rI,{children:[(0,s.jsx)(R.ty,{asChild:!0,children:(0,s.jsx)(C.$,{variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0",onClick:e=>e.stopPropagation(),"aria-label":a("instructionsPage.actionMenu",{title:e.title}),children:(0,s.jsx)(j.A,{className:"h-4 w-4"})})}),(0,s.jsxs)(R.SQ,{align:"end",onClick:e=>e.stopPropagation(),children:[(0,s.jsxs)(R._2,{onClick:()=>e3(e),children:[(0,s.jsx)(y.A,{className:"mr-2 h-3.5 w-3.5"}),a("common.edit")]}),(0,s.jsxs)(R._2,{onClick:()=>e4(e),children:[(0,s.jsx)(w.A,{className:"mr-2 h-3.5 w-3.5"}),e.is_active?a("instructionsPage.toggleDisable"):a("instructionsPage.toggleEnable")]}),(0,s.jsx)(R.mB,{}),(0,s.jsxs)(R._2,{variant:"destructive",onClick:()=>eB(e),children:[(0,s.jsx)(N.A,{className:"mr-2 h-3.5 w-3.5"}),a("common.delete")]})]})]}),c=(0,s.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),eN({id:e.id,title:e.title,override:e.visibility_override??null,folderId:e.folder_id})},className:"rounded opacity-60 hover:opacity-100",title:a("visibility.settings"),children:(0,s.jsx)(P.w,{visibility:e.visibility_override??"inherit",iconOnly:!0})});return"list"===W?(0,s.jsx)(S.Zp,{className:`cursor-pointer gap-0 py-0 transition-shadow hover:shadow-soft ${e.is_active?"":"opacity-60"}`,draggable:!0,onDragStart:t=>t.dataTransfer.setData("instructionId",String(e.id)),onClick:()=>e3(e),children:(0,s.jsxs)(S.Wu,{className:"px-4 py-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsx)("div",{className:"min-w-0 flex-1",children:(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,s.jsx)("p",{className:"truncate text-sm font-semibold",children:i}),(0,s.jsx)(_.E,{children:e.agent_type}),e.priority>0&&(0,s.jsxs)(_.E,{variant:"warning",children:["P",e.priority]}),!e.is_active&&(0,s.jsx)(_.E,{variant:"neutral",children:a("instructionsPage.inactive")}),c]})}),(0,s.jsx)("p",{className:"shrink-0 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleDateString("ko-KR")}),d]}),t.length>0&&(0,s.jsx)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:t.map(e=>(0,s.jsxs)(_.E,{variant:"default",className:"px-2 py-0.5",children:["#",e]},e))})]})},e.id):(0,s.jsx)(S.Zp,{className:`cursor-pointer gap-0 py-0 transition-shadow hover:shadow-soft ${e.is_active?"":"opacity-60"}`,draggable:!0,onDragStart:t=>t.dataTransfer.setData("instructionId",String(e.id)),onClick:()=>e3(e),children:(0,s.jsxs)(S.Wu,{className:"flex h-full flex-col p-4",children:[(0,s.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,s.jsx)("div",{className:"min-w-0 flex-1",children:(0,s.jsxs)("div",{className:"mb-1 flex flex-wrap items-center gap-2",children:[(0,s.jsx)("p",{className:"truncate text-sm font-semibold",children:i}),(0,s.jsx)(_.E,{children:e.agent_type}),e.priority>0&&(0,s.jsxs)(_.E,{variant:"warning",children:["P",e.priority]}),!e.is_active&&(0,s.jsx)(_.E,{variant:"neutral",children:a("instructionsPage.inactive")}),c]})}),d]}),t.length>0&&(0,s.jsx)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:t.map(e=>(0,s.jsxs)(_.E,{variant:"default",className:"px-2 py-0.5",children:["#",e]},e))}),(0,s.jsx)("div",{className:"mt-3 max-h-28 overflow-hidden rounded-[1rem] border border-border/70 bg-brand-surface-soft/45 px-3 py-2",children:(0,s.jsx)("div",{className:"prose prose-sm max-w-none text-[var(--muted-foreground)] prose-p:my-1 prose-ul:my-1 prose-ol:my-1 prose-li:my-0 prose-headings:my-1 prose-headings:text-sm prose-headings:font-semibold prose-strong:text-[var(--foreground)] prose-code:rounded prose-code:bg-brand-surface-soft prose-code:px-1 prose-code:py-0.5 prose-code:text-[0.85em] prose-pre:rounded-2xl prose-pre:border prose-pre:border-border prose-pre:bg-brand-surface-soft prose-pre:text-[var(--foreground)]",children:(0,s.jsx)(l.oz,{remarkPlugins:[o.A],children:r||a("instructionsPage.noPreview")})})}),(0,s.jsx)("p",{className:"mt-3 text-[11px] text-[var(--muted-foreground)]",children:new Date(e.created_at).toLocaleDateString("ko-KR")})]})},e.id)})}),e9("bottom")]})]})})]}),(0,s.jsxs)(D.Gj,{open:eC,onOpenChange:e=>{e?eS(!0):e2()},title:ek?a("instructionsPage.editInstruction"):a("instructionsPage.createInstruction"),description:a("instructionsPage.dialogDescription"),className:"w-[min(72rem,calc(100vw-2rem))] max-w-none rounded-[1.75rem] border border-border/70 bg-background/95 p-0 shadow-[0_24px_80px_rgba(20,39,86,0.22)] sm:max-w-[72rem]",children:[(0,s.jsx)("div",{className:"border-b border-border/70 bg-kiwi-100/50 px-5 py-4",children:(0,s.jsx)("div",{className:"flex items-center justify-between gap-3",children:(0,s.jsx)("div",{className:"min-w-0",children:(0,s.jsx)("p",{className:"text-base font-semibold text-foreground",children:ek?ek.title:a("instructionsPage.newAgentInstruction")})})})}),(0,s.jsx)("form",{onSubmit:e5,className:"p-5",children:(0,s.jsxs)("div",{className:"grid gap-4",children:[(0,s.jsxs)("div",{className:"flex gap-3",children:[(0,s.jsx)(M.p,{type:"text",placeholder:a("instructionsPage.titlePlaceholder"),value:eA.title,onChange:e=>eT({...eA,title:e.target.value}),className:"flex-1",required:!0}),(0,s.jsxs)(O.l6,{value:eA.agent_type,onValueChange:e=>eT({...eA,agent_type:e}),children:[(0,s.jsx)(O.bq,{className:"w-40 bg-background",children:(0,s.jsx)(O.yv,{placeholder:a("instructionsPage.title")})}),(0,s.jsx)(O.gC,{align:"end",children:G.map(e=>(0,s.jsx)(O.eb,{value:e,children:e},e))})]})]}),(0,s.jsxs)(O.l6,{value:null!==eA.credential_id?String(eA.credential_id):"__none__",onValueChange:e=>eT({...eA,credential_id:"__none__"===e?null:Number(e)}),children:[(0,s.jsx)(O.bq,{className:"bg-background",children:(0,s.jsx)(O.yv,{placeholder:a("instructionsPage.credentialPlaceholder")})}),(0,s.jsxs)(O.gC,{children:[(0,s.jsx)(O.eb,{value:"__none__",children:a("instructionsPage.noCredential")}),eI.map(e=>(0,s.jsx)(O.eb,{value:String(e.id),children:e.service_name},e.id))]})]}),(0,s.jsx)(K,{initialContent:eA.content,onChange:e=>eT(t=>({...t,content:e}))},eE),(0,s.jsxs)("div",{className:"flex gap-3",children:[(0,s.jsx)("div",{className:"flex-1 rounded-[1.25rem] border border-input bg-background px-3 py-2 shadow-none transition-colors focus-within:border-brand-blue-500 focus-within:ring-[4px] focus-within:ring-ring/35",children:(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[eA.tags.map(e=>(0,s.jsxs)(_.E,{variant:"default",className:"gap-1.5 pr-1",children:["#",e,(0,s.jsx)("button",{type:"button",className:"rounded-full p-0.5 text-[var(--muted-foreground)] transition-colors hover:bg-black/5 hover:text-foreground",onClick:()=>e7(e),"aria-label":a("instructionsPage.tagRemove").replace("{tag}",e),children:(0,s.jsx)(v.A,{className:"h-3 w-3"})})]},e)),(0,s.jsx)("input",{type:"text",value:eP,onChange:e=>ez(e.target.value),onKeyDown:e=>{"Enter"===e.key||","===e.key?(e.preventDefault(),e6(eP)):"Backspace"===e.key&&0===eP.length&&eA.tags.length>0&&e7(eA.tags[eA.tags.length-1])},onBlur:()=>e6(eP),placeholder:0===eA.tags.length?a("instructionsPage.tagInputPlaceholder"):a("instructionsPage.tagAddPlaceholder"),className:"min-w-32 flex-1 border-0 bg-transparent px-1 py-1 text-sm text-foreground outline-none placeholder:text-ink-500"})]})}),(0,s.jsx)(M.p,{type:"number",placeholder:a("instructionsPage.priorityPlaceholder"),value:eA.priority,onChange:e=>eT({...eA,priority:Number(e.target.value)}),className:"w-28"})]}),(0,s.jsxs)("div",{className:"flex items-center justify-between gap-3 border-t border-border/70 pt-4",children:[(0,s.jsx)("p",{className:"text-xs text-[var(--muted-foreground)]",children:a("instructionsPage.helperText")}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(C.$,{type:"button",variant:"secondary",onClick:e2,children:a("common.cancel")}),(0,s.jsx)(C.$,{type:"submit",children:ek?a("common.save"):a("common.add")})]})]})]})})]}),(0,s.jsx)(z.o,{target:eO,title:a("instructionsPage.deleteTitle"),description:a("instructionsPage.deleteDescription").replace("{title}",eO?.title??a("instructionsPage.title")),onCancel:()=>eB(null),onConfirm:eF}),(0,s.jsx)(I,{instructionId:ew?.id??null,instructionTitle:ew?.title??"",currentOverride:ew?.override??null,folderName:(()=>{if(!ew?.folderId)return null;let e=Q.find(e=>e.id===ew.folderId);return e?e.is_system?a("folders.myWorkspace"):e.name:null})(),folderVisibility:(()=>{if(!ew?.folderId)return null;let e=Q.find(e=>e.id===ew.folderId);return e?.visibility??null})(),open:null!==ew,onClose:()=>eN(null),onUpdate:eM})]})}},81477:(e,t,r)=>{"use strict";r.d(t,{BT:()=>o,Wu:()=>d,ZB:()=>l,Zp:()=>a,aR:()=>i});var s=r(95155);r(12115);var n=r(40980);function a({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card",className:(0,n.cn)("flex flex-col rounded-[1.5rem] border border-border bg-card text-card-foreground shadow-card",e),...t})}function i({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-header",className:(0,n.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 p-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...t})}function l({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-title",className:(0,n.cn)("leading-none font-semibold",e),...t})}function o({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-description",className:(0,n.cn)("text-sm text-muted-foreground",e),...t})}function d({className:e,...t}){return(0,s.jsx)("div",{"data-slot":"card-content",className:(0,n.cn)("px-6 pb-6",e),...t})}},82620:(e,t,r)=>{Promise.resolve().then(r.bind(r,60711))},89239:(e,t,r)=>{"use strict";r.d(t,{$:()=>o});var s=r(95155);r(12115);var n=r(18460),a=r(42442),i=r(40980);let l=(0,n.F)("inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 font-semibold [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-[0_10px_18px_rgba(53,87,190,0.18)] hover:bg-brand-blue-700",destructive:"bg-destructive text-destructive-foreground hover:bg-danger/90",outline:"border border-border bg-background text-foreground hover:bg-brand-blue-100 hover:text-brand-blue-700",secondary:"bg-secondary text-secondary-foreground hover:bg-surface-strong",ghost:"text-brand-blue-700 hover:bg-brand-blue-100 hover:text-brand-blue-700",accent:"bg-accent text-accent-foreground hover:bg-kiwi-700 hover:text-white",link:"text-brand-blue-700 underline-offset-4 hover:underline"},size:{default:"h-10 rounded-full px-5 text-[0.95rem]",xs:"h-6 gap-1 rounded-full px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-full px-3.5 text-sm",lg:"h-11 rounded-full px-6 text-[0.98rem]",icon:"size-10 rounded-full","icon-xs":"size-6 rounded-full [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8 rounded-full","icon-lg":"size-10 rounded-full"}},defaultVariants:{variant:"default",size:"default"}});function o({className:e,variant:t="default",size:r="default",asChild:n=!1,...d}){let c=n?a.bL:"button";return(0,s.jsx)(c,{"data-slot":"button","data-variant":t,"data-size":r,className:(0,i.cn)(l({variant:t,size:r,className:e})),...d})}}},e=>{e.O(0,[8409,7262,6095,8500,7659,2822,7050,7533,5751,6073,8920,2360,4663,8441,3794,7358],()=>e(e.s=82620)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4944],{13146:(e,t,r)=>{"use strict";r.d(t,{G7:()=>c,Gj:()=>i,L$:()=>x,h_:()=>f,oI:()=>u,xL:()=>m});var a=r(95155);r(12115);var s=r(34738),n=r(61878),o=r(40980),d=r(42763);function l({className:e,...t}){return(0,a.jsx)(s.uB,{"data-slot":"command",className:(0,o.cn)("flex h-full w-full flex-col overflow-hidden rounded-[1.5rem] bg-popover text-popover-foreground",e),...t})}function i({title:e="Command Palette",description:t="Search for a command to run...",children:r,className:s,showCloseButton:n=!0,...c}){return(0,a.jsxs)(d.lG,{...c,children:[(0,a.jsxs)(d.c7,{className:"sr-only",children:[(0,a.jsx)(d.L3,{children:e}),(0,a.jsx)(d.rr,{children:t})]}),(0,a.jsx)(d.Cf,{className:(0,o.cn)("overflow-hidden p-0",s),showCloseButton:n,children:(0,a.jsx)(l,{className:"**:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:r})})]})}function c({className:e,...t}){return(0,a.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,a.jsx)(n.A,{className:"size-4 shrink-0 opacity-50"}),(0,a.jsx)(s.uB.Input,{"data-slot":"command-input",className:(0,o.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]})}function u({className:e,...t}){return(0,a.jsx)(s.uB.List,{"data-slot":"command-list",className:(0,o.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...t})}function m({...e}){return(0,a.jsx)(s.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}function x({className:e,...t}){return(0,a.jsx)(s.uB.Group,{"data-slot":"command-group",className:(0,o.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t})}function f({className:e,...t}){return(0,a.jsx)(s.uB.Item,{"data-slot":"command-item",className:(0,o.cn)("relative flex cursor-default items-center gap-2 rounded-xl px-3 py-2 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-brand-blue-100 data-[selected=true]:text-brand-blue-700 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...t})}},23261:(e,t,r)=>{"use strict";r.d(t,{CommandPalette:()=>x});var a=r(95155),s=r(12115),n=r(73321),o=r(30971),d=r(15161),l=r(89363),i=r(51914),c=r(41313),u=r(13146),m=r(42360);function x(){let[e,t]=(0,s.useState)(!1),r=(0,n.useRouter)(),{t:x}=(0,m.B)();function f(e){t(!1),r.push(e)}async function h(){t(!1),await fetch("/api/auth/logout",{method:"POST"}),r.push("/login")}return(0,s.useEffect)(()=>{function e(e){"k"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),t(e=>!e))}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]),(0,a.jsxs)(u.Gj,{open:e,onOpenChange:t,children:[(0,a.jsx)(u.G7,{placeholder:x("commandPalette.search")}),(0,a.jsxs)(u.oI,{children:[(0,a.jsx)(u.xL,{children:x("commandPalette.noResults")}),(0,a.jsxs)(u.L$,{heading:x("commandPalette.navigate"),children:[(0,a.jsxs)(u.h_,{onSelect:()=>f("/workflows"),children:[(0,a.jsx)(o.A,{}),(0,a.jsx)("span",{children:x("nav.workflows")})]}),(0,a.jsxs)(u.h_,{onSelect:()=>f("/tasks"),children:[(0,a.jsx)(d.A,{}),(0,a.jsx)("span",{children:x("nav.tasks")})]}),(0,a.jsxs)(u.h_,{onSelect:()=>f("/settings"),children:[(0,a.jsx)(l.A,{}),(0,a.jsx)("span",{children:x("nav.settings")})]})]}),(0,a.jsxs)(u.L$,{heading:x("commandPalette.actions"),children:[(0,a.jsxs)(u.h_,{onSelect:()=>f("/workflows/new"),children:[(0,a.jsx)(i.A,{}),(0,a.jsx)("span",{children:x("commandPalette.newWorkflow")})]}),(0,a.jsxs)(u.h_,{onSelect:()=>h(),children:[(0,a.jsx)(c.A,{}),(0,a.jsx)("span",{children:x("auth.logout")})]})]})]})]})}},40980:(e,t,r)=>{"use strict";r.d(t,{cn:()=>n});var a=r(29722),s=r(622);function n(...e){return(0,s.QP)((0,a.$)(e))}},42763:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>x,Es:()=>h,HM:()=>u,L3:()=>p,c7:()=>f,lG:()=>l,rr:()=>b,zM:()=>i});var a=r(95155);r(12115);var s=r(33210),n=r(19324),o=r(40980),d=r(89239);function l({...e}){return(0,a.jsx)(n.bL,{"data-slot":"dialog",...e})}function i({...e}){return(0,a.jsx)(n.l9,{"data-slot":"dialog-trigger",...e})}function c({...e}){return(0,a.jsx)(n.ZL,{"data-slot":"dialog-portal",...e})}function u({...e}){return(0,a.jsx)(n.bm,{"data-slot":"dialog-close",...e})}function m({className:e,...t}){return(0,a.jsx)(n.hJ,{"data-slot":"dialog-overlay",className:(0,o.cn)("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...t})}function x({className:e,children:t,showCloseButton:r=!0,...d}){return(0,a.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,a.jsx)(m,{}),(0,a.jsxs)(n.UC,{"data-slot":"dialog-content",className:(0,o.cn)("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 overflow-hidden rounded-[1.5rem] border border-border bg-card p-6 shadow-[var(--shadow-soft)] duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-[28rem]",e),...d,children:[t,r&&(0,a.jsxs)(n.bm,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,a.jsx)(s.A,{}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function f({className:e,...t}){return(0,a.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",e),...t})}function h({className:e,showCloseButton:t=!1,children:r,...s}){return(0,a.jsxs)("div",{"data-slot":"dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...s,children:[r,t&&(0,a.jsx)(n.bm,{asChild:!0,children:(0,a.jsx)(d.$,{variant:"outline",children:"Close"})})]})}function p({className:e,...t}){return(0,a.jsx)(n.hE,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",e),...t})}function b({className:e,...t}){return(0,a.jsx)(n.VY,{"data-slot":"dialog-description",className:(0,o.cn)("text-sm text-muted-foreground",e),...t})}},45160:(e,t,r)=>{"use strict";r.d(t,{E:()=>l});var a=r(95155);r(12115);var s=r(18460),n=r(42442),o=r(40980);let d=(0,s.F)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-3 py-1 text-xs font-semibold tracking-[0.01em] whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"border-brand-blue-600/20 bg-brand-blue-100 text-brand-blue-700",accent:"border-brand-kiwi-600/30 bg-brand-kiwi-100 text-brand-kiwi-700",neutral:"border-border bg-brand-surface-soft text-brand-ink-700",success:"border-success/20 bg-success/10 text-success",warning:"border-warning/20 bg-warning/10 text-warning",danger:"border-danger/20 bg-danger/10 text-danger",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"border-transparent [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"border-transparent text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function l({className:e,variant:t,asChild:r=!1,...s}){let i=r?n.bL:"span";return(0,a.jsx)(i,{"data-slot":"badge","data-variant":t,className:(0,o.cn)(d({variant:t}),e),...s})}},65127:(e,t,r)=>{Promise.resolve().then(r.bind(r,98638)),Promise.resolve().then(r.bind(r,70300)),Promise.resolve().then(r.bind(r,23261))},70300:(e,t,r)=>{"use strict";r.d(t,{TopBar:()=>x});var a=r(95155),s=r(98500),n=r.n(s),o=r(73321),d=r(12115),l=r(21362),i=r(15161),c=r(30971),u=r(42360),m=r(89239);function x(){let e=(0,o.usePathname)(),{t}=(0,u.B)(),[r,s]=(0,d.useState)(null),x=(0,d.useMemo)(()=>({workflows:t("nav.workflows"),tasks:t("nav.tasks"),credentials:t("nav.credentials"),instructions:t("nav.instructions"),tutorial:t("nav.tutorial"),docs:t("nav.apiDocs"),settings:t("nav.settings"),new:t("nav.new")}),[t]);(0,d.useEffect)(()=>{let r=!1;return async function(){let a=e.match(/^\/tasks\/(\d+)$/);if(a){let e=a[1],n=await fetch(`/api/tasks/${e}`);if(!n.ok||r)return;let o=(await n.json()).data;if(!o||r)return;s({breadcrumbs:[{label:t("nav.workflows"),href:"/workflows"},{label:o.workflow_title||`Workflow #${o.workflow_id}`,href:`/workflows/${o.workflow_id}`},{label:o.title?.trim()||o.context?.trim()||`Task #${o.id}`}],actionHref:"/tasks",actionLabel:t("tasks.backToList")});return}let n=e.match(/^\/workflows\/(\d+)(\/|$)/);if(n){let a=n[1],o=await fetch(`/api/workflows/${a}`);if(!o.ok||r)return;let d=(await o.json()).data;if(!d||r)return;let l=[];if(d.folder_id){let e=await fetch("/api/folders");if(e.ok&&!r){let r=(await e.json()).data??[],a=[],s=r.find(e=>e.id===d.folder_id),n=new Set;for(;s&&!n.has(s.id)&&(n.add(s.id),a.unshift(s),null!==s.parent_id);){;s=r.find(e=>e.id===s.parent_id)}for(let e of a)l.push({label:e.is_system?t("folders.myWorkspace"):e.name,href:`/workflows?folder_id=${e.id}`})}}let i=e.endsWith("/edit"),c=[{label:t("nav.workflows"),href:"/workflows"},...l,i?{label:d.title,href:`/workflows/${a}`}:{label:d.title}];i&&c.push({label:t("common.edit")}),s({breadcrumbs:c});return}s(null)}(),()=>{r=!0}},[e,t]);let f=(0,d.useMemo)(()=>{let t=e.split("/").filter(Boolean);return t.map((e,r)=>{let a=`/${t.slice(0,r+1).join("/")}`;return{label:x[e]||e,href:r===t.length-1?void 0:a}})},[e,x]),h=r?.breadcrumbs??f;return e.split("/").filter(Boolean).length<=1?null:(0,a.jsxs)("header",{className:"flex h-12 items-center justify-between border-b border-[var(--border)] bg-[var(--background)] px-4",children:[(0,a.jsxs)("nav",{className:"flex min-w-0 flex-1 items-center gap-1 overflow-hidden text-sm",children:[h.map((e,t)=>(0,a.jsxs)("span",{className:"flex min-w-0 shrink items-center gap-1",children:[t>0&&(0,a.jsx)(l.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--muted-foreground)]/40"}),e.href?(0,a.jsx)(n(),{href:e.href,className:"max-w-[12rem] truncate text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",title:e.label,children:e.label}):(0,a.jsx)("span",{className:"max-w-[24rem] truncate font-medium text-[var(--foreground)]",title:e.label,children:e.label})]},t)),0===h.length&&(0,a.jsx)("span",{className:"font-medium text-[var(--foreground)]",children:t("dashboard.title")})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[r?.actionHref&&r.actionLabel&&(0,a.jsx)(m.$,{asChild:!0,variant:"outline",size:"sm",className:"h-8 gap-1.5",children:(0,a.jsxs)(n(),{href:r.actionHref,children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5"}),r.actionLabel]})}),e.startsWith("/workflows/")&&!r?.actionHref&&/^\/workflows\/\d+$/.test(e)&&(0,a.jsx)(m.$,{asChild:!0,variant:"outline",size:"sm",className:"h-8 gap-1.5",children:(0,a.jsxs)(n(),{href:"/workflows",children:[(0,a.jsx)(c.A,{className:"h-3.5 w-3.5"}),t("workflows.backToList")]})}),(0,a.jsx)("kbd",{className:"hidden h-6 items-center gap-1 rounded border border-[var(--border)] bg-[var(--muted)] px-2 text-[10px] text-[var(--muted-foreground)] sm:inline-flex",children:"⌘K"})]})]})}},70872:(e,t,r)=>{"use strict";r.d(t,{Bc:()=>o,ZI:()=>i,k$:()=>l,m_:()=>d});var a=r(95155);r(12115);var s=r(28935),n=r(40980);function o({delayDuration:e=0,...t}){return(0,a.jsx)(s.Kq,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function d({...e}){return(0,a.jsx)(s.bL,{"data-slot":"tooltip",...e})}function l({...e}){return(0,a.jsx)(s.l9,{"data-slot":"tooltip-trigger",...e})}function i({className:e,sideOffset:t=0,children:r,...o}){return(0,a.jsx)(s.ZL,{children:(0,a.jsxs)(s.UC,{"data-slot":"tooltip-content",sideOffset:t,className:(0,n.cn)("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-xl bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",e),...o,children:[r,(0,a.jsx)(s.i3,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}},72264:(e,t,r)=>{"use strict";r.d(t,{SQ:()=>l,_2:()=>i,mB:()=>c,rI:()=>o,ty:()=>d});var a=r(95155);r(12115);var s=r(27050),n=r(40980);function o({...e}){return(0,a.jsx)(s.bL,{"data-slot":"dropdown-menu",...e})}function d({...e}){return(0,a.jsx)(s.l9,{"data-slot":"dropdown-menu-trigger",...e})}function l({className:e,sideOffset:t=4,...r}){return(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{"data-slot":"dropdown-menu-content",sideOffset:t,className:(0,n.cn)("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[1.125rem] border border-border bg-popover p-2 text-popover-foreground shadow-card data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",e),...r})})}function i({className:e,inset:t,variant:r="default",...o}){return(0,a.jsx)(s.q7,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":r,className:(0,n.cn)("relative flex cursor-default items-center gap-2 rounded-xl px-3 py-2 text-sm outline-hidden select-none focus:bg-brand-blue-100 focus:text-brand-blue-700 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",e),...o})}function c({className:e,...t}){return(0,a.jsx)(s.wv,{"data-slot":"dropdown-menu-separator",className:(0,n.cn)("-mx-1 my-1 h-px bg-border",e),...t})}},89239:(e,t,r)=>{"use strict";r.d(t,{$:()=>l});var a=r(95155);r(12115);var s=r(18460),n=r(42442),o=r(40980);let d=(0,s.F)("inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 font-semibold [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-[0_10px_18px_rgba(53,87,190,0.18)] hover:bg-brand-blue-700",destructive:"bg-destructive text-destructive-foreground hover:bg-danger/90",outline:"border border-border bg-background text-foreground hover:bg-brand-blue-100 hover:text-brand-blue-700",secondary:"bg-secondary text-secondary-foreground hover:bg-surface-strong",ghost:"text-brand-blue-700 hover:bg-brand-blue-100 hover:text-brand-blue-700",accent:"bg-accent text-accent-foreground hover:bg-kiwi-700 hover:text-white",link:"text-brand-blue-700 underline-offset-4 hover:underline"},size:{default:"h-10 rounded-full px-5 text-[0.95rem]",xs:"h-6 gap-1 rounded-full px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-full px-3.5 text-sm",lg:"h-11 rounded-full px-6 text-[0.98rem]",icon:"size-10 rounded-full","icon-xs":"size-6 rounded-full [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8 rounded-full","icon-lg":"size-10 rounded-full"}},defaultVariants:{variant:"default",size:"default"}});function l({className:e,variant:t="default",size:r="default",asChild:s=!1,...i}){let c=s?n.bL:"button";return(0,a.jsx)(c,{"data-slot":"button","data-variant":t,"data-size":r,className:(0,o.cn)(d({variant:t,size:r,className:e})),...i})}},98638:(e,t,r)=>{"use strict";r.d(t,{Sidebar:()=>D});var a=r(95155),s=r(12115),n=r(5772),o=r(98500),d=r.n(o),l=r(73321),i=r(30971),c=r(15161),u=r(35756),m=r(48368),x=r(97810),f=r(48274),h=r(41159),p=r(41437),b=r(73684),g=r(89363),v=r(92451),j=r(31025),w=r(23096),k=r(72230),N=r(25344),y=r(52530),_=r(41313),z=r(40980),C=r(45160),A=r(42763),L=r(70872),$=r(89803);function S({className:e,orientation:t="horizontal",decorative:r=!0,...s}){return(0,a.jsx)($.b,{"data-slot":"separator",decorative:r,orientation:t,className:(0,z.cn)("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...s})}var E=r(72264);function B({href:e,icon:t,label:r,collapsed:s,badge:n,external:o}){let i=(0,l.usePathname)(),c=!o&&(i===e||i.startsWith(e+"/")),u=(0,z.cn)("flex items-center gap-3 rounded-lg px-3 py-2 text-sm transition-colors",c?"bg-[var(--sidebar-accent)] text-[var(--sidebar-accent-foreground)] font-medium":"text-[var(--sidebar-foreground)]/70 hover:bg-[var(--sidebar-accent)]/50 hover:text-[var(--sidebar-foreground)]"),m=(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t,{className:"h-4 w-4 shrink-0"}),!s&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"flex-1 truncate",children:r}),void 0!==n&&n>0&&(0,a.jsx)(C.E,{variant:"secondary",className:"ml-auto h-5 px-1.5 text-[10px]",children:n})]})]}),x=o?(0,a.jsx)("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:u,children:m}):(0,a.jsx)(d(),{href:e,className:u,children:m});return s?(0,a.jsxs)(L.m_,{delayDuration:0,children:[(0,a.jsx)(L.k$,{asChild:!0,children:x}),(0,a.jsxs)(L.ZI,{side:"right",className:"flex items-center gap-2",children:[r,void 0!==n&&n>0&&(0,a.jsx)(C.E,{variant:"secondary",className:"h-5 px-1.5 text-[10px]",children:n})]})]}):x}var U=r(42360);let P="https://github.com/dandacompany/bluekiwi";function D({user:e,teamName:t}){let r=(0,l.useRouter)(),{t:o,locale:$,setLocale:I}=(0,U.B)(),[O,T]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e=window.localStorage.getItem("sidebar-collapsed");null!==e&&T(JSON.parse(e))},[]);let[M,G]=(0,s.useState)({current:"",hasUpdate:!1,latest:null,releaseUrl:null}),[F,K]=(0,s.useState)(!1);(0,s.useEffect)(()=>{fetch("/api/version").then(e=>e.json()).then(e=>{G({current:e.current??"",hasUpdate:!!e.hasUpdate,latest:e.latest??null,releaseUrl:e.releaseUrl??null})}).catch(()=>{})},[]);let W=(0,s.useMemo)(()=>[{href:"/workflows",icon:i.A,label:o("nav.workflows")},{href:"/tasks",icon:c.A,label:o("nav.tasks")},{href:"/credentials",icon:u.A,label:o("nav.credentials")},{href:"/instructions",icon:m.A,label:o("nav.instructions")}],[o]),H=(0,s.useMemo)(()=>[{href:"/tutorial",icon:x.A,label:o("nav.tutorial")},{href:"/docs",icon:f.A,label:o("nav.apiDocs")},{href:"https://bluekiwi.work",icon:h.A,label:o("nav.marketplace"),external:!0}],[o]),Z=async()=>{await fetch("/api/auth/logout",{method:"POST"}),r.push("/login"),r.refresh()};return(0,a.jsxs)(L.Bc,{children:[(0,a.jsxs)("aside",{className:(0,z.cn)("relative flex h-screen flex-col overflow-visible border-r border-[var(--sidebar-border)] bg-[var(--sidebar-background)] transition-[width] duration-200 ease-in-out",O?"w-14":"w-[220px]"),children:[(0,a.jsx)("button",{onClick:()=>{T(e=>(localStorage.setItem("sidebar-collapsed",JSON.stringify(!e)),!e))},"aria-label":O?"Expand sidebar":"Collapse sidebar",className:"absolute top-12 right-0 z-40 flex h-7 w-7 translate-x-1/2 items-center justify-center rounded-full border border-[var(--sidebar-border)] bg-[var(--sidebar-background)] text-[var(--muted-foreground)] shadow-md transition-colors hover:bg-[var(--sidebar-accent)] hover:text-[var(--sidebar-foreground)]",children:O?(0,a.jsx)(p.A,{className:"h-3.5 w-3.5"}):(0,a.jsx)(b.A,{className:"h-3.5 w-3.5"})}),(0,a.jsx)("div",{className:"flex h-14 items-center gap-2 border-b border-[var(--sidebar-border)] px-3",children:(0,a.jsxs)(d(),{href:"/",className:"flex items-center gap-2",children:[(0,a.jsx)(n.default,{src:"/logo-48.png",alt:"BlueKiwi",className:"h-8 w-8 shrink-0 rounded-lg",width:32,height:32}),!O&&(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("span",{className:"block truncate font-semibold tracking-tight text-[var(--sidebar-foreground)]",children:"BlueKiwi"}),t?(0,a.jsx)("span",{className:"block truncate text-[10px] font-medium text-[var(--muted-foreground)]/85",children:t}):null]})]})}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-2 py-2",children:[!O&&(0,a.jsx)("p",{className:"px-3 pb-1 pt-2 text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:o("nav.main")}),(0,a.jsx)("nav",{className:"flex flex-col gap-0.5",children:W.map(e=>(0,a.jsx)(B,{...e,collapsed:O},e.href))}),!O&&(0,a.jsx)("p",{className:"px-3 pb-1 pt-4 text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:o("nav.resources")}),O&&(0,a.jsx)(S,{className:"my-2"}),(0,a.jsx)("nav",{className:"flex flex-col gap-0.5",children:H.map(e=>(0,a.jsx)(B,{...e,collapsed:O,external:e.external},e.href))})]}),(0,a.jsx)("div",{className:"border-t border-[var(--sidebar-border)] px-2 py-2",children:e&&(0,a.jsxs)(E.rI,{children:[(0,a.jsx)(E.ty,{asChild:!0,children:(0,a.jsxs)("button",{className:(0,z.cn)("relative flex w-full items-center gap-2 rounded-lg px-3 py-2 transition-colors hover:bg-[var(--sidebar-accent)]/50",O&&"justify-center"),children:[(0,a.jsx)("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[var(--sidebar-accent)] text-xs font-medium",children:e.username.charAt(0).toUpperCase()}),!O&&(0,a.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,a.jsx)("p",{className:"truncate text-xs font-medium text-[var(--sidebar-foreground)]",children:e.username}),(0,a.jsx)("p",{className:"truncate text-[10px] text-[var(--muted-foreground)]",children:e.role})]}),M.hasUpdate?(0,a.jsx)("span",{className:"absolute top-1.5 right-1.5 flex h-2.5 w-2.5 rounded-full bg-emerald-500 ring-2 ring-[var(--sidebar-background)]"}):null]})}),(0,a.jsxs)(E.SQ,{side:O?"right":"top",align:"start",className:"w-52",children:[(0,a.jsxs)(E._2,{onClick:()=>r.push("/settings"),children:[(0,a.jsx)(g.A,{className:"mr-2 h-3.5 w-3.5"}),o("nav.settings")]}),(0,a.jsxs)(E._2,{onClick:()=>I("ko"===$?"en":"ko"),children:[(0,a.jsx)(v.A,{className:"mr-2 h-3.5 w-3.5"}),"ko"===$?"English":"한국어"]}),(0,a.jsx)(E.mB,{}),(0,a.jsx)(E._2,{asChild:!0,children:(0,a.jsxs)("a",{href:P,target:"_blank",rel:"noopener noreferrer",className:"flex items-center",children:[(0,a.jsx)(j.A,{className:"mr-2 h-3.5 w-3.5"}),o("nav.github")]})}),(0,a.jsx)(E._2,{asChild:!0,children:(0,a.jsxs)("a",{href:"https://github.com/dandacompany/bluekiwi/blob/main/LICENSE.md",target:"_blank",rel:"noopener noreferrer",className:"flex items-center",children:[(0,a.jsx)(w.A,{className:"mr-2 h-3.5 w-3.5"}),o("nav.license")]})}),(0,a.jsx)(E._2,{asChild:!0,children:(0,a.jsxs)("a",{href:"https://buymeacoffee.com/dante.labs",target:"_blank",rel:"noopener noreferrer",className:"flex items-center",children:[(0,a.jsx)(k.A,{className:"mr-2 h-3.5 w-3.5"}),o("nav.support")]})}),(0,a.jsx)(E._2,{onClick:()=>K(!0),children:M.hasUpdate?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N.A,{className:"mr-2 h-3.5 w-3.5 text-emerald-500"}),(0,a.jsxs)("span",{className:"flex flex-1 items-center gap-1 text-[11px] font-medium",children:[(0,a.jsxs)("span",{className:"text-muted-foreground line-through",children:["v",M.current]}),(0,a.jsx)("span",{className:"text-emerald-500",children:"→"}),(0,a.jsxs)("span",{className:"rounded-sm bg-emerald-500/15 px-1 py-0.5 font-semibold text-emerald-600 dark:text-emerald-400",children:["v",M.latest]})]}),(0,a.jsx)(C.E,{variant:"success",className:"ml-2 px-2 py-0.5",children:o("nav.updateAvailable")})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y.A,{className:"mr-2 h-3.5 w-3.5 opacity-50"}),(0,a.jsxs)("span",{className:"flex-1 opacity-70",children:[o("nav.version")," v",M.current]})]})}),(0,a.jsx)(E.mB,{}),(0,a.jsxs)(E._2,{onClick:Z,children:[(0,a.jsx)(_.A,{className:"mr-2 h-3.5 w-3.5"}),o("auth.logout")]})]})]})})]}),(0,a.jsx)(A.lG,{open:F,onOpenChange:K,children:(0,a.jsxs)(A.Cf,{children:[(0,a.jsxs)(A.c7,{children:[(0,a.jsx)(A.L3,{children:o("nav.versionDialogTitle")}),(0,a.jsx)(A.rr,{children:M.hasUpdate?o("nav.versionDialogDescUpdate",{current:M.current,latest:M.latest??""}):o("nav.versionDialogDescCurrent",{current:M.current})})]}),(0,a.jsxs)("div",{className:"space-y-4 text-sm",children:[M.hasUpdate?(0,a.jsxs)("div",{className:"rounded-2xl border border-emerald-500/20 bg-emerald-500/10 px-4 py-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(N.A,{className:"h-4 w-4 text-emerald-500"}),(0,a.jsx)("span",{className:"font-medium text-emerald-700 dark:text-emerald-400",children:o("nav.updateAvailable")})]}),(0,a.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["v",M.current," → v",M.latest]})]}):(0,a.jsx)("div",{className:"rounded-2xl border border-border bg-muted/30 px-4 py-3",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(y.A,{className:"h-4 w-4 text-muted-foreground"}),(0,a.jsxs)("span",{className:"font-medium",children:[o("nav.version")," v",M.current]})]})}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium",children:o("nav.updateMethodCliTitle")}),(0,a.jsx)("pre",{className:"mt-1 overflow-x-auto rounded-xl border border-border bg-muted/30 px-3 py-2 font-mono text-xs",children:"bluekiwi upgrade"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium",children:o("nav.updateMethodNpmTitle")}),(0,a.jsx)("pre",{className:"mt-1 overflow-x-auto rounded-xl border border-border bg-muted/30 px-3 py-2 font-mono text-xs",children:"npm install -g bluekiwi@latest"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium",children:o("nav.updateMethodDockerTitle")}),(0,a.jsx)("pre",{className:"mt-1 overflow-x-auto rounded-xl border border-border bg-muted/30 px-3 py-2 font-mono text-xs",children:"docker compose pull && docker compose up -d"})]})]})]}),(0,a.jsxs)(A.Es,{children:[(0,a.jsx)("button",{type:"button",className:"inline-flex h-10 items-center justify-center rounded-2xl border border-border px-4 text-sm font-medium transition-colors hover:bg-accent",onClick:()=>K(!1),children:o("common.close")}),(0,a.jsx)("a",{href:M.releaseUrl??`${P}/releases/tag/v${M.current}`,target:"_blank",rel:"noopener noreferrer",className:"inline-flex h-10 items-center justify-center rounded-2xl bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90",children:o("nav.viewReleaseNotes")})]})]})})]})}}},e=>{e.O(0,[8409,6095,8500,7659,2822,600,7050,7533,4319,2360,8441,3794,7358],()=>e(e.s=65127)),_N_E=e.O()}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4944],{13146:(e,t,r)=>{"use strict";r.d(t,{G7:()=>c,Gj:()=>i,L$:()=>x,h_:()=>f,oI:()=>u,xL:()=>m});var a=r(95155);r(12115);var s=r(34738),n=r(61878),o=r(40980),d=r(42763);function l({className:e,...t}){return(0,a.jsx)(s.uB,{"data-slot":"command",className:(0,o.cn)("flex h-full w-full flex-col overflow-hidden rounded-[1.5rem] bg-popover text-popover-foreground",e),...t})}function i({title:e="Command Palette",description:t="Search for a command to run...",children:r,className:s,showCloseButton:n=!0,...c}){return(0,a.jsx)(d.lG,{...c,children:(0,a.jsxs)(d.Cf,{className:(0,o.cn)("overflow-hidden p-0",s),showCloseButton:n,children:[(0,a.jsxs)(d.c7,{className:"sr-only",children:[(0,a.jsx)(d.L3,{children:e}),(0,a.jsx)(d.rr,{children:t})]}),(0,a.jsx)(l,{className:"**:data-[slot=command-input-wrapper]:h-12 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:r})]})})}function c({className:e,...t}){return(0,a.jsxs)("div",{"data-slot":"command-input-wrapper",className:"flex h-9 items-center gap-2 border-b px-3",children:[(0,a.jsx)(n.A,{className:"size-4 shrink-0 opacity-50"}),(0,a.jsx)(s.uB.Input,{"data-slot":"command-input",className:(0,o.cn)("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]})}function u({className:e,...t}){return(0,a.jsx)(s.uB.List,{"data-slot":"command-list",className:(0,o.cn)("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto",e),...t})}function m({...e}){return(0,a.jsx)(s.uB.Empty,{"data-slot":"command-empty",className:"py-6 text-center text-sm",...e})}function x({className:e,...t}){return(0,a.jsx)(s.uB.Group,{"data-slot":"command-group",className:(0,o.cn)("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t})}function f({className:e,...t}){return(0,a.jsx)(s.uB.Item,{"data-slot":"command-item",className:(0,o.cn)("relative flex cursor-default items-center gap-2 rounded-xl px-3 py-2 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 data-[selected=true]:bg-brand-blue-100 data-[selected=true]:text-brand-blue-700 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground",e),...t})}},23261:(e,t,r)=>{"use strict";r.d(t,{CommandPalette:()=>x});var a=r(95155),s=r(12115),n=r(73321),o=r(30971),d=r(15161),l=r(89363),i=r(51914),c=r(41313),u=r(13146),m=r(42360);function x(){let[e,t]=(0,s.useState)(!1),r=(0,n.useRouter)(),{t:x}=(0,m.B)();function f(e){t(!1),r.push(e)}async function h(){t(!1),await fetch("/api/auth/logout",{method:"POST"}),r.push("/login")}return(0,s.useEffect)(()=>{function e(e){"k"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),t(e=>!e))}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[]),(0,a.jsxs)(u.Gj,{open:e,onOpenChange:t,children:[(0,a.jsx)(u.G7,{placeholder:x("commandPalette.search")}),(0,a.jsxs)(u.oI,{children:[(0,a.jsx)(u.xL,{children:x("commandPalette.noResults")}),(0,a.jsxs)(u.L$,{heading:x("commandPalette.navigate"),children:[(0,a.jsxs)(u.h_,{onSelect:()=>f("/workflows"),children:[(0,a.jsx)(o.A,{}),(0,a.jsx)("span",{children:x("nav.workflows")})]}),(0,a.jsxs)(u.h_,{onSelect:()=>f("/tasks"),children:[(0,a.jsx)(d.A,{}),(0,a.jsx)("span",{children:x("nav.tasks")})]}),(0,a.jsxs)(u.h_,{onSelect:()=>f("/settings"),children:[(0,a.jsx)(l.A,{}),(0,a.jsx)("span",{children:x("nav.settings")})]})]}),(0,a.jsxs)(u.L$,{heading:x("commandPalette.actions"),children:[(0,a.jsxs)(u.h_,{onSelect:()=>f("/workflows/new"),children:[(0,a.jsx)(i.A,{}),(0,a.jsx)("span",{children:x("commandPalette.newWorkflow")})]}),(0,a.jsxs)(u.h_,{onSelect:()=>h(),children:[(0,a.jsx)(c.A,{}),(0,a.jsx)("span",{children:x("auth.logout")})]})]})]})]})}},40980:(e,t,r)=>{"use strict";r.d(t,{cn:()=>n});var a=r(29722),s=r(622);function n(...e){return(0,s.QP)((0,a.$)(e))}},42763:(e,t,r)=>{"use strict";r.d(t,{Cf:()=>x,Es:()=>h,HM:()=>u,L3:()=>p,c7:()=>f,lG:()=>l,rr:()=>b,zM:()=>i});var a=r(95155);r(12115);var s=r(33210),n=r(19324),o=r(40980),d=r(89239);function l({...e}){return(0,a.jsx)(n.bL,{"data-slot":"dialog",...e})}function i({...e}){return(0,a.jsx)(n.l9,{"data-slot":"dialog-trigger",...e})}function c({...e}){return(0,a.jsx)(n.ZL,{"data-slot":"dialog-portal",...e})}function u({...e}){return(0,a.jsx)(n.bm,{"data-slot":"dialog-close",...e})}function m({className:e,...t}){return(0,a.jsx)(n.hJ,{"data-slot":"dialog-overlay",className:(0,o.cn)("fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0",e),...t})}function x({className:e,children:t,showCloseButton:r=!0,...d}){return(0,a.jsxs)(c,{"data-slot":"dialog-portal",children:[(0,a.jsx)(m,{}),(0,a.jsxs)(n.UC,{"data-slot":"dialog-content",className:(0,o.cn)("fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 overflow-hidden rounded-[1.5rem] border border-border bg-card p-6 shadow-[var(--shadow-soft)] duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-[28rem]",e),...d,children:[t,r&&(0,a.jsxs)(n.bm,{"data-slot":"dialog-close",className:"absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,a.jsx)(s.A,{}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function f({className:e,...t}){return(0,a.jsx)("div",{"data-slot":"dialog-header",className:(0,o.cn)("flex flex-col gap-2 text-center sm:text-left",e),...t})}function h({className:e,showCloseButton:t=!1,children:r,...s}){return(0,a.jsxs)("div",{"data-slot":"dialog-footer",className:(0,o.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...s,children:[r,t&&(0,a.jsx)(n.bm,{asChild:!0,children:(0,a.jsx)(d.$,{variant:"outline",children:"Close"})})]})}function p({className:e,...t}){return(0,a.jsx)(n.hE,{"data-slot":"dialog-title",className:(0,o.cn)("text-lg leading-none font-semibold",e),...t})}function b({className:e,...t}){return(0,a.jsx)(n.VY,{"data-slot":"dialog-description",className:(0,o.cn)("text-sm text-muted-foreground",e),...t})}},45160:(e,t,r)=>{"use strict";r.d(t,{E:()=>l});var a=r(95155);r(12115);var s=r(18460),n=r(42442),o=r(40980);let d=(0,s.F)("inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-3 py-1 text-xs font-semibold tracking-[0.01em] whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3",{variants:{variant:{default:"border-brand-blue-600/20 bg-brand-blue-100 text-brand-blue-700",accent:"border-brand-kiwi-600/30 bg-brand-kiwi-100 text-brand-kiwi-700",neutral:"border-border bg-brand-surface-soft text-brand-ink-700",success:"border-success/20 bg-success/10 text-success",warning:"border-warning/20 bg-warning/10 text-warning",danger:"border-danger/20 bg-danger/10 text-danger",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40 [a&]:hover:bg-destructive/90",outline:"border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",ghost:"border-transparent [a&]:hover:bg-accent [a&]:hover:text-accent-foreground",link:"border-transparent text-primary underline-offset-4 [a&]:hover:underline"}},defaultVariants:{variant:"default"}});function l({className:e,variant:t,asChild:r=!1,...s}){let i=r?n.bL:"span";return(0,a.jsx)(i,{"data-slot":"badge","data-variant":t,className:(0,o.cn)(d({variant:t}),e),...s})}},65127:(e,t,r)=>{Promise.resolve().then(r.bind(r,98638)),Promise.resolve().then(r.bind(r,70300)),Promise.resolve().then(r.bind(r,23261))},70300:(e,t,r)=>{"use strict";r.d(t,{TopBar:()=>x});var a=r(95155),s=r(98500),n=r.n(s),o=r(73321),d=r(12115),l=r(21362),i=r(15161),c=r(30971),u=r(42360),m=r(89239);function x(){let e=(0,o.usePathname)(),{t}=(0,u.B)(),[r,s]=(0,d.useState)(null),x=(0,d.useMemo)(()=>({workflows:t("nav.workflows"),tasks:t("nav.tasks"),credentials:t("nav.credentials"),instructions:t("nav.instructions"),tutorial:t("nav.tutorial"),docs:t("nav.apiDocs"),settings:t("nav.settings"),new:t("nav.new")}),[t]);(0,d.useEffect)(()=>{let r=!1;return async function(){let a=e.match(/^\/tasks\/(\d+)$/);if(a){let e=a[1],n=await fetch(`/api/tasks/${e}`);if(!n.ok||r)return;let o=(await n.json()).data;if(!o||r)return;s({breadcrumbs:[{label:t("nav.workflows"),href:"/workflows"},{label:o.workflow_title||`Workflow #${o.workflow_id}`,href:`/workflows/${o.workflow_id}`},{label:o.title?.trim()||o.context?.trim()||`Task #${o.id}`}],actionHref:"/tasks",actionLabel:t("tasks.backToList")});return}let n=e.match(/^\/workflows\/(\d+)(\/|$)/);if(n){let a=n[1],o=await fetch(`/api/workflows/${a}`);if(!o.ok||r)return;let d=(await o.json()).data;if(!d||r)return;let l=[];if(d.folder_id){let e=await fetch("/api/folders");if(e.ok&&!r){let r=(await e.json()).data??[],a=[],s=r.find(e=>e.id===d.folder_id),n=new Set;for(;s&&!n.has(s.id)&&(n.add(s.id),a.unshift(s),null!==s.parent_id);){;s=r.find(e=>e.id===s.parent_id)}for(let e of a)l.push({label:e.is_system?t("folders.myWorkspace"):e.name,href:`/workflows?folder_id=${e.id}`})}}let i=e.endsWith("/edit"),c=[{label:t("nav.workflows"),href:"/workflows"},...l,i?{label:d.title,href:`/workflows/${a}`}:{label:d.title}];i&&c.push({label:t("common.edit")}),s({breadcrumbs:c});return}s(null)}(),()=>{r=!0}},[e,t]);let f=(0,d.useMemo)(()=>{let t=e.split("/").filter(Boolean);return t.map((e,r)=>{let a=`/${t.slice(0,r+1).join("/")}`;return{label:x[e]||e,href:r===t.length-1?void 0:a}})},[e,x]),h=r?.breadcrumbs??f;return e.split("/").filter(Boolean).length<=1?null:(0,a.jsxs)("header",{className:"flex h-12 items-center justify-between border-b border-[var(--border)] bg-[var(--background)] px-4",children:[(0,a.jsxs)("nav",{className:"flex min-w-0 flex-1 items-center gap-1 overflow-hidden text-sm",children:[h.map((e,t)=>(0,a.jsxs)("span",{className:"flex min-w-0 shrink items-center gap-1",children:[t>0&&(0,a.jsx)(l.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--muted-foreground)]/40"}),e.href?(0,a.jsx)(n(),{href:e.href,className:"max-w-[12rem] truncate text-[var(--muted-foreground)] transition-colors hover:text-[var(--foreground)]",title:e.label,children:e.label}):(0,a.jsx)("span",{className:"max-w-[24rem] truncate font-medium text-[var(--foreground)]",title:e.label,children:e.label})]},t)),0===h.length&&(0,a.jsx)("span",{className:"font-medium text-[var(--foreground)]",children:t("dashboard.title")})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[r?.actionHref&&r.actionLabel&&(0,a.jsx)(m.$,{asChild:!0,variant:"outline",size:"sm",className:"h-8 gap-1.5",children:(0,a.jsxs)(n(),{href:r.actionHref,children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5"}),r.actionLabel]})}),e.startsWith("/workflows/")&&!r?.actionHref&&/^\/workflows\/\d+$/.test(e)&&(0,a.jsx)(m.$,{asChild:!0,variant:"outline",size:"sm",className:"h-8 gap-1.5",children:(0,a.jsxs)(n(),{href:"/workflows",children:[(0,a.jsx)(c.A,{className:"h-3.5 w-3.5"}),t("workflows.backToList")]})}),(0,a.jsx)("kbd",{className:"hidden h-6 items-center gap-1 rounded border border-[var(--border)] bg-[var(--muted)] px-2 text-[10px] text-[var(--muted-foreground)] sm:inline-flex",children:"⌘K"})]})]})}},70872:(e,t,r)=>{"use strict";r.d(t,{Bc:()=>o,ZI:()=>i,k$:()=>l,m_:()=>d});var a=r(95155);r(12115);var s=r(28935),n=r(40980);function o({delayDuration:e=0,...t}){return(0,a.jsx)(s.Kq,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function d({...e}){return(0,a.jsx)(s.bL,{"data-slot":"tooltip",...e})}function l({...e}){return(0,a.jsx)(s.l9,{"data-slot":"tooltip-trigger",...e})}function i({className:e,sideOffset:t=0,children:r,...o}){return(0,a.jsx)(s.ZL,{children:(0,a.jsxs)(s.UC,{"data-slot":"tooltip-content",sideOffset:t,className:(0,n.cn)("z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-xl bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95",e),...o,children:[r,(0,a.jsx)(s.i3,{className:"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground"})]})})}},72264:(e,t,r)=>{"use strict";r.d(t,{SQ:()=>l,_2:()=>i,mB:()=>c,rI:()=>o,ty:()=>d});var a=r(95155);r(12115);var s=r(27050),n=r(40980);function o({...e}){return(0,a.jsx)(s.bL,{"data-slot":"dropdown-menu",...e})}function d({...e}){return(0,a.jsx)(s.l9,{"data-slot":"dropdown-menu-trigger",...e})}function l({className:e,sideOffset:t=4,...r}){return(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{"data-slot":"dropdown-menu-content",sideOffset:t,className:(0,n.cn)("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-[1.125rem] border border-border bg-popover p-2 text-popover-foreground shadow-card data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",e),...r})})}function i({className:e,inset:t,variant:r="default",...o}){return(0,a.jsx)(s.q7,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":r,className:(0,n.cn)("relative flex cursor-default items-center gap-2 rounded-xl px-3 py-2 text-sm outline-hidden select-none focus:bg-brand-blue-100 focus:text-brand-blue-700 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!",e),...o})}function c({className:e,...t}){return(0,a.jsx)(s.wv,{"data-slot":"dropdown-menu-separator",className:(0,n.cn)("-mx-1 my-1 h-px bg-border",e),...t})}},89239:(e,t,r)=>{"use strict";r.d(t,{$:()=>l});var a=r(95155);r(12115);var s=r(18460),n=r(42442),o=r(40980);let d=(0,s.F)("inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 font-semibold [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-[0_10px_18px_rgba(53,87,190,0.18)] hover:bg-brand-blue-700",destructive:"bg-destructive text-destructive-foreground hover:bg-danger/90",outline:"border border-border bg-background text-foreground hover:bg-brand-blue-100 hover:text-brand-blue-700",secondary:"bg-secondary text-secondary-foreground hover:bg-surface-strong",ghost:"text-brand-blue-700 hover:bg-brand-blue-100 hover:text-brand-blue-700",accent:"bg-accent text-accent-foreground hover:bg-kiwi-700 hover:text-white",link:"text-brand-blue-700 underline-offset-4 hover:underline"},size:{default:"h-10 rounded-full px-5 text-[0.95rem]",xs:"h-6 gap-1 rounded-full px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-full px-3.5 text-sm",lg:"h-11 rounded-full px-6 text-[0.98rem]",icon:"size-10 rounded-full","icon-xs":"size-6 rounded-full [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8 rounded-full","icon-lg":"size-10 rounded-full"}},defaultVariants:{variant:"default",size:"default"}});function l({className:e,variant:t="default",size:r="default",asChild:s=!1,...i}){let c=s?n.bL:"button";return(0,a.jsx)(c,{"data-slot":"button","data-variant":t,"data-size":r,className:(0,o.cn)(d({variant:t,size:r,className:e})),...i})}},98638:(e,t,r)=>{"use strict";r.d(t,{Sidebar:()=>D});var a=r(95155),s=r(12115),n=r(5772),o=r(98500),d=r.n(o),l=r(73321),i=r(30971),c=r(15161),u=r(35756),m=r(48368),x=r(97810),f=r(48274),h=r(41159),p=r(41437),b=r(73684),g=r(89363),v=r(92451),j=r(31025),w=r(23096),k=r(72230),N=r(25344),y=r(52530),_=r(41313),z=r(40980),C=r(45160),A=r(42763),L=r(70872),$=r(89803);function S({className:e,orientation:t="horizontal",decorative:r=!0,...s}){return(0,a.jsx)($.b,{"data-slot":"separator",decorative:r,orientation:t,className:(0,z.cn)("shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...s})}var E=r(72264);function B({href:e,icon:t,label:r,collapsed:s,badge:n,external:o}){let i=(0,l.usePathname)(),c=!o&&(i===e||i.startsWith(e+"/")),u=(0,z.cn)("flex items-center gap-3 rounded-lg px-3 py-2 text-sm transition-colors",c?"bg-[var(--sidebar-accent)] text-[var(--sidebar-accent-foreground)] font-medium":"text-[var(--sidebar-foreground)]/70 hover:bg-[var(--sidebar-accent)]/50 hover:text-[var(--sidebar-foreground)]"),m=(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t,{className:"h-4 w-4 shrink-0"}),!s&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"flex-1 truncate",children:r}),void 0!==n&&n>0&&(0,a.jsx)(C.E,{variant:"secondary",className:"ml-auto h-5 px-1.5 text-[10px]",children:n})]})]}),x=o?(0,a.jsx)("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:u,children:m}):(0,a.jsx)(d(),{href:e,className:u,children:m});return s?(0,a.jsxs)(L.m_,{delayDuration:0,children:[(0,a.jsx)(L.k$,{asChild:!0,children:x}),(0,a.jsxs)(L.ZI,{side:"right",className:"flex items-center gap-2",children:[r,void 0!==n&&n>0&&(0,a.jsx)(C.E,{variant:"secondary",className:"h-5 px-1.5 text-[10px]",children:n})]})]}):x}var U=r(42360);let P="https://github.com/dandacompany/bluekiwi";function D({user:e,teamName:t}){let r=(0,l.useRouter)(),{t:o,locale:$,setLocale:I}=(0,U.B)(),[O,T]=(0,s.useState)(!1);(0,s.useEffect)(()=>{let e=window.localStorage.getItem("sidebar-collapsed");null!==e&&T(JSON.parse(e))},[]);let[M,G]=(0,s.useState)({current:"",hasUpdate:!1,latest:null,releaseUrl:null}),[F,K]=(0,s.useState)(!1);(0,s.useEffect)(()=>{fetch("/api/version").then(e=>e.json()).then(e=>{G({current:e.current??"",hasUpdate:!!e.hasUpdate,latest:e.latest??null,releaseUrl:e.releaseUrl??null})}).catch(()=>{})},[]);let W=(0,s.useMemo)(()=>[{href:"/workflows",icon:i.A,label:o("nav.workflows")},{href:"/tasks",icon:c.A,label:o("nav.tasks")},{href:"/credentials",icon:u.A,label:o("nav.credentials")},{href:"/instructions",icon:m.A,label:o("nav.instructions")}],[o]),H=(0,s.useMemo)(()=>[{href:"/tutorial",icon:x.A,label:o("nav.tutorial")},{href:"/docs",icon:f.A,label:o("nav.apiDocs")},{href:"https://bluekiwi.work",icon:h.A,label:o("nav.marketplace"),external:!0}],[o]),Z=async()=>{await fetch("/api/auth/logout",{method:"POST"}),r.push("/login"),r.refresh()};return(0,a.jsxs)(L.Bc,{children:[(0,a.jsxs)("aside",{className:(0,z.cn)("relative flex h-screen flex-col overflow-visible border-r border-[var(--sidebar-border)] bg-[var(--sidebar-background)] transition-[width] duration-200 ease-in-out",O?"w-14":"w-[220px]"),children:[(0,a.jsx)("button",{onClick:()=>{T(e=>(localStorage.setItem("sidebar-collapsed",JSON.stringify(!e)),!e))},"aria-label":O?"Expand sidebar":"Collapse sidebar",className:"absolute top-12 right-0 z-40 flex h-7 w-7 translate-x-1/2 items-center justify-center rounded-full border border-[var(--sidebar-border)] bg-[var(--sidebar-background)] text-[var(--muted-foreground)] shadow-md transition-colors hover:bg-[var(--sidebar-accent)] hover:text-[var(--sidebar-foreground)]",children:O?(0,a.jsx)(p.A,{className:"h-3.5 w-3.5"}):(0,a.jsx)(b.A,{className:"h-3.5 w-3.5"})}),(0,a.jsx)("div",{className:"flex h-14 items-center gap-2 border-b border-[var(--sidebar-border)] px-3",children:(0,a.jsxs)(d(),{href:"/",className:"flex items-center gap-2",children:[(0,a.jsx)(n.default,{src:"/logo-48.png",alt:"BlueKiwi",className:"h-8 w-8 shrink-0 rounded-lg",width:32,height:32}),!O&&(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("span",{className:"block truncate font-semibold tracking-tight text-[var(--sidebar-foreground)]",children:"BlueKiwi"}),t?(0,a.jsx)("span",{className:"block truncate text-[10px] font-medium text-[var(--muted-foreground)]/85",children:t}):null]})]})}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto px-2 py-2",children:[!O&&(0,a.jsx)("p",{className:"px-3 pb-1 pt-2 text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:o("nav.main")}),(0,a.jsx)("nav",{className:"flex flex-col gap-0.5",children:W.map(e=>(0,a.jsx)(B,{...e,collapsed:O},e.href))}),!O&&(0,a.jsx)("p",{className:"px-3 pb-1 pt-4 text-[10px] font-semibold uppercase tracking-wider text-[var(--muted-foreground)]",children:o("nav.resources")}),O&&(0,a.jsx)(S,{className:"my-2"}),(0,a.jsx)("nav",{className:"flex flex-col gap-0.5",children:H.map(e=>(0,a.jsx)(B,{...e,collapsed:O,external:e.external},e.href))})]}),(0,a.jsx)("div",{className:"border-t border-[var(--sidebar-border)] px-2 py-2",children:e&&(0,a.jsxs)(E.rI,{children:[(0,a.jsx)(E.ty,{asChild:!0,children:(0,a.jsxs)("button",{className:(0,z.cn)("relative flex w-full items-center gap-2 rounded-lg px-3 py-2 transition-colors hover:bg-[var(--sidebar-accent)]/50",O&&"justify-center"),children:[(0,a.jsx)("div",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-[var(--sidebar-accent)] text-xs font-medium",children:e.username.charAt(0).toUpperCase()}),!O&&(0,a.jsxs)("div",{className:"min-w-0 flex-1 text-left",children:[(0,a.jsx)("p",{className:"truncate text-xs font-medium text-[var(--sidebar-foreground)]",children:e.username}),(0,a.jsx)("p",{className:"truncate text-[10px] text-[var(--muted-foreground)]",children:e.role})]}),M.hasUpdate?(0,a.jsx)("span",{className:"absolute top-1.5 right-1.5 flex h-2.5 w-2.5 rounded-full bg-emerald-500 ring-2 ring-[var(--sidebar-background)]"}):null]})}),(0,a.jsxs)(E.SQ,{side:O?"right":"top",align:"start",className:"w-52",children:[(0,a.jsxs)(E._2,{onClick:()=>r.push("/settings"),children:[(0,a.jsx)(g.A,{className:"mr-2 h-3.5 w-3.5"}),o("nav.settings")]}),(0,a.jsxs)(E._2,{onClick:()=>I("ko"===$?"en":"ko"),children:[(0,a.jsx)(v.A,{className:"mr-2 h-3.5 w-3.5"}),"ko"===$?"English":"한국어"]}),(0,a.jsx)(E.mB,{}),(0,a.jsx)(E._2,{asChild:!0,children:(0,a.jsxs)("a",{href:P,target:"_blank",rel:"noopener noreferrer",className:"flex items-center",children:[(0,a.jsx)(j.A,{className:"mr-2 h-3.5 w-3.5"}),o("nav.github")]})}),(0,a.jsx)(E._2,{asChild:!0,children:(0,a.jsxs)("a",{href:"https://github.com/dandacompany/bluekiwi/blob/main/LICENSE.md",target:"_blank",rel:"noopener noreferrer",className:"flex items-center",children:[(0,a.jsx)(w.A,{className:"mr-2 h-3.5 w-3.5"}),o("nav.license")]})}),(0,a.jsx)(E._2,{asChild:!0,children:(0,a.jsxs)("a",{href:"https://buymeacoffee.com/dante.labs",target:"_blank",rel:"noopener noreferrer",className:"flex items-center",children:[(0,a.jsx)(k.A,{className:"mr-2 h-3.5 w-3.5"}),o("nav.support")]})}),(0,a.jsx)(E._2,{onClick:()=>K(!0),children:M.hasUpdate?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N.A,{className:"mr-2 h-3.5 w-3.5 text-emerald-500"}),(0,a.jsxs)("span",{className:"flex flex-1 items-center gap-1 text-[11px] font-medium",children:[(0,a.jsxs)("span",{className:"text-muted-foreground line-through",children:["v",M.current]}),(0,a.jsx)("span",{className:"text-emerald-500",children:"→"}),(0,a.jsxs)("span",{className:"rounded-sm bg-emerald-500/15 px-1 py-0.5 font-semibold text-emerald-600 dark:text-emerald-400",children:["v",M.latest]})]}),(0,a.jsx)(C.E,{variant:"success",className:"ml-2 px-2 py-0.5",children:o("nav.updateAvailable")})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(y.A,{className:"mr-2 h-3.5 w-3.5 opacity-50"}),(0,a.jsxs)("span",{className:"flex-1 opacity-70",children:[o("nav.version")," v",M.current]})]})}),(0,a.jsx)(E.mB,{}),(0,a.jsxs)(E._2,{onClick:Z,children:[(0,a.jsx)(_.A,{className:"mr-2 h-3.5 w-3.5"}),o("auth.logout")]})]})]})})]}),(0,a.jsx)(A.lG,{open:F,onOpenChange:K,children:(0,a.jsxs)(A.Cf,{children:[(0,a.jsxs)(A.c7,{children:[(0,a.jsx)(A.L3,{children:o("nav.versionDialogTitle")}),(0,a.jsx)(A.rr,{children:M.hasUpdate?o("nav.versionDialogDescUpdate",{current:M.current,latest:M.latest??""}):o("nav.versionDialogDescCurrent",{current:M.current})})]}),(0,a.jsxs)("div",{className:"space-y-4 text-sm",children:[M.hasUpdate?(0,a.jsxs)("div",{className:"rounded-2xl border border-emerald-500/20 bg-emerald-500/10 px-4 py-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(N.A,{className:"h-4 w-4 text-emerald-500"}),(0,a.jsx)("span",{className:"font-medium text-emerald-700 dark:text-emerald-400",children:o("nav.updateAvailable")})]}),(0,a.jsxs)("p",{className:"mt-1 text-xs text-muted-foreground",children:["v",M.current," → v",M.latest]})]}):(0,a.jsx)("div",{className:"rounded-2xl border border-border bg-muted/30 px-4 py-3",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(y.A,{className:"h-4 w-4 text-muted-foreground"}),(0,a.jsxs)("span",{className:"font-medium",children:[o("nav.version")," v",M.current]})]})}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium",children:o("nav.updateMethodCliTitle")}),(0,a.jsx)("pre",{className:"mt-1 overflow-x-auto rounded-xl border border-border bg-muted/30 px-3 py-2 font-mono text-xs",children:"bluekiwi upgrade"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium",children:o("nav.updateMethodNpmTitle")}),(0,a.jsx)("pre",{className:"mt-1 overflow-x-auto rounded-xl border border-border bg-muted/30 px-3 py-2 font-mono text-xs",children:"npm install -g bluekiwi@latest"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium",children:o("nav.updateMethodDockerTitle")}),(0,a.jsx)("pre",{className:"mt-1 overflow-x-auto rounded-xl border border-border bg-muted/30 px-3 py-2 font-mono text-xs",children:"docker compose pull && docker compose up -d"})]})]})]}),(0,a.jsxs)(A.Es,{children:[(0,a.jsx)("button",{type:"button",className:"inline-flex h-10 items-center justify-center rounded-2xl border border-border px-4 text-sm font-medium transition-colors hover:bg-accent",onClick:()=>K(!1),children:o("common.close")}),(0,a.jsx)("a",{href:M.releaseUrl??`${P}/releases/tag/v${M.current}`,target:"_blank",rel:"noopener noreferrer",className:"inline-flex h-10 items-center justify-center rounded-2xl bg-primary px-4 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90",children:o("nav.viewReleaseNotes")})]})]})})]})}}},e=>{e.O(0,[8409,6095,8500,7659,2822,600,7050,7533,4319,2360,8441,3794,7358],()=>e(e.s=65127)),_N_E=e.O()}]);
|