wicked-crew 0.2.0 → 0.3.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/dist/api/evidence.d.ts +97 -0
- package/dist/api/evidence.d.ts.map +1 -0
- package/dist/api/evidence.js +144 -0
- package/dist/api/evidence.js.map +1 -0
- package/dist/api/routes.d.ts.map +1 -1
- package/dist/api/routes.js +379 -12
- package/dist/api/routes.js.map +1 -1
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +7 -2
- package/dist/api/server.js.map +1 -1
- package/dist/cli/index.js +54 -6
- package/dist/cli/index.js.map +1 -1
- package/dist/core/adapter.d.ts +76 -2
- package/dist/core/adapter.d.ts.map +1 -1
- package/dist/core/adapter.js +500 -3
- package/dist/core/adapter.js.map +1 -1
- package/dist/core/bridge-path.d.ts +34 -0
- package/dist/core/bridge-path.d.ts.map +1 -0
- package/dist/core/bridge-path.js +67 -0
- package/dist/core/bridge-path.js.map +1 -0
- package/dist/core/types.d.ts +173 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +3 -1
- package/dist/core/types.js.map +1 -1
- package/dist/studio/assets/index-CckxWxam.js +420 -0
- package/dist/studio/assets/index-CjQFuKL4.css +32 -0
- package/dist/studio/index.html +5 -2
- package/package.json +11 -6
- package/skills/wicked-crew/SKILL.md +140 -0
- package/dist/studio/assets/index-BJ07BOyt.js +0 -50
- package/dist/studio/assets/index-BptfbKLC.css +0 -32
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2014 The xterm.js authors. All rights reserved.
|
|
3
|
+
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
|
4
|
+
* https://github.com/chjj/term.js
|
|
5
|
+
* @license MIT
|
|
6
|
+
*
|
|
7
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
8
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
9
|
+
* in the Software without restriction, including without limitation the rights
|
|
10
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
11
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
12
|
+
* furnished to do so, subject to the following conditions:
|
|
13
|
+
*
|
|
14
|
+
* The above copyright notice and this permission notice shall be included in
|
|
15
|
+
* all copies or substantial portions of the Software.
|
|
16
|
+
*
|
|
17
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
18
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
20
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
21
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
22
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
23
|
+
* THE SOFTWARE.
|
|
24
|
+
*
|
|
25
|
+
* Originally forked from (with the author's permission):
|
|
26
|
+
* Fabrice Bellard's javascript vt100 for jslinux:
|
|
27
|
+
* http://bellard.org/jslinux/
|
|
28
|
+
* Copyright (c) 2011 Fabrice Bellard
|
|
29
|
+
* The original design remains. The terminal itself
|
|
30
|
+
* has been extended to include xterm CSI codes, among
|
|
31
|
+
* other features.
|
|
32
|
+
*/.xterm{cursor:text;position:relative;-moz-user-select:none;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::-moz-selection{color:transparent}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;-moz-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:double underline;text-decoration:double underline}.xterm-underline-3{-webkit-text-decoration:wavy underline;text-decoration:wavy underline}.xterm-underline-4{-webkit-text-decoration:dotted underline;text-decoration:dotted underline}.xterm-underline-5{-webkit-text-decoration:dashed underline;text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.-right-0\.5{right:-.125rem}.-top-0\.5{top:-.125rem}.bottom-4{bottom:1rem}.bottom-full{bottom:100%}.left-0{left:0}.right-1{right:.25rem}.right-4{right:1rem}.top-1{top:.25rem}.z-50{z-index:50}.m-0{margin:0}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[80vh\]{height:80vh}.h-\[92vh\]{height:92vh}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-36{max-height:9rem}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-64{max-height:16rem}.max-h-96{max-height:24rem}.min-h-0{min-height:0px}.min-h-\[200px\]{min-height:200px}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-40{width:10rem}.w-44{width:11rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[280px\]{width:280px}.w-\[90vw\]{width:90vw}.w-\[92vw\]{width:92vw}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[3\.5rem\]{min-width:3.5rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-\[14rem\]{max-width:14rem}.max-w-\[72\%\]{max-width:72%}.max-w-\[80px\]{max-width:80px}.max-w-\[85\%\]{max-width:85%}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-0\.5{row-gap:.125rem}.gap-y-1\.5{row-gap:.375rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-wrap{text-wrap:wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-0{border-width:0px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.bg-black\/35{background-color:#00000059}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-wk-canvas{--tw-bg-opacity: 1;background-color:rgb(13 17 23 / var(--tw-bg-opacity, 1))}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-1{padding-bottom:.25rem}.pb-10{padding-bottom:2.5rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-8{padding-bottom:2rem}.pl-1{padding-left:.25rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-wk-accent{--tw-text-opacity: 1;color:rgb(255 218 25 / var(--tw-text-opacity, 1))}.text-wk-deny{--tw-text-opacity: 1;color:rgb(248 81 73 / var(--tw-text-opacity, 1))}.text-wk-link{--tw-text-opacity: 1;color:rgb(121 192 255 / var(--tw-text-opacity, 1))}.text-wk-muted{color:#e6edf38c}.text-wk-ok{--tw-text-opacity: 1;color:rgb(63 185 80 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.accent-\[\#ffda19\]{accent-color:#ffda19}.opacity-30{opacity:.3}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}html,body,#root{background:var(--wk-canvas);color:var(--wk-ink);height:100%;font-family:Archivo,ui-sans-serif,sans-serif;-webkit-font-smoothing:antialiased}:root{--wk-canvas: #0d1117;--wk-canvas-2: #161c26;--wk-surface: #1b222e;--wk-surface-2: #0f1419;--wk-ink: #e6edf3;--wk-muted: rgba(230, 237, 243, .55);--wk-faint: rgba(230, 237, 243, .24);--wk-hairline: rgba(230, 237, 243, .07);--wk-hairline-strong: rgba(230, 237, 243, .14);--wk-accent: #ffda19;--wk-accent-ink: #0d1117;--wk-link: #79c0ff;--wk-ok: #3fb950;--wk-deny: #f85149;--wk-blue: #1c4053;--wk-blue-2: #182f3c;--wk-blue-surface: #224a5e;--wk-blue-surface-2: #1a3b4e;--wk-font-display: "Archivo", ui-sans-serif, sans-serif;--wk-font-mono: "JetBrains Mono", ui-monospace, monospace}code,pre,.font-mono{font-family:var(--wk-font-mono)}.wk-crew-bg{background-color:#0d1117;background-image:radial-gradient(ellipse 50% 42% at 3% 5%,rgba(255,218,25,.15),transparent 60%),radial-gradient(ellipse 46% 46% at 97% 95%,rgba(248,81,73,.11),transparent 62%),url("data:image/svg+xml,%3Csvg%20width='1600'%20height='900'%20viewBox='0%200%201600%20900'%20xmlns='http://www.w3.org/2000/svg'%3E%3Cg%20fill='none'%20stroke='rgb(230,237,243)'%20stroke-opacity='0.08'%20stroke-width='1.4'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M312%20168%20H586'%20stroke-dasharray='5%209'/%3E%3Cpath%20d='M736%20166%20H998'%20stroke-dasharray='5%209'/%3E%3Cpath%20d='M1156%20166%20H1356'%20stroke-dasharray='5%209'/%3E%3Cpath%20d='M578%20162%20l8%206%20l-8%206'/%3E%3Cpath%20d='M990%20160%20l8%206%20l-8%206'/%3E%3Cpath%20d='M1348%20160%20l8%206%20l-8%206'/%3E%3Cpath%20d='M338%20453%20H584'%20stroke-dasharray='5%209'/%3E%3Cpath%20d='M768%20472%20H1054'%20stroke-dasharray='5%209'/%3E%3Cpath%20d='M1182%20472%20H1392'%20stroke-dasharray='5%209'/%3E%3Cpath%20d='M576%20447%20l8%206%20l-8%206'/%3E%3Cpath%20d='M1046%20466%20l8%206%20l-8%206'/%3E%3Cpath%20d='M1384%20466%20l8%206%20l-8%206'/%3E%3Cpath%20d='M250%20792%20H424'%20stroke-dasharray='5%209'/%3E%3Cpath%20d='M556%20782%20H754'%20stroke-dasharray='5%209'/%3E%3Cpath%20d='M924%20792%20H1064'%20stroke-dasharray='5%209'/%3E%3Cpath%20d='M1226%20792%20H1354'%20stroke-dasharray='5%209'/%3E%3Cpath%20d='M416%20786%20l8%206%20l-8%206'/%3E%3Cpath%20d='M746%20776%20l8%206%20l-8%206'/%3E%3Cpath%20d='M1056%20786%20l8%206%20l-8%206'/%3E%3Cpath%20d='M1346%20786%20l8%206%20l-8%206'/%3E%3Cpath%20d='M230%20224%20V430'%20stroke-dasharray='6%2010'/%3E%3Cpath%20d='M675%20226%20V420'%20stroke-dasharray='6%2010'/%3E%3Cpath%20d='M1118%20220%20V420'%20stroke-dasharray='6%2010'/%3E%3Cpath%20d='M205%20548%20V716'%20stroke-dasharray='6%2010'/%3E%3Cpath%20d='M820%20548%20V700'%20stroke-dasharray='6%2010'/%3E%3Cpath%20d='M1180%20552%20V690'%20stroke-dasharray='6%2010'/%3E%3Cpath%20d='M470%20590%20l9%2010%20l16%20-22'/%3E%3Cpath%20d='M900%20300%20l9%2010%20l16%20-22'/%3E%3Cpath%20d='M1250%20580%20l9%2010%20l16%20-22'/%3E%3Cpath%20d='M520%20250%20l8%209%20l15%20-20'/%3E%3Ccircle%20cx='360'%20cy='300'%20r='6'/%3E%3Ccircle%20cx='1000'%20cy='560'%20r='6'/%3E%3Ccircle%20cx='700'%20cy='860'%20r='6'/%3E%3Ccircle%20cx='1440'%20cy='300'%20r='6'/%3E%3Ccircle%20cx='230'%20cy='430'%20r='5'/%3E%3Ccircle%20cx='675'%20cy='420'%20r='5'/%3E%3Ccircle%20cx='1118'%20cy='420'%20r='5'/%3E%3Cg%20transform='translate(150%20120)'%3E%3Crect%20width='158'%20height='96'%20rx='13'%20stroke-width='1.8'/%3E%3Cpath%20d='M0%2025%20H158'/%3E%3Ccircle%20cx='18'%20cy='13'%20r='3'/%3E%3Ccircle%20cx='31'%20cy='13'%20r='3'/%3E%3Ccircle%20cx='44'%20cy='13'%20r='3'/%3E%3Cpath%20d='M22%2046%20l18%2014%20l-18%2014'/%3E%3Cpath%20d='M48%2074%20H98'/%3E%3Crect%20x='108'%20y='62'%20width='13'%20height='18'%20rx='2'/%3E%3C/g%3E%3Cg%20transform='translate(600%20120)'%3E%3Crect%20width='128'%20height='100'%20rx='18'%20stroke-width='1.8'/%3E%3Cpath%20d='M64%200%20V-16'/%3E%3Ccircle%20cx='64'%20cy='-21'%20r='4.5'/%3E%3Cpath%20d='M0%2046%20H-11'/%3E%3Cpath%20d='M128%2046%20H139'/%3E%3Ccircle%20cx='42'%20cy='44'%20r='8'/%3E%3Ccircle%20cx='86'%20cy='44'%20r='8'/%3E%3Cpath%20d='M40%2076%20H88'/%3E%3Cpath%20d='M52%2072%20V80%20M64%2072%20V80%20M76%2072%20V80'/%3E%3C/g%3E%3Cg%20transform='translate(1000%20110)'%3E%3Cpath%20d='M14%20112%20V24'/%3E%3Ccircle%20cx='14'%20cy='20'%20r='6'/%3E%3Cpath%20d='M14%2020%20H150'/%3E%3Cpath%20d='M44%2014%20l-16%2012%20M72%2014%20l-16%2012%20M100%2014%20l-16%2012%20M128%2014%20l-16%2012'/%3E%3Cpath%20d='M0%20112%20H60'/%3E%3Cpath%20d='M92%2082%20l14%2015%20l26%20-34'/%3E%3C/g%3E%3Cg%20transform='translate(1360%20150)'%3E%3Ccircle%20cx='56'%20cy='56'%20r='30'/%3E%3Ccircle%20cx='56'%20cy='56'%20r='11'/%3E%3Cpath%20d='M86%2056%20H98%20M14%2056%20H26%20M56%2086%20V98%20M56%2014%20V26'/%3E%3Cpath%20d='M77%2077%20L86%2086%20M35%2077%20L26%2086%20M35%2035%20L26%2026%20M77%2035%20L86%2026'/%3E%3C/g%3E%3Cg%20transform='translate(230%20430)'%3E%3Crect%20width='100'%20height='46'%20rx='23'%20stroke-width='1.8'/%3E%3Ccircle%20cx='72'%20cy='23'%20r='15'/%3E%3C/g%3E%3Cg%20transform='translate(590%20420)'%3E%3Crect%20width='170'%20height='104'%20rx='12'%20stroke-width='1.6'%20stroke-dasharray='7%207'/%3E%3Ccircle%20cx='40'%20cy='58'%20r='7'/%3E%3Cpath%20d='M40%2058%20H96'/%3E%3Cpath%20d='M96%2058%20C116%2058%20116%2034%20116%2034'/%3E%3Ccircle%20cx='116'%20cy='28'%20r='7'/%3E%3Cpath%20d='M96%2058%20C116%2058%20116%2082%20116%2082'/%3E%3Ccircle%20cx='116'%20cy='88'%20r='7'/%3E%3Crect%20x='128'%20y='18'%20width='30'%20height='15'%20rx='4'/%3E%3C/g%3E%3Cg%20transform='translate(1060%20420)'%3E%3Cpath%20d='M60%200%20L114%2020%20V52%20C114%2092%2090%20114%2060%20128%20C30%20114%206%2092%206%2052%20V20%20Z'%20stroke-width='1.8'/%3E%3Cpath%20d='M34%2060%20l18%2020%20l32%20-42'/%3E%3C/g%3E%3Cg%20transform='translate(1400%20490)'%3E%3Ccircle%20cx='0'%20cy='0'%20r='8'/%3E%3Cpath%20d='M12%200%20H52'/%3E%3Cpath%20d='M44%20-6%20l8%206%20l-8%206'/%3E%3Ccircle%20cx='66'%20cy='0'%20r='8'/%3E%3Cpath%20d='M78%200%20H118'/%3E%3Cpath%20d='M110%20-6%20l8%206%20l-8%206'/%3E%3Ccircle%20cx='132'%20cy='0'%20r='8'/%3E%3C/g%3E%3Cg%20transform='translate(150%20720)'%3E%3Ccircle%20cx='56'%20cy='56'%20r='30'/%3E%3Ccircle%20cx='56'%20cy='56'%20r='11'/%3E%3Cpath%20d='M86%2056%20H98%20M14%2056%20H26%20M56%2086%20V98%20M56%2014%20V26'/%3E%3Cpath%20d='M77%2077%20L86%2086%20M35%2077%20L26%2086%20M35%2035%20L26%2026%20M77%2035%20L86%2026'/%3E%3C/g%3E%3Cg%20transform='translate(430%20690)'%3E%3Cpath%20d='M0%2012%20C0%205%205%200%2012%200%20H92%20L120%2028%20V138%20C120%20145%20115%20150%20108%20150%20H12%20C5%20150%200%20145%200%20138%20Z'%20stroke-width='1.8'/%3E%3Cpath%20d='M92%200%20V28%20H120'/%3E%3Cpath%20d='M44%2062%20C33%2062%2038%2076%2027%2080%20C38%2084%2033%2098%2044%2098'/%3E%3Cpath%20d='M78%2062%20C89%2062%2084%2076%2095%2080%20C84%2084%2089%2098%2078%2098'/%3E%3Cpath%20d='M30%20120%20H92%20M30%20133%20H72'/%3E%3C/g%3E%3Cg%20transform='translate(760%20700)'%3E%3Crect%20width='158'%20height='96'%20rx='13'%20stroke-width='1.8'/%3E%3Cpath%20d='M0%2025%20H158'/%3E%3Ccircle%20cx='18'%20cy='13'%20r='3'/%3E%3Ccircle%20cx='31'%20cy='13'%20r='3'/%3E%3Ccircle%20cx='44'%20cy='13'%20r='3'/%3E%3Cpath%20d='M22%2046%20l18%2014%20l-18%2014'/%3E%3Cpath%20d='M48%2074%20H98'/%3E%3Crect%20x='108'%20y='62'%20width='13'%20height='18'%20rx='2'/%3E%3C/g%3E%3Cg%20transform='translate(1070%20700)'%3E%3Cpath%20d='M14%20112%20V24'/%3E%3Ccircle%20cx='14'%20cy='20'%20r='6'/%3E%3Cpath%20d='M14%2020%20H150'/%3E%3Cpath%20d='M44%2014%20l-16%2012%20M72%2014%20l-16%2012%20M100%2014%20l-16%2012%20M128%2014%20l-16%2012'/%3E%3Cpath%20d='M0%20112%20H60'/%3E%3Cpath%20d='M92%2082%20l14%2015%20l26%20-34'/%3E%3C/g%3E%3Cg%20transform='translate(1360%20690)'%3E%3Cpath%20d='M60%200%20L114%2020%20V52%20C114%2092%2090%20114%2060%20128%20C30%20114%206%2092%206%2052%20V20%20Z'%20stroke-width='1.8'/%3E%3Cpath%20d='M34%2060%20l18%2020%20l32%20-42'/%3E%3C/g%3E%3C/g%3E%3Cg%20fill='rgb(230,237,243)'%20fill-opacity='0.08'%3E%3Ccircle%20cx='150'%20cy='620'%20r='2.5'/%3E%3Ccircle%20cx='163'%20cy='620'%20r='2.5'/%3E%3Ccircle%20cx='176'%20cy='620'%20r='2.5'/%3E%3Ccircle%20cx='980'%20cy='860'%20r='2.5'/%3E%3Ccircle%20cx='993'%20cy='860'%20r='2.5'/%3E%3Ccircle%20cx='1006'%20cy='860'%20r='2.5'/%3E%3Ccircle%20cx='1300'%20cy='450'%20r='2.5'/%3E%3Ccircle%20cx='1313'%20cy='450'%20r='2.5'/%3E%3Ccircle%20cx='1326'%20cy='450'%20r='2.5'/%3E%3C/g%3E%3C/svg%3E");background-size:cover,cover,cover;background-position:0 0,0 0,center;background-repeat:no-repeat,no-repeat,no-repeat}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0px}.last\:border-b-0:last-child{border-bottom-width:0px}.hover\:bg-\[rgba\(230\,237\,243\,0\.04\)\]:hover{background-color:#e6edf30a}.hover\:bg-black\/20:hover{background-color:#0003}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}.hover\:text-\[\#e6edf3\]:hover{--tw-text-opacity: 1;color:rgb(230 237 243 / var(--tw-text-opacity, 1))}.hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-80:hover{opacity:.8}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:bg-black\/20:focus-visible{background-color:#0003}.focus-visible\:bg-white\/\[0\.06\]:focus-visible{background-color:#ffffff0f}.focus-visible\:text-\[\#e6edf3\]:focus-visible{--tw-text-opacity: 1;color:rgb(230 237 243 / var(--tw-text-opacity, 1))}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-2:focus-visible{outline-width:2px}.focus-visible\:outline-\[\#79c0ff\]:focus-visible{outline-color:#79c0ff}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-white\/20:focus-visible{--tw-ring-color: rgb(255 255 255 / .2)}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-default:disabled{cursor:default}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}@media(min-width:640px){.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1280px){.xl\:grid-cols-\[minmax\(0\,1fr\)_22rem\]{grid-template-columns:minmax(0,1fr) 22rem}}
|
package/dist/studio/index.html
CHANGED
|
@@ -4,8 +4,11 @@
|
|
|
4
4
|
<meta charset="UTF-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
6
|
<title>wicked-studio</title>
|
|
7
|
-
<
|
|
8
|
-
<link rel="
|
|
7
|
+
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
8
|
+
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
9
|
+
<link href="https://fonts.googleapis.com/css2?family=Archivo:ital,wdth,wght@0,62..125,100..900;1,62..125,100..900&family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap" rel="stylesheet" />
|
|
10
|
+
<script type="module" crossorigin src="/assets/index-CckxWxam.js"></script>
|
|
11
|
+
<link rel="stylesheet" crossorigin href="/assets/index-CjQFuKL4.css">
|
|
9
12
|
</head>
|
|
10
13
|
<body>
|
|
11
14
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wicked-crew",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "wicked-crew daemon — thin REST+WS bridge to the wicked-core engine via wicked-core-ts",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -12,23 +12,28 @@
|
|
|
12
12
|
"wicked-crew": "dist/cli/index.js"
|
|
13
13
|
},
|
|
14
14
|
"files": [
|
|
15
|
-
"dist"
|
|
15
|
+
"dist",
|
|
16
|
+
"skills"
|
|
16
17
|
],
|
|
17
18
|
"scripts": {
|
|
18
19
|
"build": "tsc -p tsconfig.json && node scripts/bundle-studio.mjs",
|
|
19
20
|
"typecheck": "tsc --noEmit",
|
|
20
|
-
"lint": "eslint src
|
|
21
|
+
"lint": "eslint src",
|
|
21
22
|
"test": "vitest run",
|
|
22
23
|
"test:integration": "vitest run tests/integration",
|
|
23
24
|
"dev": "tsx watch src/cli/index.ts serve",
|
|
24
25
|
"start": "node dist/cli/index.js serve"
|
|
25
26
|
},
|
|
26
27
|
"dependencies": {
|
|
27
|
-
"@fastify/static": "^
|
|
28
|
+
"@fastify/static": "^9.1.1",
|
|
28
29
|
"@fastify/websocket": "^11.2.0",
|
|
29
30
|
"fastify": "^5.0.0",
|
|
30
31
|
"wicked-core-ts": "^0.1",
|
|
31
|
-
"zod": "^3.23.0"
|
|
32
|
+
"zod": "^3.23.0",
|
|
33
|
+
"agent-acp-bridges": "^1.0.0",
|
|
34
|
+
"@agentclientprotocol/claude-agent-acp": "^0.62.0",
|
|
35
|
+
"@agentclientprotocol/codex-acp": "^1.1.7",
|
|
36
|
+
"pi-acp": "^0.0.32"
|
|
32
37
|
},
|
|
33
38
|
"devDependencies": {
|
|
34
39
|
"@types/node": "^20.0.0",
|
|
@@ -39,7 +44,7 @@
|
|
|
39
44
|
"vitest": "^3.2.6"
|
|
40
45
|
},
|
|
41
46
|
"engines": {
|
|
42
|
-
"node": ">=
|
|
47
|
+
"node": ">=22.0.0"
|
|
43
48
|
},
|
|
44
49
|
"license": "MIT"
|
|
45
50
|
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wicked-crew
|
|
3
|
+
description: |
|
|
4
|
+
Drive the wicked-crew governed execution daemon — the harness for your coding-agent harnesses — from its command line. Launch, observe, gate, and resume durable multi-agent runs where "done" is re-derived from evidence and the agent that evaluates work is structurally never the one that created it.
|
|
5
|
+
Use when: the user wants to put a feature, bug fix, or migration through governed execution — "run this through crew", "kick this off as a crew run", "have crew do this", "governed run"; check the state or progress of a run — "what's crew doing", "is the run done", "show crew status", "poll the run"; approve, reject, or amend a crew gate — "approve the gate", "reject that step", "the gate is waiting on me", "steer the run"; or resume an interrupted or paused session — "pick the run back up", "resume that crew session".
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# wicked-crew
|
|
9
|
+
|
|
10
|
+
`wicked-crew` is a governed execution platform: intent in, verified work out. It runs the
|
|
11
|
+
coding-agent CLIs you already use as governed workers through durable, multi-agent
|
|
12
|
+
workflows, with human gates and evidence-derived "done".
|
|
13
|
+
|
|
14
|
+
This skill wraps the `wicked-crew` **binary** — that binary is the entire tool. There are
|
|
15
|
+
no bundled scripts, so every command below runs identically on macOS, Linux, and Windows.
|
|
16
|
+
Prefer these CLI verbs; drop to raw REST (§6) only for inspection the verbs don't cover.
|
|
17
|
+
|
|
18
|
+
## The one hard rule — evaluator ≠ creator (do not break this)
|
|
19
|
+
|
|
20
|
+
If you launched, drove, or steered a run, you are its **creator**. A creator must **never
|
|
21
|
+
approve that run's own gates.** When a run pauses at a gate, your job is to surface the gate
|
|
22
|
+
evidence to the **human** and let the human (or a different, uninvolved agent) decide. Calling
|
|
23
|
+
`wicked-crew gate` to approve work you initiated is a violation of crew's core invariant —
|
|
24
|
+
treat it as forbidden. Rejecting/steering your own run is fine; approving it is not.
|
|
25
|
+
|
|
26
|
+
## 1. Preflight — is crew installed and is the daemon up?
|
|
27
|
+
|
|
28
|
+
Run a single status probe; its outcome tells you everything:
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
wicked-crew status
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
- **"command not found" / "not recognized"** → the binary isn't on `PATH`. Tell the user to
|
|
35
|
+
install it by running the **wicked installer**, then stop. Do not try to fabricate a path.
|
|
36
|
+
- **Runs but fails with a connection error** (`ECONNREFUSED` / connection refused) → the binary
|
|
37
|
+
is installed but no daemon is listening. Start one (§2).
|
|
38
|
+
- **Prints JSON** (a list of runs) → a daemon is already live on the port; reuse it.
|
|
39
|
+
|
|
40
|
+
**Endpoint & port.** The daemon binds **loopback only** — `127.0.0.1`, default port **7701**.
|
|
41
|
+
Override with `--port <n>` on any verb, or the `CREW_PORT` environment variable. It never
|
|
42
|
+
listens on a non-loopback address, and there is no auth — do not attempt to expose it.
|
|
43
|
+
|
|
44
|
+
## 2. Launch a governed run
|
|
45
|
+
|
|
46
|
+
`wicked-crew start` hosts its **own** daemon in-process **and** launches the run in one shot,
|
|
47
|
+
so you normally do not need a separate `serve`. Because it hosts the daemon, it is a
|
|
48
|
+
long-lived process — **run it as a background / detached process** and keep it alive until the
|
|
49
|
+
run reaches a terminal state, or `status`/`gate` will have nothing to talk to.
|
|
50
|
+
|
|
51
|
+
```
|
|
52
|
+
wicked-crew start --problem "<the intent, in plain language>" [--session <id>] [--human-confirm none|all|before:<ord>]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
- `--problem` (required in practice) — the goal/bug/migration to execute.
|
|
56
|
+
- `--session <id>` — reuse a stable id so you can `resume` later; omit to get a random one.
|
|
57
|
+
- `--human-confirm` — gate policy: `all` (human confirms every gate — safest, keeps the hard
|
|
58
|
+
rule easy to honor), `before:<ord>` (confirm before a specific unit ordinal), or `none` (no
|
|
59
|
+
human gates — fully autonomous; only use when the human has explicitly authorized unattended
|
|
60
|
+
execution).
|
|
61
|
+
|
|
62
|
+
**Read the readiness line.** On startup the process prints one machine-readable line to
|
|
63
|
+
**stdout**:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
WICKED_CREW_READY {"mode":"start","port":7701,"db":"…","run":"<run-id>","startupMs":…}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Capture stdout, find the `WICKED_CREW_READY ` prefix, and `JSON.parse` the remainder. Keep the
|
|
70
|
+
`run` (run id) and `port` — every later verb needs them.
|
|
71
|
+
|
|
72
|
+
**Standalone-daemon alternative.** If you instead want a persistent daemon with no run bound
|
|
73
|
+
to it (e.g. to service the desktop UI or drive multiple runs over REST), background
|
|
74
|
+
`wicked-crew serve` and launch runs via `POST /api/v1/runs` (§6). Do **not** also run
|
|
75
|
+
`wicked-crew start` against a port a `serve` daemon already holds — `start` binds its own
|
|
76
|
+
listener and will fail with `EADDRINUSE`.
|
|
77
|
+
|
|
78
|
+
## 3. Observe — poll until a gate or a terminal state
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
wicked-crew status --run <run-id> [--port <n>]
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Returns the run as JSON. Poll on a modest interval. Watch the run's status; the ones that
|
|
85
|
+
require you to act:
|
|
86
|
+
|
|
87
|
+
- `awaiting_human` → a gate is pending. Go to §4 (surface it to the human — do not self-approve).
|
|
88
|
+
- a terminal state (completed / failed / cancelled) → stop polling and report the outcome.
|
|
89
|
+
|
|
90
|
+
Omit `--run` to list **all** runs (useful to rediscover a run id).
|
|
91
|
+
|
|
92
|
+
## 4. Gate — approve / reject / amend (human decision, not yours)
|
|
93
|
+
|
|
94
|
+
When status shows `awaiting_human`, first **pull the evidence and show it to the human**: the
|
|
95
|
+
gate detail (`GET /api/v1/runs/:id/gate`, §6) plus the relevant unit output
|
|
96
|
+
(`…/units/:ord/output`). Present what the run did and what it's asking to do next.
|
|
97
|
+
|
|
98
|
+
Only once the **human** (or an uninvolved agent) has decided do you relay their decision:
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
wicked-crew gate --run <run-id> [--reject] [--amend "<steering text>"] [--port <n>]
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
- default (no `--reject`) = **approve**. Per the hard rule, only pass this on behalf of a human
|
|
105
|
+
who authorized it — never for work you drove.
|
|
106
|
+
- `--reject` = reject the gate (cancels the run).
|
|
107
|
+
- `--amend "<text>"` = steer: approve-with-correction (or attach guidance to a rejection).
|
|
108
|
+
|
|
109
|
+
If you drove the run, your only self-initiated options here are to **reject or amend** — never
|
|
110
|
+
to approve.
|
|
111
|
+
|
|
112
|
+
## 5. Resume an interrupted session
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
wicked-crew resume --session <session-id> [--port <n>]
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Like `start`, this re-hosts the daemon in-process, so **background it** and keep it alive. It
|
|
119
|
+
prints a `WICKED_CREW_READY` line (`mode":"resume"`) carrying the `run` and current `status`.
|
|
120
|
+
|
|
121
|
+
## 6. Escalation — richer inspection over REST
|
|
122
|
+
|
|
123
|
+
The verbs cover the common path; for deeper inspection talk to the daemon's REST API directly.
|
|
124
|
+
Base URL `http://127.0.0.1:<port>/api/v1`, **loopback only, no auth** (never send these
|
|
125
|
+
off-host):
|
|
126
|
+
|
|
127
|
+
- `GET /runs` — all runs; `GET /runs/:id` — one run's full detail.
|
|
128
|
+
- `GET /runs/:id/units/:ord/output` — a single work unit's captured transcript / terminal
|
|
129
|
+
output (`:ord` is the unit ordinal).
|
|
130
|
+
- `GET /runs/:id/gate` — the pending gate's detail (evidence to show the human before §4).
|
|
131
|
+
- `POST /runs/:id/gate` `{ "approve": bool, "amend"?: string }` — what `wicked-crew gate` wraps.
|
|
132
|
+
- `POST /runs` — launch a run against a standalone `serve` daemon (see §2 alternative).
|
|
133
|
+
- Live streams: WebSocket at `/ws` (event bus) and the per-terminal sockets for real-time
|
|
134
|
+
unit output.
|
|
135
|
+
|
|
136
|
+
## Out of scope for this skill
|
|
137
|
+
|
|
138
|
+
- **No MCP server.** crew is driven through its CLI and REST here; this skill does not stand up
|
|
139
|
+
or register an MCP surface.
|
|
140
|
+
- **No hooks.** This skill installs no lifecycle hooks and expects none.
|