@vpxa/aikit 0.1.77 → 0.1.79
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 +32 -8
- package/package.json +3 -5
- package/packages/cli/dist/index.js +1 -2
- package/packages/flows/dist/index.d.ts +3 -0
- package/packages/flows/dist/index.js +1 -1
- package/packages/server/dist/index.js +1 -1
- package/packages/server/dist/routes-0OCkdgRe.js +5 -0
- package/packages/server/dist/{server-CVhVH5cT.js → server-VgZC6Q43.js} +3 -3
- package/packages/server/dist/settings-static-BosGZSPf.js +1 -0
- package/packages/settings-ui/dist/assets/index-BlJqzH2g.js +10 -0
- package/packages/tools/dist/index.d.ts +52 -2
- package/packages/tools/dist/index.js +46 -46
- package/scaffold/README.md +39 -4
- package/scaffold/dist/adapters/flows.mjs +1 -1
- package/scaffold/dist/adapters/skills.mjs +1 -1
- package/scaffold/dist/definitions/bodies.mjs +1 -0
- package/scaffold/dist/{compiled/flows-data.mjs → definitions/flows.mjs} +5 -1
- package/packages/tui/dist/App-Bkz0lpCn.js +0 -2
- package/packages/tui/dist/App.d.ts +0 -13
- package/packages/tui/dist/App.js +0 -2
- package/packages/tui/dist/CuratedPanel-DGFKz-fJ.js +0 -2
- package/packages/tui/dist/LogPanel-BrBa5xIT.js +0 -17
- package/packages/tui/dist/SearchPanel-CDSGcT7M.js +0 -2
- package/packages/tui/dist/StatusPanel-yRieSRc3.js +0 -2
- package/packages/tui/dist/chunk-DqSKhezp.js +0 -2
- package/packages/tui/dist/devtools-6rm8h8Q1.js +0 -7
- package/packages/tui/dist/hooks/useKBClient.d.ts +0 -9
- package/packages/tui/dist/hooks/useKBClient.js +0 -2
- package/packages/tui/dist/hooks/usePolling.d.ts +0 -8
- package/packages/tui/dist/hooks/usePolling.js +0 -2
- package/packages/tui/dist/index-floZQwfo.d.ts +0 -65
- package/packages/tui/dist/index.d.ts +0 -7
- package/packages/tui/dist/index.js +0 -2
- package/packages/tui/dist/jsx-runtime-CI8Ofr1S.js +0 -294
- package/packages/tui/dist/panels/CuratedPanel.d.ts +0 -7
- package/packages/tui/dist/panels/CuratedPanel.js +0 -2
- package/packages/tui/dist/panels/LogPanel.d.ts +0 -7
- package/packages/tui/dist/panels/LogPanel.js +0 -2
- package/packages/tui/dist/panels/SearchPanel.d.ts +0 -7
- package/packages/tui/dist/panels/SearchPanel.js +0 -2
- package/packages/tui/dist/panels/StatusPanel.d.ts +0 -7
- package/packages/tui/dist/panels/StatusPanel.js +0 -2
- package/packages/tui/dist/react-CKRDn6y3.js +0 -24
- package/packages/tui/dist/useKBClient-BACLDL_U.js +0 -2
- package/packages/tui/dist/usePolling-D-4v1sTA.js +0 -2
- package/scaffold/definitions/agents.mjs +0 -266
- package/scaffold/definitions/bodies.mjs +0 -735
- package/scaffold/definitions/hooks.mjs +0 -43
- package/scaffold/definitions/models.mjs +0 -84
- package/scaffold/definitions/plugins.mjs +0 -147
- package/scaffold/definitions/prompts.mjs +0 -365
- package/scaffold/definitions/protocols.mjs +0 -863
- package/scaffold/definitions/tools.mjs +0 -250
- /package/scaffold/dist/{compiled/skills-data.mjs → definitions/skills.mjs} +0 -0
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
2
|
-
import React from "react";
|
|
3
|
-
|
|
4
|
-
//#region packages/tui/src/panels/CuratedPanel.d.ts
|
|
5
|
-
declare function CuratedPanel(): React.ReactElement;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { CuratedPanel };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
2
|
-
import React from "react";
|
|
3
|
-
|
|
4
|
-
//#region packages/tui/src/panels/LogPanel.d.ts
|
|
5
|
-
declare function LogPanel(): React.ReactElement;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { LogPanel };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
2
|
-
import React from "react";
|
|
3
|
-
|
|
4
|
-
//#region packages/tui/src/panels/SearchPanel.d.ts
|
|
5
|
-
declare function SearchPanel(): React.ReactElement;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { SearchPanel };
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
2
|
-
import React from "react";
|
|
3
|
-
|
|
4
|
-
//#region packages/tui/src/panels/StatusPanel.d.ts
|
|
5
|
-
declare function StatusPanel(): React.ReactElement;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { StatusPanel };
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
2
|
-
import{t as e}from"./chunk-DqSKhezp.js";
|
|
3
|
-
/**
|
|
4
|
-
* @license React
|
|
5
|
-
* react.production.js
|
|
6
|
-
*
|
|
7
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
8
|
-
*
|
|
9
|
-
* This source code is licensed under the MIT license found in the
|
|
10
|
-
* LICENSE file in the root directory of this source tree.
|
|
11
|
-
*/
|
|
12
|
-
var t=e((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.iterator;function m(e){return typeof e!=`object`||!e?null:(e=p&&e[p]||e[`@@iterator`],typeof e==`function`?e:null)}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,_={};function v(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function y(){}y.prototype=v.prototype;function b(e,t,n){this.props=e,this.context=t,this.refs=_,this.updater=n||h}var x=b.prototype=new y;x.constructor=b,g(x,v.prototype),x.isPureReactComponent=!0;var S=Array.isArray;function C(){}var w={H:null,A:null,T:null,S:null},T=Object.prototype.hasOwnProperty;function E(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function ee(e,t){return E(e.type,t,e.props)}function D(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function O(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var k=/\/+/g;function A(e,t){return typeof e==`object`&&e&&e.key!=null?O(``+e.key):t.toString(36)}function j(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(C,C):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function M(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,M(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+A(e,0):a,S(o)?(i=``,c!=null&&(i=c.replace(k,`$&/`)+`/`),M(o,r,i,``,function(e){return e})):o!=null&&(D(o)&&(o=ee(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(k,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(S(e))for(var u=0;u<e.length;u++)a=e[u],s=l+A(a,u),c+=M(a,r,i,s,o);else if(u=m(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+A(a,u++),c+=M(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return M(j(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function N(e,t,n){if(e==null)return e;var r=[],i=0;return M(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function P(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t)},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var F=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},I={map:N,forEach:function(e,t,n){N(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return N(e,function(){t++}),t},toArray:function(e){return N(e,function(e){return e})||[]},only:function(e){if(!D(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=I,e.Component=v,e.Fragment=r,e.Profiler=a,e.PureComponent=b,e.StrictMode=i,e.Suspense=l,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return w.H.useMemoCache(e)}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=g({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!T.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return E(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)T.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return E(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=D,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:P}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=function(e){var t=w.T,n={};w.T=n;try{var r=e(),i=w.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(C,F)}catch(e){F(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),w.T=t}},e.unstable_useCacheRefresh=function(){return w.H.useCacheRefresh()},e.use=function(e){return w.H.use(e)},e.useActionState=function(e,t,n){return w.H.useActionState(e,t,n)},e.useCallback=function(e,t){return w.H.useCallback(e,t)},e.useContext=function(e){return w.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return w.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return w.H.useEffect(e,t)},e.useEffectEvent=function(e){return w.H.useEffectEvent(e)},e.useId=function(){return w.H.useId()},e.useImperativeHandle=function(e,t,n){return w.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return w.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return w.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return w.H.useMemo(e,t)},e.useOptimistic=function(e,t){return w.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return w.H.useReducer(e,t,n)},e.useRef=function(e){return w.H.useRef(e)},e.useState=function(e){return w.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return w.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return w.H.useTransition()},e.version=`19.2.5`})),n=e(((e,t)=>{process.env.NODE_ENV!==`production`&&(function(){function n(e,t){Object.defineProperty(a.prototype,e,{get:function(){console.warn(`%s(...) is deprecated in plain JavaScript React classes. %s`,t[0],t[1])}})}function r(e){return typeof e!=`object`||!e?null:(e=oe&&e[oe]||e[`@@iterator`],typeof e==`function`?e:null)}function i(e,t){e=(e=e.constructor)&&(e.displayName||e.name)||`ReactClass`;var n=e+`.`+t;se[n]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",t,e),se[n]=!0)}function a(e,t,n){this.props=e,this.context=t,this.refs=W,this.updater=n||H}function o(){}function s(e,t,n){this.props=e,this.context=t,this.refs=W,this.updater=n||H}function c(){}function l(e){return``+e}function u(e){try{l(e);var t=!1}catch{t=!0}if(t){t=console;var n=t.error,r=typeof Symbol==`function`&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||`Object`;return n.call(t,`The provided key is an unsupported type %s. This value must be coerced to a string before using it here.`,r),l(e)}}function d(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===ce?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case I:return`Fragment`;case L:return`Profiler`;case te:return`StrictMode`;case z:return`Suspense`;case ie:return`SuspenseList`;case ae:return`Activity`}if(typeof e==`object`)switch(typeof e.tag==`number`&&console.error(`Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.`),e.$$typeof){case F:return`Portal`;case ne:return e.displayName||`Context`;case R:return(e._context.displayName||`Context`)+`.Consumer`;case re:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case B:return t=e.displayName||null,t===null?d(e.type)||`Memo`:t;case V:t=e._payload,e=e._init;try{return d(e(t))}catch{}}return null}function f(e){if(e===I)return`<>`;if(typeof e==`object`&&e&&e.$$typeof===V)return`<...>`;try{var t=d(e);return t?`<`+t+`>`:`<...>`}catch{return`<...>`}}function p(){var e=q.A;return e===null?null:e.getOwner()}function m(){return Error(`react-stack-top-frame`)}function h(e){if(J.call(e,`key`)){var t=Object.getOwnPropertyDescriptor(e,`key`).get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function g(e,t){function n(){ue||(ue=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",t))}n.isReactWarning=!0,Object.defineProperty(e,`key`,{get:n,configurable:!0})}function _(){var e=d(this.type);return fe[e]||(fe[e]=!0,console.error(`Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.`)),e=this.props.ref,e===void 0?null:e}function v(e,t,n,r,i,a){var o=n.ref;return e={$$typeof:P,type:e,key:t,props:n,_owner:r},(o===void 0?null:o)===null?Object.defineProperty(e,`ref`,{enumerable:!1,value:null}):Object.defineProperty(e,`ref`,{enumerable:!1,get:_}),e._store={},Object.defineProperty(e._store,`validated`,{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(e,`_debugInfo`,{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(e,`_debugStack`,{configurable:!1,enumerable:!1,writable:!0,value:i}),Object.defineProperty(e,`_debugTask`,{configurable:!1,enumerable:!1,writable:!0,value:a}),Object.freeze&&(Object.freeze(e.props),Object.freeze(e)),e}function y(e,t){return t=v(e.type,t,e.props,e._owner,e._debugStack,e._debugTask),e._store&&(t._store.validated=e._store.validated),t}function b(e){x(e)?e._store&&(e._store.validated=1):typeof e==`object`&&e&&e.$$typeof===V&&(e._payload.status===`fulfilled`?x(e._payload.value)&&e._payload.value._store&&(e._payload.value._store.validated=1):e._store&&(e._store.validated=1))}function x(e){return typeof e==`object`&&!!e&&e.$$typeof===P}function S(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}function C(e,t){return typeof e==`object`&&e&&e.key!=null?(u(e.key),S(``+e.key)):t.toString(36)}function w(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(c,c):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function T(e,t,n,i,a){var o=typeof e;(o===`undefined`||o===`boolean`)&&(e=null);var s=!1;if(e===null)s=!0;else switch(o){case`bigint`:case`string`:case`number`:s=!0;break;case`object`:switch(e.$$typeof){case P:case F:s=!0;break;case V:return s=e._init,T(s(e._payload),t,n,i,a)}}if(s){s=e,a=a(s);var c=i===``?`.`+C(s,0):i;return K(a)?(n=``,c!=null&&(n=c.replace(ge,`$&/`)+`/`),T(a,t,n,``,function(e){return e})):a!=null&&(x(a)&&(a.key!=null&&(s&&s.key===a.key||u(a.key)),n=y(a,n+(a.key==null||s&&s.key===a.key?``:(``+a.key).replace(ge,`$&/`)+`/`)+c),i!==``&&s!=null&&x(s)&&s.key==null&&s._store&&!s._store.validated&&(n._store.validated=2),a=n),t.push(a)),1}if(s=0,c=i===``?`.`:i+`:`,K(e))for(var l=0;l<e.length;l++)i=e[l],o=c+C(i,l),s+=T(i,t,n,o,a);else if(l=r(e),typeof l==`function`)for(l===e.entries&&(he||console.warn(`Using Maps as children is not supported. Use an array of keyed ReactElements instead.`),he=!0),e=l.call(e),l=0;!(i=e.next()).done;)i=i.value,o=c+C(i,l++),s+=T(i,t,n,o,a);else if(o===`object`){if(typeof e.then==`function`)return T(w(e),t,n,i,a);throw t=String(e),Error(`Objects are not valid as a React child (found: `+(t===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:t)+`). If you meant to render a collection of children, use an array instead.`)}return s}function E(e,t,n){if(e==null)return e;var r=[],i=0;return T(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function ee(e){if(e._status===-1){var t=e._ioInfo;t!=null&&(t.start=t.end=performance.now()),t=e._result;var n=t();if(n.then(function(t){if(e._status===0||e._status===-1){e._status=1,e._result=t;var r=e._ioInfo;r!=null&&(r.end=performance.now()),n.status===void 0&&(n.status=`fulfilled`,n.value=t)}},function(t){if(e._status===0||e._status===-1){e._status=2,e._result=t;var r=e._ioInfo;r!=null&&(r.end=performance.now()),n.status===void 0&&(n.status=`rejected`,n.reason=t)}}),t=e._ioInfo,t!=null){t.value=n;var r=n.displayName;typeof r==`string`&&(t.name=r)}e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return t=e._result,t===void 0&&console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
13
|
-
|
|
14
|
-
Your code should look like:
|
|
15
|
-
const MyComponent = lazy(() => import('./MyComponent'))
|
|
16
|
-
|
|
17
|
-
Did you accidentally put curly braces around the import?`,t),`default`in t||console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
18
|
-
|
|
19
|
-
Your code should look like:
|
|
20
|
-
const MyComponent = lazy(() => import('./MyComponent'))`,t),t.default;throw e._result}function D(){var e=q.H;return e===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
|
|
21
|
-
1. You might have mismatching versions of React and the renderer (such as React DOM)
|
|
22
|
-
2. You might be breaking the Rules of Hooks
|
|
23
|
-
3. You might have more than one copy of React in the same app
|
|
24
|
-
See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),e}function O(){q.asyncTransitions--}function k(e){if(Y===null)try{var n=(`require`+Math.random()).slice(0,7);Y=(t&&t[n]).call(t,`timers`).setImmediate}catch{Y=function(e){!1===ve&&(ve=!0,typeof MessageChannel>`u`&&console.error(`This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.`));var t=new MessageChannel;t.port1.onmessage=e,t.port2.postMessage(void 0)}}return Y(e)}function A(e){return 1<e.length&&typeof AggregateError==`function`?AggregateError(e):e[0]}function j(e,t){t!==X-1&&console.error(`You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. `),X=t}function M(e,t,n){var r=q.actQueue;if(r!==null)if(r.length!==0)try{N(r),k(function(){return M(e,t,n)});return}catch(e){q.thrownErrors.push(e)}else q.actQueue=null;0<q.thrownErrors.length?(r=A(q.thrownErrors),q.thrownErrors.length=0,n(r)):t(e)}function N(e){if(!Q){Q=!0;var t=0;try{for(;t<e.length;t++){var n=e[t];do{q.didUsePromise=!1;var r=n(!1);if(r!==null){if(q.didUsePromise){e[t]=n,e.splice(0,t);return}n=r}else break}while(1)}e.length=0}catch(n){e.splice(0,t+1),q.thrownErrors.push(n)}finally{Q=!1}}}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var P=Symbol.for(`react.transitional.element`),F=Symbol.for(`react.portal`),I=Symbol.for(`react.fragment`),te=Symbol.for(`react.strict_mode`),L=Symbol.for(`react.profiler`),R=Symbol.for(`react.consumer`),ne=Symbol.for(`react.context`),re=Symbol.for(`react.forward_ref`),z=Symbol.for(`react.suspense`),ie=Symbol.for(`react.suspense_list`),B=Symbol.for(`react.memo`),V=Symbol.for(`react.lazy`),ae=Symbol.for(`react.activity`),oe=Symbol.iterator,se={},H={isMounted:function(){return!1},enqueueForceUpdate:function(e){i(e,`forceUpdate`)},enqueueReplaceState:function(e){i(e,`replaceState`)},enqueueSetState:function(e){i(e,`setState`)}},U=Object.assign,W={};Object.freeze(W),a.prototype.isReactComponent={},a.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},a.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};var G={isMounted:[`isMounted`,`Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.`],replaceState:[`replaceState`,`Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).`]};for($ in G)G.hasOwnProperty($)&&n($,G[$]);o.prototype=a.prototype,G=s.prototype=new o,G.constructor=s,U(G,a.prototype),G.isPureReactComponent=!0;var K=Array.isArray,ce=Symbol.for(`react.client.reference`),q={H:null,A:null,T:null,S:null,actQueue:null,asyncTransitions:0,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1,didUsePromise:!1,thrownErrors:[],getCurrentStack:null,recentlyCreatedOwnerStacks:0},J=Object.prototype.hasOwnProperty,le=console.createTask?console.createTask:function(){return null};G={react_stack_bottom_frame:function(e){return e()}};var ue,de,fe={},pe=G.react_stack_bottom_frame.bind(G,m)(),me=le(f(m)),he=!1,ge=/\/+/g,_e=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},ve=!1,Y=null,X=0,Z=!1,Q=!1,ye=typeof queueMicrotask==`function`?function(e){queueMicrotask(function(){return queueMicrotask(e)})}:k;G=Object.freeze({__proto__:null,c:function(e){return D().useMemoCache(e)}});var $={map:E,forEach:function(e,t,n){E(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return E(e,function(){t++}),t},toArray:function(e){return E(e,function(e){return e})||[]},only:function(e){if(!x(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=ae,e.Children=$,e.Component=a,e.Fragment=I,e.Profiler=L,e.PureComponent=s,e.StrictMode=te,e.Suspense=z,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=q,e.__COMPILER_RUNTIME=G,e.act=function(e){var t=q.actQueue,n=X;X++;var r=q.actQueue=t===null?[]:t,i=!1;try{var a=e()}catch(e){q.thrownErrors.push(e)}if(0<q.thrownErrors.length)throw j(t,n),e=A(q.thrownErrors),q.thrownErrors.length=0,e;if(typeof a==`object`&&a&&typeof a.then==`function`){var o=a;return ye(function(){i||Z||(Z=!0,console.error(`You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);`))}),{then:function(e,a){i=!0,o.then(function(i){if(j(t,n),n===0){try{N(r),k(function(){return M(i,e,a)})}catch(e){q.thrownErrors.push(e)}if(0<q.thrownErrors.length){var o=A(q.thrownErrors);q.thrownErrors.length=0,a(o)}}else e(i)},function(e){j(t,n),0<q.thrownErrors.length?(e=A(q.thrownErrors),q.thrownErrors.length=0,a(e)):a(e)})}}}var s=a;if(j(t,n),n===0&&(N(r),r.length!==0&&ye(function(){i||Z||(Z=!0,console.error("A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"))}),q.actQueue=null),0<q.thrownErrors.length)throw e=A(q.thrownErrors),q.thrownErrors.length=0,e;return{then:function(e,t){i=!0,n===0?(q.actQueue=r,k(function(){return M(s,e,t)})):e(s)}}},e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.captureOwnerStack=function(){var e=q.getCurrentStack;return e===null?null:e()},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=U({},e.props),i=e.key,a=e._owner;if(t!=null){var o;a:{if(J.call(t,`ref`)&&(o=Object.getOwnPropertyDescriptor(t,`ref`).get)&&o.isReactWarning){o=!1;break a}o=t.ref!==void 0}for(s in o&&(a=p()),h(t)&&(u(t.key),i=``+t.key),t)!J.call(t,s)||s===`key`||s===`__self`||s===`__source`||s===`ref`&&t.ref===void 0||(r[s]=t[s])}var s=arguments.length-2;if(s===1)r.children=n;else if(1<s){o=Array(s);for(var c=0;c<s;c++)o[c]=arguments[c+2];r.children=o}for(r=v(e.type,i,r,a,e._debugStack,e._debugTask),i=2;i<arguments.length;i++)b(arguments[i]);return r},e.createContext=function(e){return e={$$typeof:ne,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:R,_context:e},e._currentRenderer=null,e._currentRenderer2=null,e},e.createElement=function(e,t,n){for(var r=2;r<arguments.length;r++)b(arguments[r]);r={};var i=null;if(t!=null)for(c in de||!(`__self`in t)||`key`in t||(de=!0,console.warn(`Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform`)),h(t)&&(u(t.key),i=``+t.key),t)J.call(t,c)&&c!==`key`&&c!==`__self`&&c!==`__source`&&(r[c]=t[c]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];Object.freeze&&Object.freeze(o),r.children=o}if(e&&e.defaultProps)for(c in a=e.defaultProps,a)r[c]===void 0&&(r[c]=a[c]);i&&g(r,typeof e==`function`?e.displayName||e.name||`Unknown`:e);var c=1e4>q.recentlyCreatedOwnerStacks++;return v(e,i,r,p(),c?Error(`react-stack-top-frame`):pe,c?le(f(e)):me)},e.createRef=function(){var e={current:null};return Object.seal(e),e},e.forwardRef=function(e){e!=null&&e.$$typeof===B?console.error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof e==`function`?e.length!==0&&e.length!==2&&console.error(`forwardRef render functions accept exactly two parameters: props and ref. %s`,e.length===1?`Did you forget to use the ref parameter?`:`Any additional parameter will be undefined.`):console.error(`forwardRef requires a render function but was given %s.`,e===null?`null`:typeof e),e!=null&&e.defaultProps!=null&&console.error(`forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?`);var t={$$typeof:re,render:e},n;return Object.defineProperty(t,`displayName`,{enumerable:!1,configurable:!0,get:function(){return n},set:function(t){n=t,e.name||e.displayName||(Object.defineProperty(e,`name`,{value:t}),e.displayName=t)}}),t},e.isValidElement=x,e.lazy=function(e){e={_status:-1,_result:e};var t={$$typeof:V,_payload:e,_init:ee},n={name:`lazy`,start:-1,end:-1,value:null,owner:null,debugStack:Error(`react-stack-top-frame`),debugTask:console.createTask?console.createTask(`lazy()`):null};return e._ioInfo=n,t._debugInfo=[{awaited:n}],t},e.memo=function(e,t){e??console.error(`memo: The first argument must be a component. Instead received: %s`,e===null?`null`:typeof e),t={$$typeof:B,type:e,compare:t===void 0?null:t};var n;return Object.defineProperty(t,`displayName`,{enumerable:!1,configurable:!0,get:function(){return n},set:function(t){n=t,e.name||e.displayName||(Object.defineProperty(e,`name`,{value:t}),e.displayName=t)}}),t},e.startTransition=function(e){var t=q.T,n={};n._updatedFibers=new Set,q.T=n;try{var r=e(),i=q.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&(q.asyncTransitions++,r.then(O,O),r.then(c,_e))}catch(e){_e(e)}finally{t===null&&n._updatedFibers&&(e=n._updatedFibers.size,n._updatedFibers.clear(),10<e&&console.warn(`Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.`)),t!==null&&n.types!==null&&(t.types!==null&&t.types!==n.types&&console.error(`We expected inner Transitions to have transferred the outer types set and that you cannot add to the outer Transition while inside the inner.This is a bug in React.`),t.types=n.types),q.T=t}},e.unstable_useCacheRefresh=function(){return D().useCacheRefresh()},e.use=function(e){return D().use(e)},e.useActionState=function(e,t,n){return D().useActionState(e,t,n)},e.useCallback=function(e,t){return D().useCallback(e,t)},e.useContext=function(e){var t=D();return e.$$typeof===R&&console.error(`Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?`),t.useContext(e)},e.useDebugValue=function(e,t){return D().useDebugValue(e,t)},e.useDeferredValue=function(e,t){return D().useDeferredValue(e,t)},e.useEffect=function(e,t){return e??console.warn(`React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?`),D().useEffect(e,t)},e.useEffectEvent=function(e){return D().useEffectEvent(e)},e.useId=function(){return D().useId()},e.useImperativeHandle=function(e,t,n){return D().useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return e??console.warn(`React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?`),D().useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return e??console.warn(`React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?`),D().useLayoutEffect(e,t)},e.useMemo=function(e,t){return D().useMemo(e,t)},e.useOptimistic=function(e,t){return D().useOptimistic(e,t)},e.useReducer=function(e,t,n){return D().useReducer(e,t,n)},e.useRef=function(e){return D().useRef(e)},e.useState=function(e){return D().useState(e)},e.useSyncExternalStore=function(e,t,n){return D().useSyncExternalStore(e,t,n)},e.useTransition=function(){return D().useTransition()},e.version=`19.2.5`,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop==`function`&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())})()})),r=e(((e,r)=>{process.env.NODE_ENV===`production`?r.exports=t():r.exports=n()}));export{r as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
2
|
-
import{r as e}from"./chunk-DqSKhezp.js";import{t}from"./react-CKRDn6y3.js";var n=e(t(),1);const r=(0,n.createContext)(null),i=r.Provider;function a(){let e=(0,n.useContext)(r);if(!e)throw Error(`useKBClient must be used within KBClientProvider`);return e}export{a as n,i as t};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
|
|
2
|
-
import{r as e}from"./chunk-DqSKhezp.js";import{t}from"./react-CKRDn6y3.js";var n=e(t(),1);function r(e,t){let[r,i]=(0,n.useState)(null),[a,o]=(0,n.useState)(null),s=(0,n.useRef)(e);return s.current=e,(0,n.useEffect)(()=>{let e=!0,n=!1,r=async()=>{if(!n){n=!0;try{let t=await s.current();e&&(i(t),o(null))}catch(t){e&&o(t instanceof Error?t:Error(String(t)))}finally{n=!1}}};r();let a=setInterval(()=>{r()},t);return()=>{e=!1,clearInterval(a)}},[t]),{data:r,error:a}}export{r as t};
|
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Agent definitions — role, description, capabilities, and variant configuration.
|
|
3
|
-
*
|
|
4
|
-
* These are IDE-agnostic. Each IDE adapter reads these definitions and
|
|
5
|
-
* produces its own file format (.agent.md, .mdc, CLAUDE.md sections, etc.).
|
|
6
|
-
*
|
|
7
|
-
* `toolRole` maps to a key in tools.mjs IDE_CAPABILITIES.
|
|
8
|
-
* `variants` (if present) means this role has multiple model variants.
|
|
9
|
-
* `sharedBase` points to a shared protocol file the agent should reference.
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
export const AGENTS = {
|
|
13
|
-
// ─── Orchestration ────────────────────────────────────────────────────
|
|
14
|
-
|
|
15
|
-
Orchestrator: {
|
|
16
|
-
title: 'The Master Conductor',
|
|
17
|
-
description:
|
|
18
|
-
'Master conductor that orchestrates the full development lifecycle: Planning → Implementation → Review → Recovery → Commit',
|
|
19
|
-
argumentHint: null,
|
|
20
|
-
toolRole: 'orchestrator',
|
|
21
|
-
sharedBase: null, // Orchestrator has inline instructions
|
|
22
|
-
sharedProtocols: ['decision-protocol', 'forge-protocol'],
|
|
23
|
-
category: 'orchestration',
|
|
24
|
-
skills: [],
|
|
25
|
-
},
|
|
26
|
-
|
|
27
|
-
Planner: {
|
|
28
|
-
title: 'The Strategic Architect',
|
|
29
|
-
description:
|
|
30
|
-
'Autonomous planner that researches codebases and writes comprehensive TDD implementation plans',
|
|
31
|
-
argumentHint: null,
|
|
32
|
-
toolRole: 'planner',
|
|
33
|
-
sharedBase: 'code-agent-base',
|
|
34
|
-
category: 'orchestration',
|
|
35
|
-
},
|
|
36
|
-
|
|
37
|
-
// ─── Implementation ───────────────────────────────────────────────────
|
|
38
|
-
|
|
39
|
-
Implementer: {
|
|
40
|
-
title: 'The Code Builder',
|
|
41
|
-
description:
|
|
42
|
-
'Persistent implementation agent that writes code following TDD practices until all tasks are complete',
|
|
43
|
-
argumentHint: 'Implementation task, feature, or phase from plan',
|
|
44
|
-
toolRole: 'codeAgent',
|
|
45
|
-
sharedBase: 'code-agent-base',
|
|
46
|
-
category: 'implementation',
|
|
47
|
-
skills: [
|
|
48
|
-
['aikit', '**Always** — AI Kit tool signatures, search, analysis'],
|
|
49
|
-
['typescript', 'When writing TypeScript code — type patterns, generics, utility types'],
|
|
50
|
-
],
|
|
51
|
-
},
|
|
52
|
-
|
|
53
|
-
Frontend: {
|
|
54
|
-
title: 'The UI Specialist',
|
|
55
|
-
description:
|
|
56
|
-
'UI/UX specialist for React, styling, responsive design, and frontend implementation',
|
|
57
|
-
argumentHint: 'UI component, styling task, or frontend feature',
|
|
58
|
-
toolRole: 'codeAgent',
|
|
59
|
-
sharedBase: 'code-agent-base',
|
|
60
|
-
category: 'implementation',
|
|
61
|
-
skills: [
|
|
62
|
-
['aikit', '**Always** — AI Kit tool signatures, search, analysis'],
|
|
63
|
-
['react', 'When building React components — hooks, patterns, Server Components'],
|
|
64
|
-
['typescript', 'When writing TypeScript code — type patterns, generics, utility types'],
|
|
65
|
-
[
|
|
66
|
-
'frontend-design',
|
|
67
|
-
'When implementing UI/UX — design systems, accessibility, responsive patterns',
|
|
68
|
-
],
|
|
69
|
-
],
|
|
70
|
-
},
|
|
71
|
-
|
|
72
|
-
Refactor: {
|
|
73
|
-
title: 'The Code Sculptor',
|
|
74
|
-
description:
|
|
75
|
-
'Code refactoring specialist that improves structure, readability, and maintainability',
|
|
76
|
-
argumentHint: 'Code, component, or pattern to refactor',
|
|
77
|
-
toolRole: 'refactor',
|
|
78
|
-
sharedBase: 'code-agent-base',
|
|
79
|
-
category: 'implementation',
|
|
80
|
-
skills: [['aikit', '**Always** — AI Kit tool signatures, search, analysis']],
|
|
81
|
-
},
|
|
82
|
-
|
|
83
|
-
// ─── Diagnostics ──────────────────────────────────────────────────────
|
|
84
|
-
|
|
85
|
-
Debugger: {
|
|
86
|
-
title: 'The Problem Solver',
|
|
87
|
-
description: 'Expert debugger that diagnoses issues, traces errors, and provides solutions',
|
|
88
|
-
argumentHint: 'Error message, stack trace, or description of issue',
|
|
89
|
-
toolRole: 'debugger',
|
|
90
|
-
sharedBase: 'code-agent-base',
|
|
91
|
-
category: 'diagnostics',
|
|
92
|
-
skills: [
|
|
93
|
-
['aikit', '**Always** — AI Kit tool signatures, search, analysis'],
|
|
94
|
-
['typescript', 'When writing TypeScript code — type patterns, generics, utility types'],
|
|
95
|
-
],
|
|
96
|
-
},
|
|
97
|
-
|
|
98
|
-
Security: {
|
|
99
|
-
title: 'The Vulnerability Hunter',
|
|
100
|
-
description: 'Security specialist that analyzes code for vulnerabilities and compliance',
|
|
101
|
-
argumentHint: 'Code, feature, or component to security review',
|
|
102
|
-
toolRole: 'security',
|
|
103
|
-
sharedBase: 'code-agent-base',
|
|
104
|
-
category: 'diagnostics',
|
|
105
|
-
skills: [
|
|
106
|
-
['aikit', '**Always** — AI Kit tool signatures, search, analysis'],
|
|
107
|
-
['typescript', 'When reviewing code — security patterns, type safety'],
|
|
108
|
-
],
|
|
109
|
-
},
|
|
110
|
-
|
|
111
|
-
// ─── Documentation ────────────────────────────────────────────────────
|
|
112
|
-
|
|
113
|
-
Documenter: {
|
|
114
|
-
title: 'The Knowledge Keeper',
|
|
115
|
-
description:
|
|
116
|
-
'Documentation specialist that creates and maintains comprehensive project documentation',
|
|
117
|
-
argumentHint: 'Component, API, feature, or area to document',
|
|
118
|
-
toolRole: 'documenter',
|
|
119
|
-
sharedBase: 'code-agent-base',
|
|
120
|
-
category: 'documentation',
|
|
121
|
-
skills: [
|
|
122
|
-
['aikit', '**Always** — AI Kit tool signatures, search, analysis'],
|
|
123
|
-
['present', 'When presenting documentation previews or architecture visuals to the user'],
|
|
124
|
-
[
|
|
125
|
-
'docs',
|
|
126
|
-
'When creating or updating project documentation — docs/ convention, architecture blueprints, Diátaxis framework',
|
|
127
|
-
],
|
|
128
|
-
],
|
|
129
|
-
},
|
|
130
|
-
|
|
131
|
-
Explorer: {
|
|
132
|
-
title: 'The Rapid Scout',
|
|
133
|
-
description:
|
|
134
|
-
'Rapid codebase exploration to find files, usages, dependencies, and structural context',
|
|
135
|
-
argumentHint: 'Find files, usages, and context related to: {topic or goal}',
|
|
136
|
-
toolRole: 'explorer',
|
|
137
|
-
sharedBase: null,
|
|
138
|
-
category: 'exploration',
|
|
139
|
-
skills: [['aikit', '**Always** — AI Kit tool signatures, search, analysis']],
|
|
140
|
-
},
|
|
141
|
-
|
|
142
|
-
// ─── Multi-variant roles ──────────────────────────────────────────────
|
|
143
|
-
|
|
144
|
-
Researcher: {
|
|
145
|
-
title: 'The Context Gatherer',
|
|
146
|
-
description:
|
|
147
|
-
'Deep analysis, architecture review, and multi-model decision protocol participant',
|
|
148
|
-
argumentHint: 'Research question, problem statement, or subsystem to investigate',
|
|
149
|
-
toolRole: 'researcher',
|
|
150
|
-
sharedBase: 'researcher-base',
|
|
151
|
-
category: 'research',
|
|
152
|
-
skills: [
|
|
153
|
-
['aikit', '**Always** — AI Kit tool signatures, search, analysis'],
|
|
154
|
-
['lesson-learned', 'When analyzing past changes to extract engineering principles'],
|
|
155
|
-
['c4-architecture', 'When researching system architecture \u2014 produce C4 diagrams'],
|
|
156
|
-
['adr-skill', 'When the research involves a technical decision \u2014 draft an ADR'],
|
|
157
|
-
],
|
|
158
|
-
variants: {
|
|
159
|
-
Alpha: {
|
|
160
|
-
description: 'Primary deep research agent — also serves as default Researcher',
|
|
161
|
-
identity:
|
|
162
|
-
', the primary deep research agent. During multi-model decision sessions, you provide deep reasoning and nuanced system design.',
|
|
163
|
-
bodyAddendum: `## Required Output Section — \`## Depth Analysis\`
|
|
164
|
-
|
|
165
|
-
Your final report MUST contain a \`## Depth Analysis\` section with:
|
|
166
|
-
- Deep-dive into ONE chosen subsystem (most structurally central to the question)
|
|
167
|
-
- Full evidence chain: file:line citations for every structural claim
|
|
168
|
-
- At least 2 \`compact\`/\`file_summary\` extracts woven into the narrative
|
|
169
|
-
|
|
170
|
-
You are the DEFAULT researcher. When the Orchestrator needs breadth + depth, they
|
|
171
|
-
dispatch you alone. Your lens: thorough, evidence-first, exhaustive.`,
|
|
172
|
-
},
|
|
173
|
-
Beta: {
|
|
174
|
-
description:
|
|
175
|
-
'Research variant — pragmatic analysis with focus on trade-offs and edge cases',
|
|
176
|
-
identity:
|
|
177
|
-
', a variant of the Researcher agent optimized for **pragmatic analysis**. Focus on trade-offs, edge cases, and practical constraints. Challenge assumptions and highlight risks the primary researcher may overlook.',
|
|
178
|
-
bodyAddendum: `## Required Output Section — \`## Failure Modes & Counter-Evidence\`
|
|
179
|
-
|
|
180
|
-
Your final report MUST contain a \`## Failure Modes & Counter-Evidence\` section with:
|
|
181
|
-
- At least 3 adversarial claims challenging your own primary finding
|
|
182
|
-
- For each counter-claim: the condition under which it would be TRUE, and the
|
|
183
|
-
evidence (file:line or search receipt) that currently falsifies it
|
|
184
|
-
- Any unresolved counter-evidence flagged as \`⚠ UNRESOLVED\`
|
|
185
|
-
|
|
186
|
-
Your lens: pragmatic skepticism. Mark competing claims as \`A\` (Assumed) by default;
|
|
187
|
-
challenge before promoting to \`V\`.`,
|
|
188
|
-
},
|
|
189
|
-
Gamma: {
|
|
190
|
-
description: 'Research variant — broad pattern matching across domains and technologies',
|
|
191
|
-
identity:
|
|
192
|
-
', a variant of the Researcher agent optimized for **cross-domain pattern matching**. Draw connections from other domains, frameworks, and industries. Bring breadth where Alpha brings depth.',
|
|
193
|
-
bodyAddendum: `## Required Output Section — \`## Cross-Domain Analogies\`
|
|
194
|
-
|
|
195
|
-
Your final report MUST contain a \`## Cross-Domain Analogies\` section with:
|
|
196
|
-
- At least 2 patterns from other tools/frameworks/domains that apply to the question
|
|
197
|
-
- For each: the external source (cite via \`web_search\` or \`web_fetch\` receipt) and
|
|
198
|
-
how it maps to our codebase
|
|
199
|
-
- One "missing pattern we should adopt" recommendation
|
|
200
|
-
|
|
201
|
-
Your lens: cross-domain pattern matching. Weight \`web_search\` + \`web_fetch\` higher
|
|
202
|
-
than peers. Assume the LLM's training data is stale — verify with fresh searches.`,
|
|
203
|
-
},
|
|
204
|
-
Delta: {
|
|
205
|
-
description: 'Research variant — implementation feasibility and performance implications',
|
|
206
|
-
identity:
|
|
207
|
-
', a variant of the Researcher agent optimized for **implementation feasibility**. Focus on performance implications, scaling concerns, and concrete implementation paths. Ground theoretical proposals in practical reality.',
|
|
208
|
-
bodyAddendum: `## Required Output Section — \`## Implementation Cost & Feasibility\`
|
|
209
|
-
|
|
210
|
-
Your final report MUST contain a \`## Implementation Cost & Feasibility\` section with:
|
|
211
|
-
- Complexity snapshot: you MUST call \`measure({ path })\` on any file ≥ 50 LOC in the
|
|
212
|
-
target subsystem at least once and quote the \`cognitiveComplexity\` result
|
|
213
|
-
- Blast radius estimate: \`blast_radius({ changed_files })\` on the proposed edits
|
|
214
|
-
- Time/risk table: | Change | Lines | Risk | Effort |
|
|
215
|
-
- Feasibility verdict: SAFE / RISKY / INFEASIBLE with one-line justification
|
|
216
|
-
|
|
217
|
-
Your lens: implementation feasibility. Prefer \`measure\` + \`blast_radius\` + \`analyze_patterns\`
|
|
218
|
-
over abstract reasoning.`,
|
|
219
|
-
},
|
|
220
|
-
},
|
|
221
|
-
},
|
|
222
|
-
|
|
223
|
-
'Code-Reviewer': {
|
|
224
|
-
title: 'The Quality Guardian',
|
|
225
|
-
description:
|
|
226
|
-
'Code review specialist analyzing code for quality, security, performance, and maintainability',
|
|
227
|
-
argumentHint: 'File path, PR, or code to review',
|
|
228
|
-
toolRole: 'reviewer',
|
|
229
|
-
sharedBase: 'code-reviewer-base',
|
|
230
|
-
category: 'review',
|
|
231
|
-
skills: [
|
|
232
|
-
['aikit', '**Always** — AI Kit tool signatures, search, analysis'],
|
|
233
|
-
['typescript', 'When reviewing TypeScript code — type patterns, best practices'],
|
|
234
|
-
],
|
|
235
|
-
variants: {
|
|
236
|
-
Alpha: { description: 'Primary code reviewer' },
|
|
237
|
-
Beta: { description: 'Code reviewer variant — different LLM perspective for dual review' },
|
|
238
|
-
},
|
|
239
|
-
},
|
|
240
|
-
|
|
241
|
-
'Architect-Reviewer': {
|
|
242
|
-
title: 'The Structural Guardian',
|
|
243
|
-
description:
|
|
244
|
-
'Reviews architecture for pattern adherence, SOLID compliance, dependency direction, and structural integrity',
|
|
245
|
-
argumentHint: 'Files, PR, or subsystem to architecture-review',
|
|
246
|
-
toolRole: 'reviewer',
|
|
247
|
-
sharedBase: 'architect-reviewer-base',
|
|
248
|
-
category: 'review',
|
|
249
|
-
skills: [
|
|
250
|
-
['aikit', '**Always** — AI Kit tool signatures, search, analysis'],
|
|
251
|
-
['c4-architecture', 'When reviewing architectural diagrams or boundary changes'],
|
|
252
|
-
[
|
|
253
|
-
'adr-skill',
|
|
254
|
-
'When the review involves architecture decisions \u2014 reference or create ADRs',
|
|
255
|
-
],
|
|
256
|
-
],
|
|
257
|
-
extraBody:
|
|
258
|
-
'You are **not** the Code-Reviewer agent. Code-Reviewer handles correctness, testing, security, and code quality. You handle the big picture: service boundaries, dependency direction, pattern adherence, and structural health.',
|
|
259
|
-
variants: {
|
|
260
|
-
Alpha: { description: 'Primary architecture reviewer' },
|
|
261
|
-
Beta: {
|
|
262
|
-
description: 'Architecture reviewer variant — different LLM perspective for dual review',
|
|
263
|
-
},
|
|
264
|
-
},
|
|
265
|
-
},
|
|
266
|
-
};
|