@makaio/framework 1.0.0-dev-1781081952714 → 1.0.0-dev-1781260968078
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 +29 -0
- package/dist/.makaio-build.json +2 -2
- package/dist/adapters/acp-client/index.d.mts +4 -4
- package/dist/adapters/config/index.d.mts +1 -1
- package/dist/adapters/config/index.mjs +1 -1
- package/dist/adapters/index.d.mts +1 -1
- package/dist/adapters/index.mjs +1 -1
- package/dist/adapters/node.mjs +1 -1
- package/dist/ajv-BA2z5ztb.mjs +8 -0
- package/dist/bus/index.d.mts +19 -19
- package/dist/bus/index.mjs +1 -1
- package/dist/client-BJVDImPV.d.mts +175 -0
- package/dist/clients/index.d.mts +105 -2
- package/dist/clients/index.mjs +2 -2
- package/dist/contracts/adapter/index.d.mts +2 -2
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
- package/dist/contracts/artifact/index.d.mts +1 -1
- package/dist/contracts/client/index.d.mts +1 -1
- package/dist/contracts/extension/index.d.mts +3 -3
- package/dist/contracts/extension/index.mjs +1 -1
- package/dist/contracts/facet/index.d.mts +1 -1
- package/dist/contracts/index.d.mts +741 -228
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/materialization/index.d.mts +3 -3
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/{cursor-storage-C_WTAESV.mjs → cursor-storage-CmKjSvKY.mjs} +1 -1
- package/dist/{definition-DqJOg6Lv.d.mts → definition-SiimP25_.d.mts} +1 -1
- package/dist/{detached-extension-handle-CxEBQnSa.mjs → detached-extension-handle-Diiwgm13.mjs} +1 -1
- package/dist/drizzle/0001_messages_content_tsv.na.md +18 -0
- package/dist/drizzle/0012_legal_kate_bishop.sql +3 -0
- package/dist/drizzle/0013_eager_rhodey.sql +56 -0
- package/dist/drizzle/0014_fancy_ultimo.sql +1 -0
- package/dist/drizzle/meta/0012_snapshot.json +2934 -0
- package/dist/drizzle/meta/0013_snapshot.json +2954 -0
- package/dist/drizzle/meta/0014_snapshot.json +2959 -0
- package/dist/drizzle/meta/_journal.json +21 -0
- package/dist/drizzle-wjquQK2m.mjs +1 -0
- package/dist/esm-CQVFKEW5.mjs +1 -0
- package/dist/expression/index.d.mts +11 -2
- package/dist/expression/index.mjs +4 -4
- package/dist/extension-DfNcE0zm.mjs +1 -0
- package/dist/extension-ZBN4BGre.mjs +1 -0
- package/dist/{filesystem-service-DH9zlxyd.mjs → filesystem-service-BjfrUmGS.mjs} +1 -1
- package/dist/git/index.mjs +14 -14
- package/dist/{globby-4SrlyIlj.mjs → globby-BIH65cbN.mjs} +1 -1
- package/dist/handler-DSfSAlxx.mjs +1 -0
- package/dist/handlers-C8EtpSqK.mjs +41 -0
- package/dist/{index-BCKRUuI2.d.mts → index-B2xbnMZe.d.mts} +1 -1
- package/dist/{index-YDfOv0GT.d.mts → index-BDRKAxIV.d.mts} +160 -7
- package/dist/{index-CwKzQuIX.d.mts → index-BQiHs8EF.d.mts} +12 -12
- package/dist/{index-BheaEhyI.d.mts → index-BtztOqaF.d.mts} +6 -6
- package/dist/{index-BmV60tMf.d.mts → index-BvSyOgTY.d.mts} +1298 -30
- package/dist/{index-D6bw4qJp.d.mts → index-CARxIllg.d.mts} +98 -98
- package/dist/{index-Bibt5jAX.d.mts → index-CZ_TcT6J.d.mts} +8 -8
- package/dist/{index-CNOTkyGw.d.mts → index-Cb64d5c5.d.mts} +307 -383
- package/dist/{index-DETxgKS2.d.mts → index-CgjslA5-.d.mts} +88 -15
- package/dist/{index-C3zfJg6s.d.mts → index-D5CI1V5d.d.mts} +16 -16
- package/dist/{index-jlQ4IhR5.d.mts → index-DDQkhhRo.d.mts} +281 -273
- package/dist/{index-Db0uJ_Cg2.d.mts → index-DTdqGAfH2.d.mts} +18 -8
- package/dist/{index-Clut1ljB.d.mts → index-Drz_a7kW.d.mts} +1 -1
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/extension/index.mjs +1 -1
- package/dist/kernel/index.d.mts +2 -2
- package/dist/kernel/index.mjs +1 -1
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/{lib-B9kVK_1_.mjs → lib-CNOQJtgs.mjs} +1 -1
- package/dist/{lib-DPruLs5D.mjs → lib-Cq5R6Tx9.mjs} +19 -22
- package/dist/lib-nlcl5kRW.mjs +2 -0
- package/dist/{load-extensions-C-TqCwzL.mjs → load-extensions-wELQ4BBN.mjs} +1 -1
- package/dist/mcp-http-server/index.mjs +1 -1
- package/dist/{namespace-ByyuIFpL.d.mts → namespace-7tsuJhQ9.d.mts} +28 -28
- package/dist/{namespace-BlS_i9KT.d.mts → namespace-B73Sxj5L.d.mts} +1 -1
- package/dist/{namespace-aBIAWxY3.d.mts → namespace-Ba4bxtHQ.d.mts} +12 -12
- package/dist/{namespace-DBKWNrk7.d.mts → namespace-DDCjoQUj.d.mts} +3 -3
- package/dist/{namespace-Ds6HkJEU.d.mts → namespace-DRFJN-_z.d.mts} +134 -134
- package/dist/namespace-DwE2g8Wm.mjs +1 -0
- package/dist/{orchestrator-shared-FnWrPS09.mjs → orchestrator-shared-Dt4WDse7.mjs} +1 -1
- package/dist/{out-CvZYgczi.mjs → out-C1JFb2Bp.mjs} +1 -1
- package/dist/package-Be2Ez4vv.mjs +1 -0
- package/dist/package.json +1 -1
- package/dist/primitive-runtime-Xrc9xh6p.mjs +1 -0
- package/dist/registry-RG-bkw3c.mjs +146 -0
- package/dist/rules/index.mjs +1 -1
- package/dist/runtime-bun/index.mjs +1 -1
- package/dist/runtime-node/extension-validation.mjs +1 -1
- package/dist/runtime-node/index.d.mts +57 -36
- package/dist/runtime-node/index.mjs +26 -53
- package/dist/runtime-node/makaio-config.mjs +1 -1
- package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
- package/dist/runtime-node/workflow-worker/index.mjs +1 -1
- package/dist/{schema-CDL_pyyM.d.mts → schema-BNrM9LWb.d.mts} +216 -10
- package/dist/schema-BerZmr2q.mjs +1 -0
- package/dist/schema-BrnYlDwZ.mjs +1 -0
- package/dist/{schemas-t1VR6_b_.d.mts → schemas-CkOSG2eJ.d.mts} +3 -3
- package/dist/{schemas-Exixg77V2.d.mts → schemas-DAFYpgHk2.d.mts} +12 -12
- package/dist/{schemas-on3_N5HP.d.mts → schemas-Dv5FxHDT.d.mts} +134 -134
- package/dist/services/agent-runtime/index.d.mts +2 -2
- package/dist/services/agent-runtime/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/schemas.d.mts +1 -1
- package/dist/services/filesystem/index.mjs +1 -1
- package/dist/services/filesystem/namespace.d.mts +6 -6
- package/dist/services/filesystem/schemas.d.mts +3 -3
- package/dist/services/git/namespace.d.mts +2 -2
- package/dist/services/git/schemas.d.mts +2 -2
- package/dist/services/harness/index.d.mts +29 -17
- package/dist/services/harness/index.mjs +1 -1
- package/dist/services/harness/storage/schema.d.mts +60 -16
- package/dist/services/harness/storage/schema.mjs +1 -1
- package/dist/services/index.d.mts +103 -103
- package/dist/services/index.mjs +1 -1
- package/dist/services/log-import/browser.d.mts +2 -2
- package/dist/services/log-import/index.d.mts +7 -12
- package/dist/services/log-import/index.mjs +2 -2
- package/dist/services/log-import/log-import.d.mts +1 -1
- package/dist/services/log-import/namespace.d.mts +2 -2
- package/dist/services/log-import/schemas.d.mts +1 -1
- package/dist/services/session/handlers/index.mjs +1 -1
- package/dist/services/session/index.d.mts +7 -7
- package/dist/services/session/index.mjs +1 -1
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/messages/namespace.mjs +1 -1
- package/dist/services/session/orchestrator-testing/index.mjs +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/session-events/namespace.mjs +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +2 -2
- package/dist/services/session/storage/schema.mjs +1 -1
- package/dist/services/session/testing/index.d.mts +18 -2
- package/dist/services/session/testing/index.mjs +52 -3
- package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
- package/dist/services/session/turns/namespace.d.mts +1 -1
- package/dist/services/session/turns/namespace.mjs +1 -1
- package/dist/services/settings/namespace.d.mts +12 -12
- package/dist/services/subagent-template/index.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/services/tool-approval/index.mjs +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/session-KnewDVxt.mjs +39 -0
- package/dist/{session-lineage-CKg6mErA.d.mts → session-lineage-CXzV_hAP.d.mts} +1 -1
- package/dist/{src-Dvp41Cg2.mjs → src-CBG3IHUl.mjs} +1 -1
- package/dist/storage/drizzle/client.d.mts +2 -78
- package/dist/storage/drizzle/client.mjs +1 -1
- package/dist/storage/drizzle/columns/postgres.d.mts +88 -0
- package/dist/storage/drizzle/columns/postgres.mjs +1 -0
- package/dist/storage/drizzle/columns/sqlite.d.mts +81 -0
- package/dist/storage/drizzle/columns/sqlite.mjs +1 -0
- package/dist/storage/drizzle/index.d.mts +976 -23
- package/dist/storage/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/drizzle/index.d.mts +1 -1
- package/dist/storage/handlers/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/index.d.mts +1 -1
- package/dist/storage/handlers/index.mjs +1 -1
- package/dist/style.css +540 -540
- package/dist/testing/drizzle-harness.d.mts +52 -6
- package/dist/testing/drizzle-harness.mjs +1 -1
- package/dist/testing/index.d.mts +34 -2
- package/dist/testing/index.mjs +1 -1
- package/dist/{tool-approval-service-BgNcJvKx.mjs → tool-approval-service-Cb2F1yT6.mjs} +1 -1
- package/dist/tools-D5DVHC-R.mjs +1 -0
- package/dist/{types-CmMesAgR.d.mts → types-BMpIa4fx.d.mts} +1 -1
- package/dist/{types-D0fPFh-D.d.mts → types-D5IMwOkJ.d.mts} +1 -1
- package/dist/{types-DiGqpZOD.d.mts → types-DLVitCZP.d.mts} +195 -195
- package/dist/ui-components/index.d.mts +1 -1
- package/dist/ui-components/index.mjs +2 -2
- package/dist/ui-hooks/index.d.mts +6 -6
- package/dist/ui-views/index.mjs +2 -2
- package/dist/workflow-engine/index.d.mts +492 -96
- package/dist/workflow-engine/index.mjs +1 -1
- package/dist/workflow-engine/package.mjs +1 -1
- package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
- package/dist/workflow-worker-CK9Sqj7D.mjs +1 -0
- package/package.json +40 -1
- package/dist/ajv-BJsabpMb.mjs +0 -8
- package/dist/drizzle-DpjZFY_j.mjs +0 -1
- package/dist/esm-BdLRFEUy.mjs +0 -3
- package/dist/extension--5Q190u_.mjs +0 -1
- package/dist/extension-DFIZ3FCJ.mjs +0 -1
- package/dist/fast-uri-BF2Xuiop.mjs +0 -1
- package/dist/handlers-Bev7-xjL.mjs +0 -41
- package/dist/lib-aRogYLqg.mjs +0 -5
- package/dist/namespace-CDiM5Bcr.mjs +0 -1
- package/dist/namespace-h0HIuqx0.mjs +0 -1
- package/dist/package-1DS4bXg5.mjs +0 -1
- package/dist/primitive-runtime-DcYYWy_6.mjs +0 -8
- package/dist/schema-DCJyzRHe.mjs +0 -1
- package/dist/schema-DOnJmAPw.mjs +0 -1
- package/dist/session-BnfsJoZi.mjs +0 -134
- package/dist/tools-DC4KrqI1.mjs +0 -1
- package/dist/types-BhXRffJ_.d.mts +0 -31
- package/dist/workflow-worker-DvP753UN.mjs +0 -1
- /package/dist/{cleanEnvForAdapter-BlpmyXYk.mjs → cleanEnvForAdapter-vZfPGi0X.mjs} +0 -0
- /package/dist/{create-static-mount-CFGo91CI.mjs → create-static-mount-BB1MIQ9J.mjs} +0 -0
- /package/dist/{jsonl-transport-BxNXizIm.mjs → jsonl-transport-C21tpVfe.mjs} +0 -0
- /package/dist/{src-Z3vAZJfw.mjs → src-DedDL9iv.mjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e,r as t,t as n}from"./chunk-DTipWd-i.mjs";import{t as r}from"./out-
|
|
1
|
+
import{o as e,r as t,t as n}from"./chunk-DTipWd-i.mjs";import{t as r}from"./out-C1JFb2Bp.mjs";import{execFile as i}from"node:child_process";import{promisify as a}from"node:util";import{fileURLToPath as o}from"node:url";import s from"node:fs/promises";import c from"node:path";import l from"node:fs";import"node:events";import u from"node:process";import"node:stream";import"node:stream/promises";var d=e(r(),1);async function f(e,t,n){if(typeof n!=`string`)throw TypeError(`Expected a string, got ${typeof n}`);try{return(await s[e](n))[t]()}catch(e){if(e.code===`ENOENT`)return!1;throw e}}function p(e,t,n){if(typeof n!=`string`)throw TypeError(`Expected a string, got ${typeof n}`);try{return l[e](n)[t]()}catch(e){if(e.code===`ENOENT`)return!1;throw e}}f.bind(void 0,`stat`,`isFile`);const m=f.bind(void 0,`stat`,`isDirectory`);f.bind(void 0,`lstat`,`isSymbolicLink`),p.bind(void 0,`statSync`,`isFile`),p.bind(void 0,`statSync`,`isDirectory`),p.bind(void 0,`lstatSync`,`isSymbolicLink`),a(i);function h(e){return e instanceof URL?o(e):e}var g=e(n(((e,t)=>{function n(e){return Array.isArray(e)?e:[e]}let r=/^\s+$/,i=/(?:[^\\]|^)\\$/,a=/^\\!/,o=/^\\#/,s=/\r?\n/g,c=/^\.{0,2}\/|^\.{1,2}$/,l=/\/$/,u=`node-ignore`;typeof Symbol<`u`&&(u=Symbol.for(`node-ignore`));let d=u,f=(e,t,n)=>(Object.defineProperty(e,t,{value:n}),n),p=/([0-z])-([0-z])/g,m=()=>!1,h=e=>e.replace(p,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:``),g=e=>{let{length:t}=e;return e.slice(0,t-t%2)},_=[[/^\uFEFF/,()=>``],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,n)=>t+(n.indexOf(`\\`)===0?` `:``)],[/(\\+?)\s/g,(e,t)=>{let{length:n}=t;return t.slice(0,n-n%2)+` `}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>`[^/]`],[/^\//,()=>`^`],[/\//g,()=>`\\/`],[/^\^*\\\*\\\*\\\//,()=>`^(?:.*\\/)?`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?`^`:`(?:^|\\/)`}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,n)=>t+6<n.length?`(?:\\/[^\\/]+)*`:`\\/.+`],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,n)=>t+n.replace(/\\\*/g,`[^\\/]*`)],[/\\\\\\(?=[$.|*+(){^])/g,()=>`\\`],[/\\\\/g,()=>`\\`],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,n,r,i)=>t===`\\`?`\\[${n}${g(r)}${i}`:i===`]`&&r.length%2==0?`[${h(n)}${r}]`:`[]`],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`]],v=/(^|\\\/)?\\\*$/,y=`regex`,b=`checkRegex`,x={[y](e,t){return`${t?`${t}[^/]+`:`[^/]*`}(?=$|\\/$)`},[b](e,t){return`${t?`${t}[^/]*`:`[^/]*`}(?=$|\\/$)`}},S=e=>_.reduce((t,[n,r])=>t.replace(n,r.bind(e)),e),C=e=>typeof e==`string`,w=e=>e&&C(e)&&!r.test(e)&&!i.test(e)&&e.indexOf(`#`)!==0,T=e=>e.split(s).filter(Boolean);var E=class{constructor(e,t,n,r,i,a){this.pattern=e,this.mark=t,this.negative=i,f(this,`body`,n),f(this,`ignoreCase`,r),f(this,`regexPrefix`,a)}get regex(){let e=`_`+y;return this[e]?this[e]:this._make(y,e)}get checkRegex(){let e=`_`+b;return this[e]?this[e]:this._make(b,e)}_make(e,t){let n=this.regexPrefix.replace(v,x[e]),r=this.ignoreCase?new RegExp(n,`i`):new RegExp(n);return f(this,t,r)}};let D=({pattern:e,mark:t},n)=>{let r=!1,i=e;i.indexOf(`!`)===0&&(r=!0,i=i.substr(1)),i=i.replace(a,`!`).replace(o,`#`);let s=S(i);return new E(e,t,i,n,r,s)};var O=class{constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[d]){this._rules=this._rules.concat(e._rules._rules),this._added=!0;return}if(C(e)&&(e={pattern:e}),w(e.pattern)){let t=D(e,this._ignoreCase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,n(C(e)?T(e):e).forEach(this._add,this),this._added}test(e,t,n){let r=!1,i=!1,a;this._rules.forEach(o=>{let{negative:s}=o;i===s&&r!==i||s&&!r&&!i&&!t||o[n].test(e)&&(r=!s,i=s,a=s?void 0:o)});let o={ignored:r,unignored:i};return a&&(o.rule=a),o}};let k=(e,t)=>{throw new t(e)},A=(e,t,n)=>C(e)?e?A.isNotRelative(e)?n(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):!0:n(`path must not be empty`,TypeError):n(`path must be a string, but got \`${t}\``,TypeError),j=e=>c.test(e);A.isNotRelative=j,A.convert=e=>e;var M=class{constructor({ignorecase:e=!0,ignoreCase:t=e,allowRelativePaths:n=!1}={}){f(this,d,!0),this._rules=new O(t),this._strictPathCheck=!n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(e){return this._rules.add(e)&&this._initCache(),this}addPattern(e){return this.add(e)}_test(e,t,n,r){let i=e&&A.convert(e);return A(i,e,this._strictPathCheck?k:m),this._t(i,t,n,r)}checkIgnore(e){if(!l.test(e))return this.test(e);let t=e.split(`/`).filter(Boolean);if(t.pop(),t.length){let e=this._t(t.join(`/`)+`/`,this._testCache,!0,t);if(e.ignored)return e}return this._rules.test(e,!1,b)}_t(e,t,n,r){if(e in t)return t[e];if(r||=e.split(`/`).filter(Boolean),r.pop(),!r.length)return t[e]=this._rules.test(e,n,y);let i=this._t(r.join(`/`)+`/`,t,n,r);return t[e]=i.ignored?i:this._rules.test(e,n,y)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return n(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}};let N=e=>new M(e),P=e=>A(e&&A.convert(e),e,m),F=()=>{A.convert=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,`/`);let e=/^[a-z]:\//i;A.isNotRelative=t=>e.test(t)||j(t)};typeof process<`u`&&process.platform===`win32`&&F(),t.exports=N,N.default=N,t.exports.isPathValid=P,f(t.exports,Symbol.for(`setupWindows`),F)}))(),1);function _(e){return e.startsWith(`\\\\?\\`)?e:e.replace(/\\/g,`/`)}const v=e=>e[0]===`!`,y=[`**/node_modules`,`**/flow-typed`,`**/coverage`,`**/.git`],b={absolute:!0,dot:!0},x=(e,t)=>v(e)?`!`+c.posix.join(t,e.slice(1)):c.posix.join(t,e),S=(e,t)=>{let n=_(c.relative(t,c.dirname(e.filePath)));return e.content.split(/\r?\n/).filter(e=>e&&!e.startsWith(`#`)).map(e=>x(e,n))},C=(e,t)=>{if(t=_(t),c.isAbsolute(e)){if(_(e).startsWith(t))return c.relative(t,e);throw Error(`Path ${e} is not in cwd ${t}`)}return e},w=(e,t)=>{let n=e.flatMap(e=>S(e,t)),r=(0,g.default)().add(n);return e=>(e=h(e),e=C(e,t),e?r.ignores(_(e)):!1)},T=(e={})=>({cwd:h(e.cwd)??u.cwd(),suppressErrors:!!e.suppressErrors,deep:typeof e.deep==`number`?e.deep:1/0,ignore:[...e.ignore??[],...y]}),E=async(e,t)=>{let{cwd:n,suppressErrors:r,deep:i,ignore:a}=T(t),o=await(0,d.default)(e,{cwd:n,suppressErrors:r,deep:i,ignore:a,...b});return w(await Promise.all(o.map(async e=>({filePath:e,content:await s.readFile(e,`utf8`)}))),n)};var D=t({globby:()=>U});const O=e=>{if(e.some(e=>typeof e!=`string`))throw TypeError(`Patterns must be a string or an array of strings`)},k=(e,t)=>{let n=v(e)?e.slice(1):e;return c.isAbsolute(n)?n:c.join(t,n)},A=({directoryPath:e,files:t,extensions:n})=>{let r=n?.length>0?`.${n.length>1?`{${n.join(`,`)}}`:n[0]}`:``;return t?t.map(t=>c.posix.join(e,`**/${c.extname(t)?t:`${t}${r}`}`)):[c.posix.join(e,`**${r?`/*${r}`:``}`)]},j=async(e,{cwd:t=u.cwd(),files:n,extensions:r}={})=>(await Promise.all(e.map(async e=>await m(k(e,t))?A({directoryPath:e,files:n,extensions:r}):e))).flat(),M=e=>(e=[...new Set([e].flat())],O(e),e),N=e=>{if(!e)return;let t;try{t=l.statSync(e)}catch{return}if(!t.isDirectory())throw Error("The `cwd` option must be a path to a directory")},P=(e={})=>(e={...e,ignore:e.ignore??[],expandDirectories:e.expandDirectories??!0,cwd:h(e.cwd)},N(e.cwd),e),F=e=>async(t,n)=>e(M(t),P(n)),I=e=>{let{ignoreFiles:t,gitignore:n}=e,r=t?M(t):[];return n&&r.push(`**/.gitignore`),r},L=async e=>{let t=I(e);return R(t.length>0&&await E(t,e))},R=e=>{let t=new Set;return n=>{let r=c.normalize(n.path??n);return t.has(r)||e&&e(r)?!1:(t.add(r),!0)}},z=(e,t)=>e.flat().filter(e=>t(e)),B=(e,t)=>{let n=[];for(;e.length>0;){let r=e.findIndex(e=>v(e));if(r===-1){n.push({patterns:e,options:t});break}let i=e[r].slice(1);for(let e of n)e.options.ignore.push(i);r!==0&&n.push({patterns:e.slice(0,r),options:{...t,ignore:[...t.ignore,i]}}),e=e.slice(r+1)}return n},V=(e,t)=>({...t?{cwd:t}:{},...Array.isArray(e)?{files:e}:e}),H=async(e,t)=>{let n=B(e,t),{cwd:r,expandDirectories:i}=t;if(!i)return n;let a=V(i,r);return Promise.all(n.map(async e=>{let{patterns:t,options:n}=e;return[t,n.ignore]=await Promise.all([j(t,a),j(n.ignore,{cwd:r})]),{patterns:t,options:n}}))},U=F(async(e,t)=>{let[n,r]=await Promise.all([H(e,t),L(t)]);return z(await Promise.all(n.map(e=>(0,d.default)(e.patterns,e.options))),r)}),{convertPathToPattern:W}=d.default;export{D as n,U as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{harnessDefinitions as e,harnessDefinitionsDual as t}from"./services/harness/storage/schema.mjs";import{z as n}from"zod";import{ApprovalPolicySchema as r,HarnessDefinitionBaseSchema as i,HarnessDefinitionSchema as a,HarnessSubjects as o,ToolCapabilitySchema as s}from"@makaio/framework/contracts";import{defineDialectSchema as c,resolveSchema as l}from"@makaio/framework/storage/drizzle";import{eq as u}from"drizzle-orm";import{createStorageNamespaceDefinition as d}from"@makaio/framework/storage";import{createDrizzleCrudHandlers as f,createDrizzleListHandler as p}from"@makaio/framework/storage/handlers";const m=n.object({enabled:n.array(n.string()),disabled:n.array(n.string())}),h=i.omit({createdAt:!0,updatedAt:!0,approvalPolicy:!0,isDefault:!0,enabled:!0,nativeTools:!0,registryTools:!0,skills:!0}).extend({approvalPolicy:r,isDefault:n.boolean(),enabled:n.boolean(),nativeTools:m,registryTools:m,skills:m.optional()}).strict().refine(e=>!!e.adapterName||!!e.clientId,{message:`At least one of adapterName or clientId must be set`}),g=n.object({adapterName:n.string().optional(),clientId:n.string().optional(),name:n.string().optional()}),_=d(`harness`,{schemas:{get:{request:n.object({id:n.string()}),response:n.object({harness:a.nullable()})},set:{request:n.object({harness:h}),response:n.object({id:n.string()})},delete:{request:n.object({id:n.string()}),response:n.object({deleted:n.boolean()})},list:{request:g,response:n.object({harnesses:n.array(a)})}},extensions:{drizzle:{harnessDefinitions:e}}}),v=_.subjects,y=t.postgres,b=c({harnessDefinitions:e},{harnessDefinitions:y});function x(e){return{id:e.id,name:e.name,description:e.description??void 0,adapterName:e.adapterName??void 0,clientId:e.clientId??void 0,env:e.env??void 0,credentials:e.credentials??void 0,cwd:e.cwd??void 0,approvalPolicy:r.parse(e.approvalPolicy),nativeTools:{enabled:e.nativeToolsEnabled,disabled:e.nativeToolsDisabled},registryTools:{enabled:e.registryToolsEnabled,disabled:e.registryToolsDisabled},skills:e.skillsEnabled||e.skillsDisabled?{enabled:e.skillsEnabled??[],disabled:e.skillsDisabled??[]}:void 0,toolCapabilityMap:e.toolCapabilityMap?n.record(n.string(),n.array(s)).parse(e.toolCapabilityMap):void 0,capabilityOverrides:e.capabilityOverrides?n.record(n.string(),r).parse(e.capabilityOverrides):void 0,toolApprovalOverrides:e.toolApprovalOverrides?n.record(n.string(),r).parse(e.toolApprovalOverrides):void 0,isDefault:e.isDefault,enabled:e.enabled,createdAt:e.createdAt,updatedAt:e.updatedAt}}function S(e){return{id:e.id,name:e.name,description:e.description??null,adapterName:e.adapterName??null,clientId:e.clientId??null,env:e.env??null,credentials:e.credentials??null,cwd:e.cwd??null,approvalPolicy:e.approvalPolicy,nativeToolsEnabled:e.nativeTools.enabled,nativeToolsDisabled:e.nativeTools.disabled,registryToolsEnabled:e.registryTools.enabled,registryToolsDisabled:e.registryTools.disabled,skillsEnabled:e.skills?.enabled??null,skillsDisabled:e.skills?.disabled??null,toolCapabilityMap:e.toolCapabilityMap??null,capabilityOverrides:e.capabilityOverrides??null,toolApprovalOverrides:e.toolApprovalOverrides??null,isDefault:e.isDefault,enabled:e.enabled}}function C(e,t,n){let{harnessDefinitions:r}=l(t,b),i=f({table:r,subjects:{get:v.get,set:v.set,delete:v.delete},idField:`id`,singularKey:`harness`,mapper:x,toDbValues:S,lifecycle:{created:o.created,updated:o.updated,deleted:o.deleted}}),a=p({table:r,subject:v.list,pluralKey:`harnesses`,mapper:x,buildPredicates:(e,t)=>{let n=[];return e.adapterName&&n.push(u(t.adapterName,e.adapterName)),e.clientId&&n.push(u(t.clientId,e.clientId)),e.name&&n.push(u(t.name,e.name)),n}}),s=i(e,t),c=a(e,t);return()=>{s(),c()}}export{_ as n,v as r,C as t};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import{agents as e}from"./services/session/storage/schema.mjs";import{n as t,t as n}from"./schema-BrnYlDwZ.mjs";import{n as r}from"./namespace-DwE2g8Wm.mjs";import{SessionStorageSubjects as i}from"./services/session/storage/namespace.mjs";import{TurnStorageSubjects as a}from"./services/turn/namespace.mjs";import"./services/session/turns/namespace.mjs";import{AdapterRuntimeSubjects as o}from"./services/adapter-runtime/namespace.mjs";import{MessageStorageSubjects as s}from"./services/session/messages/namespace.mjs";import{n as c}from"./namespace-ENv7H7Na.mjs";import{ProviderStorageSubjects as l}from"./services/settings/storage/providers-namespace.mjs";import{ExecutionTargetSubjects as u}from"./services/execution-target/namespace.mjs";import{r as d,t as f}from"./provider-context-lfG0BpqX.mjs";import{ExtractedContextSchema as p}from"./services/compression/schemas.mjs";import{PreferencesSubjects as m}from"./services/preferences/storage-namespace.mjs";import{z as h}from"zod";import{AdapterSubjects as g,AgentResolutionSubjects as _,AgentStatusSchema as v,AgentSubjects as y,MakaioSessionAgentSchema as b,SessionSubjects as x,TurnUsageSchema as S}from"@makaio/framework/contracts";import{defineDialectSchema as C,getRawSqlExecutor as w,getStorageEngine as ee,resolveSchema as T}from"@makaio/framework/storage/drizzle";import{and as E,asc as D,desc as te,eq as O,sql as ne}from"drizzle-orm";import{createStorageNamespaceDefinition as re}from"@makaio/framework/storage";import{HookAbortError as k}from"@makaio/framework/hooks";import{AdapterRuntimeSubjects as ie}from"@makaio/framework/services/adapter-runtime";import{buildProviderContext as ae}from"@makaio/framework/services/provider-context";const A=re(`agent`,{schemas:{get:{request:h.object({agentId:h.string()}),response:h.object({agent:b.nullable()})},set:{request:h.object({agentId:h.string(),agent:b}),response:h.object({success:h.boolean()})},delete:{request:h.object({agentId:h.string()}),response:h.object({success:h.boolean()})},listByAdapter:{request:h.object({adapterName:h.string(),status:h.enum([`idle`,`active`,`dead`,`disposed`,`all`]).optional()}),response:h.object({agents:h.array(b)})},listBySession:{request:h.object({sessionId:h.string()}),response:h.object({agents:h.array(b)})},updateStatus:{request:h.object({agentId:h.string(),status:v}),response:h.object({success:h.boolean()})},updateActivity:{request:h.object({agentId:h.string(),lastActivityAt:h.number()}),response:h.object({success:h.boolean()})},updateRuntime:{request:h.object({agentId:h.string(),cwd:h.string().optional(),model:h.string().optional(),providerConfigId:h.string().optional()}).refine(e=>e.cwd!==void 0||e.model!==void 0||e.providerConfigId!==void 0,{message:`At least one runtime field (cwd, model, or providerConfigId) must be provided`}),response:h.object({success:h.boolean()})}},extensions:{drizzle:{agents:e}}}),j=A.subjects,oe=t.postgres,M=C({turns:n},{turns:oe});function se(e){if(e)try{let t=JSON.parse(e),n=S.safeParse(t);return n.success?n.data:void 0}catch{return}}function N(e){return{turnId:e.turnId,sessionId:e.sessionId,turnNumber:e.turnNumber,startedAt:e.startedAt,completedAt:e.completedAt??void 0,status:e.status,error:e.error??void 0,usage:se(e.usage)}}function ce(e,t,n){let r=[le(e,t),ue(e,t),de(e,t),fe(e,t),pe(e,t),me(e,t),he(e,t)];return()=>r.forEach(e=>e())}function le(e,t){let n=w(t),r=ee(n.dialect),{turns:i}=T(t,M);return e.on(a.create,async e=>{let{sessionId:a,turnId:o}=e.payload,s=Date.now(),c=o??crypto.randomUUID();for(let e=1;;e++)try{await n.run(ne`
|
|
2
|
+
WITH next_num AS (
|
|
3
|
+
SELECT COALESCE(MAX(turn_number), 0) + 1 AS n
|
|
4
|
+
FROM turns
|
|
5
|
+
WHERE session_id = ${a}
|
|
6
|
+
)
|
|
7
|
+
INSERT INTO turns (turn_id, session_id, turn_number, started_at, status)
|
|
8
|
+
SELECT ${c}, ${a}, n, ${s}, ${`active`}
|
|
9
|
+
FROM next_num
|
|
10
|
+
`);break}catch(t){if(e>=32||!r.capabilities.maxCounterAssignmentRaces||!r.errors.isUniqueViolationError(t,`uniq_turns_session_number`))throw t}let[l]=await t.select({turnNumber:i.turnNumber}).from(i).where(O(i.turnId,c)),u={turnId:c,sessionId:a,turnNumber:l.turnNumber,startedAt:s,status:`active`};e.setResult({turn:u})})}function ue(e,t){let{turns:n}=T(t,M);return e.on(a.complete,async e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c={completedAt:Date.now(),status:i,error:o??null};s!==void 0&&(c.usage=JSON.stringify(s));let l=a?E(O(n.turnId,r),O(n.status,a)):O(n.turnId,r),u=await t.update(n).set(c).where(l).returning();if(u.length>0){e.setResult({turn:N(u[0]),transitioned:!0});return}let[d]=await t.select().from(n).where(O(n.turnId,r)).limit(1);if(!d)throw Error(`Turn not found: ${r}`);e.setResult({turn:N(d),transitioned:!1})})}function de(e,t){let{turns:n}=T(t,M);return e.on(a.set,async e=>{let{turn:r}=e.payload,i={turnId:r.turnId,sessionId:r.sessionId,turnNumber:r.turnNumber,startedAt:r.startedAt,completedAt:r.completedAt??null,status:r.status,error:r.error??null,usage:r.usage?JSON.stringify(r.usage):null};await t.insert(n).values(i).onConflictDoUpdate({target:n.turnId,set:i}),e.setResult({turn:r})})}function fe(e,t){let{turns:n}=T(t,M);return e.on(a.get,async e=>{let{turnId:r}=e.payload,[i]=await t.select().from(n).where(O(n.turnId,r)).limit(1);e.setResult({turn:i?N(i):null})})}function pe(e,t){let{turns:n}=T(t,M);return e.on(a.getBySession,async e=>{let{sessionId:r,limit:i,status:a}=e.payload,o=t.select().from(n).where(O(n.sessionId,r)).orderBy(D(n.turnNumber));a&&(o=t.select().from(n).where(E(O(n.sessionId,r),O(n.status,a))).orderBy(D(n.turnNumber))),i&&(o=o.limit(i));let s=await o;e.setResult({turns:s.map(N)})})}function me(e,t){let{turns:n}=T(t,M);return e.on(a.getActive,async e=>{let{sessionId:r}=e.payload,[i]=await t.select().from(n).where(E(O(n.sessionId,r),O(n.status,`active`))).orderBy(te(n.turnNumber)).limit(1);e.setResult({turn:i?N(i):null})})}function he(e,t){let{turns:n}=T(t,M);return e.on(a.listActive,async e=>{let r=await t.select().from(n).where(O(n.status,`active`)).orderBy(D(n.startedAt));e.setResult({turns:r.map(N)})})}function ge(e){let t=new Map,n=new Map,r=new Map,i=_e(t,n,r),a=[ve(e,i,r),ye(e,t,i),be(e,i),xe(e,t),Se(e,t,n),Ce(e,t,n),we(e,t)];return()=>a.forEach(e=>e())}function _e(e,t,n){return r=>{e.set(r.turnId,r);let i=t.get(r.sessionId)??[];i.includes(r.turnId)||i.push(r.turnId),t.set(r.sessionId,i);let a=n.get(r.sessionId)??0;r.turnNumber>a&&n.set(r.sessionId,r.turnNumber)}}function ve(e,t,n){return e.on(a.create,e=>{let{sessionId:r,turnId:i}=e.payload,a=Date.now(),o={turnId:i??crypto.randomUUID(),sessionId:r,turnNumber:(n.get(r)??0)+1,startedAt:a,status:`active`};t(o),e.setResult({turn:o})})}function ye(e,t,n){return e.on(a.complete,e=>{let{turnId:r,status:i,expectedStatus:a,error:o,usage:s}=e.payload,c=t.get(r);if(!c)throw Error(`Turn not found: ${r}`);if(a&&c.status!==a){e.setResult({turn:c,transitioned:!1});return}let l={...c,completedAt:Date.now(),status:i,error:o??void 0,usage:s??c.usage};n(l),e.setResult({turn:l,transitioned:!0})})}function be(e,t){return e.on(a.set,e=>{let{turn:n}=e.payload;t(n),e.setResult({turn:n})})}function xe(e,t){return e.on(a.get,e=>{e.setResult({turn:t.get(e.payload.turnId)??null})})}function Se(e,t,n){return e.on(a.getBySession,e=>{let{sessionId:r,status:i,limit:a}=e.payload,o=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e);i&&(o=o.filter(e=>e.status===i)),o.sort((e,t)=>e.turnNumber-t.turnNumber),a&&(o=o.slice(0,a)),e.setResult({turns:o})})}function Ce(e,t,n){return e.on(a.getActive,e=>{let{sessionId:r}=e.payload,i=(n.get(r)??[]).map(e=>t.get(e)).filter(e=>!!e).filter(e=>e.status===`active`).sort((e,t)=>t.turnNumber-e.turnNumber).at(0);e.setResult({turn:i??null})})}function we(e,t){return e.on(a.listActive,e=>{let n=[...t.values()].filter(e=>e.status===`active`).sort((e,t)=>e.startedAt-t.startedAt);e.setResult({turns:n})})}function P(e){return{source:e.source,...e.sourceId!==void 0&&{sourceId:e.sourceId}}}var F=class{turnId;sessionId;turnNumber;startedAt;_initiator;_agentIds;_messageIds=[];_completedAgents=new Set;_erroredAgents=new Map;constructor(e){if(!Number.isInteger(e.turnNumber)||e.turnNumber<1)throw Error(`turnNumber must be a positive integer`);this.turnId=e.turnId??crypto.randomUUID(),this.sessionId=e.sessionId,this.turnNumber=e.turnNumber,this.startedAt=e.startedAt??Date.now(),this._initiator=Object.freeze(P(e.initiator??{source:`user`})),this._agentIds=Object.freeze([...e.agentIds])}get agentIds(){return this._agentIds}get initiator(){return P(this._initiator)}get messageIds(){return this._messageIds}get completedAgents(){return this._completedAgents}get erroredAgents(){return this._erroredAgents}addMessage(e){this._messageIds.push(e)}markAgentCompleted(e){return this._completedAgents.add(e),this.checkCompletion()}markAgentErrored(e,t){return this._erroredAgents.set(e,t),this.checkCompletion()}hasAgent(e){return this._agentIds.includes(e)}isComplete(){return this._completedAgents.size+this._erroredAgents.size>=this._agentIds.length}getResult(){return{success:this._erroredAgents.size===0,errors:Array.from(this._erroredAgents.values())}}getContext(){if(this._messageIds.length===0)throw Error(`Turn ${this.turnId} has no messages yet`);return{turnId:this.turnId,messageId:this._messageIds[this._messageIds.length-1]}}getContextForMessage(e){return{turnId:this.turnId,messageId:e}}checkCompletion(){return this.isComplete()?{turnComplete:!0,result:this.getResult()}:{turnComplete:!1}}};function I(e){return typeof e==`string`?e:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).filter(e=>e.type===`text`).map(e=>e.content).join(`
|
|
11
|
+
`)}function Te(e){return e}function Ee(e){return typeof e==`string`?[{type:`text`,content:e}]:(Array.isArray(e.blocks)?e.blocks:[e.blocks]).map(Te)}async function De(e,t,n,r){let{session:i}=await e.request(x.get,{sessionId:t});if(i){if(i.status!==`active`)throw Error(`[getOrCreateSession] Session is not active: ${t}`);return{sessionId:t,session:i}}await e.request(x.create,{sessionId:t,originWindowId:r});let{session:a}=await e.request(x.get,{sessionId:t});if(!a)throw Error(`[getOrCreateSession] Failed to create session: ${t}`);return{sessionId:t,session:a}}function Oe(e,t){if(t===void 0){let t=e.agents.find(t=>t.agentId===e.leadAgentId);if(!t)throw Error(`[resolveTargetAgents] Lead agent not found: ${e.leadAgentId}`);return[t]}if(t===`all`)return e.agents;let n=new Set(t);return e.agents.filter(e=>n.has(e.agentId))}function ke(e,t){for(let n of e.values())if(n.hasAgent(t))return n}function Ae(e,t){if(e===`extension`){let e=t?.trim();if(!e)throw Error(`extensionId is required when source is "extension"`);return{source:`extension`,sourceId:e}}return e?{source:e}:{source:`user`}}async function L(e,t,n){let{adapterId:r}=await e.request(o.resolveId,{adapterName:t,...n!==void 0&&{machineId:n}});return r}async function je(e,t,n){if(!(!t||!n))try{let{config:r}=await e.request(c.getProviderConfig,{id:t});if(!r)return;let{provider:i}=await e.request(l.get,{id:r.definitionId}),a=i?.availableModels?.find(e=>e.name===n);return a?{supportedReasoningLevels:a.supportedReasoningLevels}:void 0}catch{return}}async function Me(e,t){let{executionTarget:n}=await e.request(u.resolve,t);return n}async function R(e,t){let{sessionId:n,limit:i}=t,a=[],o=!1,c=!1,l;do{let{events:t,nextCursor:u}=await e.request(r.getEvents,{sessionId:n,options:{limit:1e4,...l&&{after:l}}});for(let r of t){if(r.type===`squash`){o=!0,a.length=0;let e=r.payload,t={messageId:`squash-${r.eventId}`,sessionId:n,turnId:null,role:`assistant`,contentText:e.summaryJson,blocks:[{type:`text`,content:e.summaryJson}],timestamp:r.timestamp};a.push(t)}else if(r.type===`message`){let t=r.payload,{message:n}=await e.request(s.get,{messageId:t.messageId});n&&a.push(n)}if(i&&a.length>=i){c=!0;break}}if(i&&a.length>=i)break;l=u??void 0}while(l);return{messages:a,hasSquashBoundary:o,sessionChain:[n],truncated:c,incomplete:!1}}const z=new class{actions=new Map;register(e){if(this.actions.has(e.id))throw Error(`Action already registered: ${e.id}`);this.actions.set(e.id,e)}get(e){return this.actions.get(e)}getAll(){return Array.from(this.actions.values())}getByCategory(e){return this.getAll().filter(t=>t.category===e)}reset(){this.actions.clear()}};async function B(e,t,n){let r=e,i,a;for(let e of t){let t=z.get(e.actionId);if(!t)throw Error(`Unknown action: ${e.actionId}`);let o={...n,...e.options},s=await t.execute(r,o);if(s.kind===`messages`)r=s.messages;else{i=s.json,a=s.tokenEstimate,r=[];break}}if(!i&&r.length>0){let e=r.reduce((e,t)=>e+JSON.stringify(t.blocks).length,0);a=Math.ceil(e/4)}return{messages:r,contextJson:i,tokenEstimate:a}}function V(e){return e.map(e=>({...e,blocks:e.blocks.filter(e=>e.type!==`reasoning`)}))}const Ne={id:`strip-reasoning`,label:`Strip Reasoning`,description:`Remove reasoning/thinking blocks from messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:V(e)}}};function H(e){return e.map(e=>({...e,blocks:e.blocks.map(e=>{if(e.type===`tool_output`){let t=e.output.length;return{...e,output:`[output removed - ${t} chars]`}}return e})}))}const Pe={id:`strip-tool-outputs`,label:`Strip Tool Outputs`,description:`Remove tool output contents, keep structure`,category:`transformation`,async execute(e){return{kind:`messages`,messages:H(e)}}};async function U(e,t){let n=[],r=[],a=[],o=!1,s=!1,c=!1,l=[],u,d=t,f;for(;d;){let n=await e.request(i.get,{sessionId:d});if(!n.session){c=!0;break}d===t&&(u=n.session.forkTransforms??void 0),l.unshift({sessionId:d,forkPointMessageId:n.session.forkPointMessageId??void 0}),f=n.session.parentSessionId??void 0,d=f}for(let t=0;t<l.length;t++){let{sessionId:i}=l[t],c=t===l.length-1,u=l[t+1]?.forkPointMessageId;n.push(i);let d=await R(e,{sessionId:i});if(d.hasSquashBoundary&&(o=!0,c||(r.length=0)),d.truncated&&(s=!0),c)a=d.messages;else for(let e of d.messages)if(r.push(e),u&&e.messageId===u)break}return u&&(r=await Fe(r,u)),{messages:[...r,...a],hasSquashBoundary:o,sessionChain:n,truncated:s,incomplete:c}}async function Fe(e,t){if(t.segments?.length){let n=t.segments[0].fromMessageId,r=t.segments[t.segments.length-1].toMessageId,i=e.findIndex(e=>e.messageId===n),a=e.findIndex(e=>e.messageId===r);if(i===-1||a===-1||i>a)return W(e,t.segments);let o=e.slice(0,i),s=e.slice(i,a+1),c=e.slice(a+1),l=W(s,t.segments);return[...o,...l,...c]}let n=e;if(t.removedMessageIds?.length){let e=new Set(t.removedMessageIds);n=n.filter(t=>!e.has(t.messageId))}return t.appliedPipeline?.length&&(n=(await B(n,t.appliedPipeline)).messages),n}function Ie(e,t){let n=e;return t.stripReasoning&&(n=V(n)),t.stripToolOutputs&&(n=H(n)),n}function W(e,t){let n=new Map;for(let t=0;t<e.length;t++)n.set(e[t].messageId,t);let r=[];for(let i of t){let t=n.get(i.fromMessageId),a=n.get(i.toMessageId);if(t===void 0||a===void 0){console.warn(`[getFullConversation] Skipping segment with missing boundary IDs`,{segmentKey:`${i.fromMessageId}..${i.toMessageId}`,fromMessageId:i.fromMessageId,toMessageId:i.toMessageId,hasFrom:t!==void 0,hasTo:a!==void 0});continue}let o=e.slice(t,a+1),s;switch(i.policy){case`exclude`:s=[];break;case`summarize`:if(i.summaryText){if(o.length===0)throw Error(`Cannot create synthetic summary message for empty segment: ${i.fromMessageId}..${i.toMessageId}`);s=[{messageId:`summary-${i.fromMessageId}-${i.toMessageId}`,turnId:null,sessionId:o[0].sessionId,role:`assistant`,contentText:i.summaryText,blocks:[{type:`text`,content:i.summaryText}],timestamp:o[o.length-1].timestamp}]}else s=o;break;default:s=o;break}if((i.policy!==`summarize`||!i.summaryText)&&i.overrides&&Object.keys(i.overrides).length>0){let e=new Set(Object.entries(i.overrides).filter(([,e])=>e===`exclude`).map(([e])=>e));s=s.filter(t=>!e.has(t.messageId))}s=Ie(s,i),r.push(...s)}return r}function G(e){return{role:e.role,blocks:e.blocks}}async function Le(e,t){return{messageHistory:(await U(e,t.sessionId)).messages.map(G),isFirstTurn:!0}}async function Re(e,t,n,r){if(t.cwd===n)return{swapped:!1};let i=await e.request(y.cwd.change,{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId??``,sessionId:t.sessionId,newCwd:n,...r?.skipWarning?{skipWarning:!0}:{}});if(!i.success)throw Error(`Failed to change cwd for agent ${t.agentId}: ${i.reason??`unknown`}`);return i.previousCwd?(t.cwd=n,{swapped:!0,previousCwd:i.previousCwd}):(t.cwd=n,{swapped:!1})}async function ze(e,t,n,r){let i=n===void 0||t.model===n,a=r?.reasoningEffort===void 0,o=!r?.providerConfigId;if(i&&a&&o)return{changed:!1};let s=r?.providerConfigId?await d(e,r.providerConfigId):void 0,c=await e.request(y.model.change,{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:t.adapterSessionId??``,...n!==void 0&&{newModel:n},...r?.reasoningEffort!==void 0&&{reasoningEffort:r.reasoningEffort},...r?.skipWarning!==void 0&&{skipWarning:r.skipWarning},...s!==void 0&&{providerContext:s}});if(!c.success)throw Error(`Failed to change model for agent ${t.agentId}: ${c.reason??`unknown`}`);return n!==void 0&&(t.model=n),{changed:!0,swapped:c.swapped??!1}}async function Be(e,t,n){let r=[],i=new Set;for(let a of t){let t=await e.requestOptional(g.getAgent,{adapterId:a.adapterId,agentId:a.agentId});if(t.handled&&t.data.agent!==null)r.push(a);else{let t=await K(e,a,n);r.push(t),i.add(t.agentId)}}return{verifiedAgents:r,recoveredAgentIds:i}}async function Ve(e,t,n){let r=await U(e,t.sessionId),i=n?.pipeline??[];return{messageHistory:(i.length>0?(await B(r.messages,i)).messages:r.messages).map(G),isFirstTurn:!0}}async function K(e,t,n){let r=await L(e,t.adapterName).catch(()=>t.adapterId);return await e.request(g.rehydrateAgent,{adapterId:r,agentId:t.agentId,cwd:n.cwd,model:n.model??t.model}),t.adapterId=r,t}function q(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function J(e,t,n,r){let{adapterName:i}=await e.request(o.resolveName,{adapterId:t});if(n&&i!==n)throw Error(`${r}adapterName "${n}" does not match adapterId "${t}"`);return i}async function He(e,t,n,r,i,a,o,s,c,l){let u=n.map(async n=>{try{await e.request(y.sendMessage,{agentId:n.agentId,adapterId:n.adapterId,message:r,deliveryMode:o,messageId:i,turnId:a.turnId,sessionId:t.sessionId,sessionContext:c,...l!==void 0&&{responseSchema:l}}),await e.emit(x.user_message.acknowledged,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId})}catch(t){if(t instanceof k){await e.emit(x.user_message.completed,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId,outcome:`cancelled`});let t=a.markAgentCompleted(n.agentId);t.turnComplete&&await s(a,t.result);return}let r=t instanceof Error?t.message:String(t),o=a.markAgentErrored(n.agentId,r);await e.emit(x.user_message.completed,{sessionId:a.sessionId,turnId:a.turnId,turnNumber:a.turnNumber,messageId:i,agentId:n.agentId,outcome:`error`,error:r}),o.turnComplete&&await s(a,o.result)}});await Promise.all(u)}function Ue(e){return e.on(x.abandon,async t=>{let{parentSessionId:n,childSessionId:r}=t.payload,{session:i}=await e.request(x.get,{sessionId:r});if(!i)throw Error(`[abandon-handler] Child session not found: ${r}`);if(i.parentSessionId!==n)throw Error(`[abandon-handler] Invalid parent-child relationship: session ${r} is not a child of ${n}`+(i.parentSessionId?` (actual parent: ${i.parentSessionId})`:` (session has no parent)`));if(!(await e.request(x.close,{sessionId:r})).success)throw Error(`[abandon-handler] Failed to close child session: ${r}`);await e.emit(x.abandoned,{sessionId:r,parentSessionId:n}),t.setResult({success:!0})})}function We(e,t,n){return e.on(x.agent.attach,async r=>{let{sessionId:i,agent:a,initialMessage:o,role:s}=r.payload,c=Ge(a),l=await Ze(e,i),u=await qe(e,i,o,a),{adapterName:d,adapterId:p}=await Ke(e,a.kind===`adapter`&&`adapterName`in a?a.adapterName:u?.adapterName,a.kind===`adapter`&&`adapterId`in a?a.adapterId:void 0,n),{providerConfigId:m,providerContext:h}=await Je(e,a.providerConfigId,u),{runtimeOptions:_,mergedModel:v,mergedCwd:y}=Xe(c,u,h),b=Qe(l,s),x=et(p,i,o,b,_,$e(l),u?.harnessId);h!==void 0&&await f(e,h);let S=await e.request(g.startAgent,x);if(!S.success)throw Error(`[attach-handler] Failed to start agent: ${S.message}`);let C=a.kind===`persona`?a.personaId:void 0;await nt(e,S,{adapterName:d,sessionId:i,role:b,timestamp:Date.now(),personaId:C,profileId:u?.profileId,harnessId:u?.harnessId,providerConfigId:m,compressionMode:u?.compressionMode,model:v,cwd:y});let w=o&&S.messageId?await rt(e,t,i,S.agentId,S.messageId,o):void 0;r.setResult({agentId:S.agentId,adapterSessionId:S.adapterSessionId,role:b,...w&&{messageId:w.messageId,turnId:w.turnId}})})}function Ge(e){return{...e.model!==void 0&&{model:e.model},...e.reasoningEffort!==void 0&&{reasoningEffort:e.reasoningEffort},...e.cwd!==void 0&&{cwd:e.cwd},...e.allowedTools!==void 0&&{allowedTools:e.allowedTools},...e.disallowedTools!==void 0&&{disallowedTools:e.disallowedTools},...e.allowedDirectories!==void 0&&{allowedDirectories:e.allowedDirectories},...e.systemPrompt!==void 0&&{systemPrompt:e.systemPrompt}}}async function Ke(e,t,n,r){let i=q(t),a=q(n);if(!i&&!a)throw Error(`[attach-handler] adapterName or adapterId is required — provide one explicitly or via persona/profile/virtualModel resolution`);if(a)return{adapterName:await J(e,a,i,`[attach-handler] `),adapterId:a};let o=i;return{adapterName:o,adapterId:await L(e,o,r)}}async function qe(e,t,n,r){if(r.kind===`adapter`)return null;let i=n?I(n):void 0;return e.request(_.resolve,{selection:r,context:{sessionId:t,promptText:i}})}async function Je(e,t,n){let r=t??n?.providerConfigId;return{providerConfigId:r,providerContext:r===void 0?void 0:await d(e,r)}}function Ye(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}function Xe(e,t,n){let r=e.model??t?.model,i=e.cwd;return{runtimeOptions:Ye({model:r,reasoningEffort:e.reasoningEffort??t?.reasoningEffort,cwd:i,allowedTools:e.allowedTools??t?.allowedTools,disallowedTools:e.disallowedTools??t?.disallowedTools,allowedDirectories:e.allowedDirectories??t?.allowedDirectories,systemPrompt:e.systemPrompt??t?.systemPrompt,providerContext:n}),mergedModel:r,mergedCwd:i}}async function Ze(e,t){let{session:n}=await e.request(x.get,{sessionId:t});if(!n)throw Error(`[attach-handler] Session not found: ${t}`);if(n.status!==`active`)throw Error(`[attach-handler] Session is not active: ${t}`);return n}function Qe(e,t){let n=e.agents.length===0;return t??(n?`lead`:`member`)}function $e(e){if(e.isImported&&e.isOrchestrated===!1&&e.adapterSessionId)return e.adapterSessionId}function et(e,t,n,r,i,a,o){return a?{mode:`resume`,adapterId:e,sessionId:t,adapterSessionId:a,role:r,...i,...n!==void 0&&{initialMessage:n},...o!==void 0&&{harnessId:o}}:{adapterId:e,sessionId:t,role:r,...i,...n!==void 0&&{initialMessage:n},...o!==void 0&&{harnessId:o}}}async function tt(e,t){!t.personaId&&!t.profileId&&!t.harnessId&&!t.providerConfigId||await e.request(j.set,{agentId:t.agentId,agent:{agentId:t.agentId,adapterId:t.adapterId,adapterName:t.adapterName,sessionId:t.sessionId,role:t.role,status:`idle`,personaId:t.personaId,profileId:t.profileId,harnessId:t.harnessId,providerConfigId:t.providerConfigId,createdAt:t.timestamp,lastActivityAt:t.timestamp,...t.model!==void 0&&{model:t.model},...t.cwd!==void 0&&{cwd:t.cwd},...t.compressionMode!==void 0&&{compressionMode:t.compressionMode}}})}async function nt(e,t,n){try{await tt(e,{agentId:t.agentId,adapterId:t.adapterId,adapterName:n.adapterName,sessionId:n.sessionId,role:n.role,timestamp:n.timestamp,personaId:n.personaId,profileId:n.profileId,harnessId:n.harnessId,providerConfigId:n.providerConfigId,compressionMode:n.compressionMode,model:n.model,cwd:n.cwd})}catch(r){console.error(`[attach-handler] Failed to persist agent identity, rolling back started agent`,{sessionId:n.sessionId,agentId:t.agentId,adapterId:t.adapterId,error:r});try{await e.request(g.stopAgent,{adapterId:t.adapterId,agentId:t.agentId})}catch(e){console.error(`[attach-handler] Failed to rollback started agent after identity persistence failure`,{sessionId:n.sessionId,agentId:t.agentId,adapterId:t.adapterId,error:e})}throw r}}async function rt(e,t,n,r,i,o){let{turn:s}=await e.request(a.create,{sessionId:n}),c=new F({sessionId:n,agentIds:[r],turnId:s.turnId,turnNumber:s.turnNumber});return c.addMessage(i),t.set(n,c),await e.emit(x.turn.started,{sessionId:n,turnId:c.turnId,turnNumber:c.turnNumber,messageId:i,agentIds:[...c.agentIds]}),await e.emit(x.user_message.sent,{sessionId:n,turnId:c.turnId,turnNumber:c.turnNumber,messageId:i,content:o,agentIds:[...c.agentIds]}),await e.emit(x.user_message.acknowledged,{sessionId:n,turnId:c.turnId,turnNumber:c.turnNumber,messageId:i,agentId:r}),{messageId:i,turnId:c.turnId}}const it={id:`messages-to-context`,label:`Export as Context`,description:`Convert messages to context JSON (final step)`,category:`extraction`,async execute(e){let t=e.map(e=>({role:e.role,content:e.blocks.map(e=>e.type===`text`?e.content:e.type===`reasoning`?`[reasoning: ${e.content}]`:e.type===`tool_call`?`[tool: ${e.name}]`:e.type===`tool_output`?e.output:``).filter(Boolean).join(`
|
|
12
|
+
`)})),n=t.reduce((e,t)=>e+t.content.length,0),r=Math.ceil(n/4);return{kind:`context`,json:{type:`compressed-messages`,messageCount:e.length,messages:t},tokenEstimate:r}}},at={id:`llm-summarize`,label:`Summarize`,description:`LLM-generated summary of selected messages`,category:`transformation`,async execute(e){return{kind:`messages`,messages:e}}};function ot(e){let t=[];for(let n of e){let e=n.blocks.filter(e=>e.type===`text`).map(e=>e.content).join(`
|
|
13
|
+
`);e&&(n.role===`user`?t.push(`[human]\n${e}\n[/human]`):n.role===`assistant`&&t.push(`[assistant]\n${e}\n[/assistant]`))}return`<conversation>\n${t.join(`
|
|
14
|
+
|
|
15
|
+
`)}\n</conversation>`}function st(e){return{id:`llm-extract`,label:`LLM Extract`,description:`Extract structured context using a cheap LLM model (requires virtualModelId in options)`,category:`extraction`,async execute(t,n){let r={kind:`messages`,messages:t},i=n?.virtualModelId;if(typeof i!=`string`)return r;let a=(typeof n?.sessionId==`string`&&n.sessionId.length>0?n.sessionId:void 0)??t[0]?.sessionId;if(typeof a!=`string`||a.length===0)return r;try{let n=await e.request(_.resolve,{selection:{kind:`virtual-model`,virtualModelId:i},context:{sessionId:a}}),{adapterId:r}=await e.request(ie.resolveId,{adapterName:n.adapterName}),o=ot(t),s=n.providerConfigId?await ae(e,n.providerConfigId):void 0,{text:c}=await e.request(g.infer,{adapterId:r,prompt:o,model:n.model,systemPrompt:`You are a context extraction assistant. Analyze the following conversation and extract structured information. Respond with ONLY valid JSON matching this exact schema — no markdown, no explanation, no code fences:
|
|
16
|
+
|
|
17
|
+
{
|
|
18
|
+
"resolved_items": ["string — completed work with resolution details"],
|
|
19
|
+
"known_bugs": [{ "issue": "string", "location": "string", "impact": "string" }],
|
|
20
|
+
"todos": [{ "issue": "string", "location": "string", "priority": "high|medium|low" }],
|
|
21
|
+
"key_decisions_and_rationale": ["string — decision with reasoning"],
|
|
22
|
+
"technical_details": {
|
|
23
|
+
"files": ["string — file paths mentioned"],
|
|
24
|
+
"schemas": {},
|
|
25
|
+
"apis": ["string — API endpoints or contracts"],
|
|
26
|
+
"config": {}
|
|
27
|
+
},
|
|
28
|
+
"constraints_and_requirements": ["string — constraints or non-negotiable requirements"],
|
|
29
|
+
"current_state": "string — one paragraph summary of where work stands now",
|
|
30
|
+
"roadmap": ["string — future work items in priority order"],
|
|
31
|
+
"data_flows": ["string — key data movement patterns"],
|
|
32
|
+
"component_interactions": { "ComponentName": "string — description of its role" },
|
|
33
|
+
"key_files": { "filepath": "string — what this file does" },
|
|
34
|
+
"helpful_hint": ["string — quick reference hints for resuming work"]
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
Rules:
|
|
38
|
+
- Omit array items you have no evidence for (prefer empty array over fabrication).
|
|
39
|
+
- current_state MUST be present; write "No summary available" if you cannot determine it.
|
|
40
|
+
- Extract only facts stated or clearly implied in the conversation. Do not invent.
|
|
41
|
+
- key_files and component_interactions should only include items explicitly mentioned.`,...s!==void 0&&{providerContext:s}}),l=c.trim().replace(/^```(?:json)?\s*/i,``).replace(/\s*```$/i,``).trim(),u=JSON.parse(l),d=p.parse(u),f=Math.ceil(JSON.stringify(d).length/4);return{kind:`context`,json:{...d},tokenEstimate:f}}catch(e){return console.warn(`[llm-extract] action failed`,{action:`llm-extract`,sessionId:a,error:e}),r}}}}let Y=!1,X=!1;function Z(e){Y||(Y=!0,z.register(Ne),z.register(Pe),z.register(it),z.register(at)),e&&!X&&(X=!0,z.register(st(e)))}function ct(){Y=!1,X=!1}function lt(e){return Z(e),e.on(x.compress,async t=>{let{sessionId:n,pipeline:i}=t.payload,{messages:a}=await e.request(s.getBySession,{sessionId:n,limit:1e4}),o=await B(a,i,{sessionId:n});if(!o.contextJson)throw Error(`[compress-handler] Compress pipeline must produce context JSON (sessionId=${n})`);let c=a.map(e=>e.messageId),l=Math.ceil(a.reduce((e,t)=>e+JSON.stringify(t.blocks).length/4,0)),u=crypto.randomUUID();await e.request(r.append,{event:{sessionId:n,eventId:u,timestamp:Date.now(),type:`squash`,payload:{summaryJson:JSON.stringify(o.contextJson),tokensBefore:l,tokensAfter:o.tokenEstimate,compressedMessageIds:c}}}),await e.emit(x.compressed,{sessionId:n,eventId:u}),t.setResult({eventId:u,contextJson:o.contextJson,tokensBefore:l,tokensAfter:o.tokenEstimate})})}async function ut(e,t,n,r){if(!n.segments?.length)return!1;let i=[],a;do{let{messages:n,nextCursor:o}=await e.request(s.getBySession,{sessionId:t,order:`asc`,limit:200,after:a});i.push(...n),a=r&&n.some(e=>e.messageId===r)?void 0:o??void 0}while(a);if(i.length===0)throw Error(`[fork-handler] Segment transforms require at least one source message (sourceSessionId=${t})`);let o=i;if(r){let e=i.findIndex(e=>e.messageId===r);if(e===-1)throw Error(`[fork-handler] Fork point message not found in source message list: ${r} (sourceSessionId=${t})`);o=i.slice(0,e+1)}let c=new Map;o.forEach((e,t)=>{c.set(e.messageId,t)});let l=-1;for(let e of n.segments){if(!e.fromMessageId||!e.toMessageId)throw Error(`[fork-handler] Segment must have fromMessageId and toMessageId (sourceSessionId=${t})`);let n=c.get(e.fromMessageId),r=c.get(e.toMessageId);if(n===void 0||r===void 0)throw Error(`[fork-handler] Segment boundaries must reference source messages: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n>r)throw Error(`[fork-handler] Segment range is reversed: ${e.fromMessageId}..${e.toMessageId} (sourceSessionId=${t})`);if(n<=l)throw Error(`[fork-handler] Segments must not overlap and must be ordered (sourceSessionId=${t})`);if(n!==l+1)throw Error(`[fork-handler] Segments must be contiguous without gaps (sourceSessionId=${t})`);l=r}if(l!==o.length-1)throw Error(`[fork-handler] Segments must cover the entire source message range (sourceSessionId=${t})`);return!0}function dt(e){if(!e.segments?.length&&e.appliedPipeline?.length)for(let t of e.appliedPipeline){let e=z.get(t.actionId);if(!e)throw Error(`[fork-handler] Unknown action in pipeline: ${t.actionId}`);if(e.category!==`transformation`)throw Error(`[fork-handler] Action '${t.actionId}' is category '${e.category}', but only 'transformation' actions are allowed in fork transforms`)}}function ft(e){return e.on(x.fork,async t=>{let{sourceSessionId:n,fromMessageId:r,name:i,branchKind:a=`fork`,transforms:o,targetWorkingDirectory:c,existingSessionId:l}=t.payload,{session:u}=await e.request(x.get,{sessionId:n});if(!u)throw Error(`[fork-handler] Source session not found: ${n}`);if(r){let{message:t}=await e.request(s.get,{messageId:r});if(!t)throw Error(`[fork-handler] Fork point message not found: ${r} (sourceSessionId=${n})`);if(t.sessionId!==n)throw Error(`[fork-handler] Fork point message ${r} does not belong to session ${n}`)}o&&(await ut(e,n,o,r)||dt(o));let{sessionId:d}=await e.request(x.create,{...l?{sessionId:l}:{},parentSessionId:n,forkPointMessageId:r,branchKind:a,forkTransforms:o,...i?{title:i}:{},...c?{targetWorkingDirectory:c}:{}});await e.emit(x.branch.created,{sessionId:n,childSessionId:d,parentSessionId:n,kind:a,forkPointMessageId:r,transforms:o}),await e.emit(x.forked,{parentSessionId:n,childSessionId:d,forkPoint:r}),t.setResult({sessionId:d})})}function pt(e){return e.on(x.merge,async t=>{let{parentSessionId:n,childSessionId:i,summary:a}=t.payload,o=`merge:${n}:${i}`,{session:s}=await e.request(x.get,{sessionId:n});if(!s)throw Error(`[merge-handler] Parent session not found: ${n}`);if(s.status!==`active`)throw Error(`[merge-handler] Parent session is not active: ${n}`);let{session:c}=await e.request(x.get,{sessionId:i});if(!c)throw Error(`[merge-handler] Child session not found: ${i}`);if(c.parentSessionId!==n)throw Error(`[merge-handler] Invalid parent-child relationship: session ${i} is not a child of ${n}`+(c.parentSessionId?` (actual parent: ${c.parentSessionId})`:` (session has no parent)`));await e.emit(x.merging,{parentSessionId:n,childSessionId:i});let l=a??`Child session ${i} merged.`;if(!(await e.request(x.close,{sessionId:i})).success)throw Error(`[merge-handler] Failed to close child session: ${i}`);let u=JSON.stringify({handoff:l});await e.request(r.append,{event:{sessionId:n,eventId:o,timestamp:Date.now(),type:`branch.merged`,payload:{childSessionId:i,parentSessionId:n,resultJson:u}}}),await e.emit(x.branch.merged,{sessionId:n,childSessionId:i,parentSessionId:n,resultJson:u}),await e.emit(x.merged,{parentSessionId:n,childSessionId:i,handoff:l}),t.setResult({success:!0,handoff:l})})}async function Q(e,t,n,r,i){if(!(t.parentSessionId!==void 0&&(t.contextInheritance===`parent-history`||t.contextInheritance===void 0&&t.branchKind!==`subagent`))||r?.messageHistory)return r;let{turns:o}=await e.request(a.getBySession,{sessionId:n,limit:2});if(!(i&&o.length<=1))return r;let s=(await U(e,n)).messages.map(G);return{...r,messageHistory:s,isFirstTurn:!0,hasNewTransforms:t.forkTransforms!==void 0}}const $={enabled:!0,template:`User changed working directory from {oldCwd} to {newCwd}`};function mt(e,t,n){return e.replace(/\{oldCwd\}/g,t).replace(/\{newCwd\}/g,n)}function ht(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.enabled==`boolean`&&typeof t.template==`string`}async function gt(e){try{let t=await e.request(m.get,{key:{scope:`global`,surface:`ui`,context:`cwdChangeNotification`},category:`chat-display`});if(t.value!==null&&t.value!==void 0)return ht(t.value)?t.value:$}catch{}return $}function _t(e){let{baseContext:t,recoveryContext:n,isRecovered:r,isSwapped:i,swapMeta:a,cwdMessage:o,freshMessageHistory:s}=e,c=r&&n?{...t,...n}:t;if(!i)return c;let l=a&&o!==void 0?{cwdChange:{previousCwd:a.previousCwd,newCwd:a.newCwd,message:o}}:void 0;return c={...c,hasConnectorSwap:!0,...s!==void 0&&{messageHistory:s},...l&&{turnContext:{...c?.turnContext,...l}}},c}async function vt(e){let{bus:t,session:n,turn:r,message:i,messageId:a,deliveryMode:o,onTurnComplete:s,agent:c,agentContext:l,responseSchema:u}=e;try{await t.request(y.sendMessage,{agentId:c.agentId,adapterId:c.adapterId,message:i,deliveryMode:o,messageId:a,turnId:r.turnId,sessionId:n.sessionId,sessionContext:l,...u!==void 0&&{responseSchema:u}}),await t.emit(x.user_message.acknowledged,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId})}catch(e){if(e instanceof k){await t.emit(x.user_message.completed,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId,outcome:`cancelled`});let e=r.markAgentCompleted(c.agentId);e.turnComplete&&await s(r,e.result);return}let n=e instanceof Error?e.message:String(e),i=r.markAgentErrored(c.agentId,n);await t.emit(x.user_message.completed,{sessionId:r.sessionId,turnId:r.turnId,turnNumber:r.turnNumber,messageId:a,agentId:c.agentId,outcome:`error`,error:n}),i.turnComplete&&await s(r,i.result)}}async function yt(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){let _=await Q(e,t,t.sessionId,c,u),v=l?await l.enrichForDeliveryMode(_?.messageHistory,a.turnId,o):_?.messageHistory,y=_?{..._,messageHistory:v}:void 0,b=p?.size?await gt(e):$,x=n.map(async n=>{let c=m?.get(n.agentId),l=c&&b.enabled?mt(b.template,c.previousCwd,c.newCwd):void 0;await vt({bus:e,session:t,turn:a,message:r,messageId:i,deliveryMode:o,onTurnComplete:s,agent:n,agentContext:_t({baseContext:y,recoveryContext:d,isRecovered:f?.has(n.agentId)??!1,isSwapped:p?.has(n.agentId)??!1,swapMeta:c,cwdMessage:l,freshMessageHistory:h}),responseSchema:g})});await Promise.all(x)}export{Ee as A,Me as C,De as D,ke as E,j as F,ge as M,ce as N,Oe as O,A as P,L as S,Ae as T,Be as _,lt as a,z as b,We as c,q as d,J as f,K as g,ze as h,ft as i,F as j,I as k,Ue as l,Re as m,Q as n,Z as o,Ve as p,pt as r,ct as s,yt as t,He as u,Le as v,je as w,R as x,U as y};
|
|
@@ -55,8 +55,8 @@ declare const LogImporterInfoSchema: z.ZodObject<{
|
|
|
55
55
|
adapterName: z.ZodString;
|
|
56
56
|
displayName: z.ZodString;
|
|
57
57
|
source: z.ZodEnum<{
|
|
58
|
-
adapter: "adapter";
|
|
59
58
|
extension: "extension";
|
|
59
|
+
adapter: "adapter";
|
|
60
60
|
}>;
|
|
61
61
|
logFilePattern: z.ZodString;
|
|
62
62
|
isRunning: z.ZodBoolean;
|
|
@@ -2,8 +2,10 @@ import { r as ExtensionDiscovery } from "./extension-discovery-CkV_VRdJ.mjs";
|
|
|
2
2
|
import { RegistrableBusNamespaceDefinition } from "@makaio/framework/core";
|
|
3
3
|
import { BusTransport, IMakaioBus, SubjectTelemetryProjectorRegistry } from "@makaio/framework/bus";
|
|
4
4
|
import { ExtensionConfigProvider, IWorkerNodeProvider, IWorkflowRunner, IWorkflowRunner as IWorkflowRunner$1, NormalizedWorkerNodeCapabilities, StationHandler, StepRunnerBusAuth, StepRunnerPlatformDefaults, TrayManifest, WorkerContributionManifest, WorkerNodeCapabilities, WorkerNodeDispatch, WorkerNodeHandle, WorkerNodeProvisionRequest, WorkerNodeRequirements, WorkflowDefinition, WorkflowRunResult, WorkflowRunResult as WorkflowRunResult$1, WorkflowRunnerRunOptions, WorkflowWorkerConfig, WorkflowWorkerSource, WorkflowZodSchemas } from "@makaio/framework/contracts";
|
|
5
|
+
import { StorageEngine } from "@makaio/framework/storage/drizzle";
|
|
5
6
|
import { PostInstallHandler, StrategyDependencies } from "@makaio/framework/clients";
|
|
6
7
|
import { DispatchingAuth, TransportAuth } from "@makaio/framework/node/transports";
|
|
8
|
+
import { DatabaseClient } from "@makaio/framework/storage/drizzle/client";
|
|
7
9
|
import { ContributionProcessor, ExtensionCoordinator, ExtensionRuntimeSurface, KernelExtensionContext, KernelMakaioExtension, RuntimeCapability, TransportProvider, WindowRegistry } from "@makaio/framework/kernel";
|
|
8
10
|
import { Hono } from "hono";
|
|
9
11
|
import { Server } from "node:http";
|
|
@@ -238,25 +240,163 @@ type RuntimeOwnershipPackageView = Pick<KernelMakaioExtension, 'name' | 'display
|
|
|
238
240
|
*/
|
|
239
241
|
declare function selectFrameworkCorePackages(loadedExtensionPackages: ReadonlyArray<RuntimeOwnershipPackageView> | true): ReadonlyArray<KernelMakaioExtension>;
|
|
240
242
|
//#endregion
|
|
243
|
+
//#region runtimes/node/src/initialize-node-database.d.ts
|
|
244
|
+
/**
|
|
245
|
+
* Database backend configuration shared by boot and direct
|
|
246
|
+
* {@link initializeNodeDatabase} callers.
|
|
247
|
+
*/
|
|
248
|
+
interface DatabaseBootOptions {
|
|
249
|
+
/**
|
|
250
|
+
* Connection URL.
|
|
251
|
+
*
|
|
252
|
+
* A URL claimed by a registered storage engine — or recognized by the
|
|
253
|
+
* engine hint table (`postgres://` / `postgresql://` via
|
|
254
|
+
* `@makaio/storage-pg`) — selects that engine's backend and outranks every
|
|
255
|
+
* file-path source (`dbPath`, `MAKAIO_DATABASE_PATH`).
|
|
256
|
+
*/
|
|
257
|
+
readonly url?: string;
|
|
258
|
+
/**
|
|
259
|
+
* Maximum pooled Postgres connections. Defaults to 4.
|
|
260
|
+
*
|
|
261
|
+
* Ignored for SQLite targets.
|
|
262
|
+
*/
|
|
263
|
+
readonly poolMax?: number;
|
|
264
|
+
/**
|
|
265
|
+
* Filesystem directory used as the module-resolution base when auto-loading
|
|
266
|
+
* hinted engine packages such as `@makaio/storage-pg`.
|
|
267
|
+
*
|
|
268
|
+
* Defaults to `process.cwd()`, which matches normal host entrypoints. Hosts
|
|
269
|
+
* launched from another working directory can pass their install root here
|
|
270
|
+
* instead of manually preloading `database.engines`.
|
|
271
|
+
*/
|
|
272
|
+
readonly enginePackageImportBasePath?: string;
|
|
273
|
+
/**
|
|
274
|
+
* Storage engines to register explicitly.
|
|
275
|
+
*
|
|
276
|
+
* Registration happens first inside {@link initializeNodeDatabase} — before
|
|
277
|
+
* the database target is resolved — so listed engines are always visible to
|
|
278
|
+
* URL target resolution and client creation. Same-reference re-registration
|
|
279
|
+
* is a no-op, making repeated boots with the same engine objects safe.
|
|
280
|
+
*/
|
|
281
|
+
readonly engines?: ReadonlyArray<StorageEngine>;
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Options for {@link initializeNodeDatabase}.
|
|
285
|
+
*/
|
|
286
|
+
interface InitializeNodeDatabaseOptions {
|
|
287
|
+
/**
|
|
288
|
+
* Override database file path.
|
|
289
|
+
*
|
|
290
|
+
* Outranked by `database.url` and the `MAKAIO_DATABASE_URL` environment
|
|
291
|
+
* variable. When neither URL source is set, falls back to the
|
|
292
|
+
* `MAKAIO_DATABASE_PATH` environment variable, then
|
|
293
|
+
* `<makaioHome>/makaio.db`.
|
|
294
|
+
*/
|
|
295
|
+
dbPath?: string;
|
|
296
|
+
/**
|
|
297
|
+
* Override framework central migrations directory.
|
|
298
|
+
*
|
|
299
|
+
* Bundled hosts copy migrations next to their entrypoint and pass that
|
|
300
|
+
* runtime asset path explicitly because package-local source paths are not
|
|
301
|
+
* available in the final image.
|
|
302
|
+
*/
|
|
303
|
+
migrationsDir?: string;
|
|
304
|
+
/**
|
|
305
|
+
* Makaio home directory used to derive the default database path.
|
|
306
|
+
* Superseded by every higher-precedence source: `database.url`,
|
|
307
|
+
* `MAKAIO_DATABASE_URL`, `dbPath`, and `MAKAIO_DATABASE_PATH`.
|
|
308
|
+
*/
|
|
309
|
+
makaioHome: string;
|
|
310
|
+
/**
|
|
311
|
+
* Database backend configuration. `database.url` (or env
|
|
312
|
+
* `MAKAIO_DATABASE_URL`) selects a URL-backed target and outranks `dbPath`
|
|
313
|
+
* and `MAKAIO_DATABASE_PATH`.
|
|
314
|
+
*/
|
|
315
|
+
readonly database?: DatabaseBootOptions;
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Result returned by {@link initializeNodeDatabase}.
|
|
319
|
+
*/
|
|
320
|
+
interface InitializeNodeDatabaseResult {
|
|
321
|
+
databaseClient: DatabaseClient;
|
|
322
|
+
/**
|
|
323
|
+
* Absolute path of the SQLite database file.
|
|
324
|
+
*
|
|
325
|
+
* Absent for URL-backed (Postgres) targets.
|
|
326
|
+
*/
|
|
327
|
+
dbPath?: string;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Initialize the runtime database (SQLite file or Postgres URL) for Node
|
|
331
|
+
* runtime persistence.
|
|
332
|
+
*
|
|
333
|
+
* Resolution order for the connection target (empty and whitespace-only
|
|
334
|
+
* values count as unset):
|
|
335
|
+
* 1. `options.database?.url`
|
|
336
|
+
* 2. `process.env.MAKAIO_DATABASE_URL`
|
|
337
|
+
* 3. `options.dbPath`
|
|
338
|
+
* 4. `process.env.MAKAIO_DATABASE_PATH`
|
|
339
|
+
* 5. `path.join(options.makaioHome, 'makaio.db')`
|
|
340
|
+
*
|
|
341
|
+
* Engine registration precedes target resolution by construction: engines
|
|
342
|
+
* passed via `database.engines` are registered first, and URL candidates that
|
|
343
|
+
* are recognized but unregistered auto-resolve their hinted engine package
|
|
344
|
+
* ({@link autoRegisterHintedEngine}) before the target is classified.
|
|
345
|
+
*
|
|
346
|
+
* URL targets (engine-served, e.g. `postgres://` / `postgresql://`) perform
|
|
347
|
+
* no filesystem work (no mkdir, no chmod, no `file:` conversion). The
|
|
348
|
+
* bundled-layout migrations resolver is applied only for URL targets because
|
|
349
|
+
* SQLite (file) targets resolve their default inside the migrations reader —
|
|
350
|
+
* bundled hosts replace that reader entirely — so the resolver probe applies
|
|
351
|
+
* only where it is safe.
|
|
352
|
+
* @param options - Configuration; see {@link InitializeNodeDatabaseOptions}.
|
|
353
|
+
* @returns Initialized database client and resolved database path (absent for
|
|
354
|
+
* URL-backed targets).
|
|
355
|
+
*/
|
|
356
|
+
declare function initializeNodeDatabase(options: InitializeNodeDatabaseOptions): Promise<InitializeNodeDatabaseResult>;
|
|
357
|
+
//#endregion
|
|
241
358
|
//#region runtimes/node/src/workflow-worker/worker-entry-resolver.d.ts
|
|
242
359
|
/** Worker entry build mode. */
|
|
243
360
|
type WorkflowWorkerEntryMode = 'source' | 'dist';
|
|
244
361
|
/**
|
|
245
362
|
* Options for resolving the workflow worker entrypoint file path.
|
|
363
|
+
*
|
|
364
|
+
* `moduleDir` is the directory that contains the currently-running boot module
|
|
365
|
+
* (i.e. `path.dirname(fileURLToPath(import.meta.url))` at the call site).
|
|
366
|
+
* The worker entry is always a sibling `workflow-worker/` subdirectory of
|
|
367
|
+
* `moduleDir`, so this one value covers all three package layouts:
|
|
368
|
+
*
|
|
369
|
+
* - source `moduleDir = <repo>/runtimes/node/src`
|
|
370
|
+
* → `<repo>/runtimes/node/src/workflow-worker/worker-entry.ts`
|
|
371
|
+
* - standalone `moduleDir = <pkg>/dist`
|
|
372
|
+
* → `<pkg>/dist/workflow-worker/worker-entry.mjs`
|
|
373
|
+
* - umbrella `moduleDir = <pkg>/dist/runtime-node`
|
|
374
|
+
* → `<pkg>/dist/runtime-node/workflow-worker/worker-entry.mjs`
|
|
375
|
+
*
|
|
376
|
+
* Using the former `packageRoot` shape would produce a double-`dist` path
|
|
377
|
+
* (`<pkg>/dist/dist/…`) in the umbrella layout.
|
|
246
378
|
*/
|
|
247
379
|
interface WorkflowWorkerEntryResolverOptions {
|
|
248
|
-
/**
|
|
249
|
-
|
|
380
|
+
/**
|
|
381
|
+
* Absolute path to the directory that contains the running boot module.
|
|
382
|
+
* Typically `path.dirname(fileURLToPath(import.meta.url))`.
|
|
383
|
+
*/
|
|
384
|
+
readonly moduleDir: string;
|
|
250
385
|
/** Whether to resolve the source TypeScript entry or the built distribution entry. */
|
|
251
386
|
readonly mode: WorkflowWorkerEntryMode;
|
|
252
387
|
}
|
|
253
388
|
/**
|
|
254
389
|
* Resolve the absolute file path to the workflow worker entrypoint.
|
|
255
390
|
*
|
|
391
|
+
* The worker entry is always located at
|
|
392
|
+
* `<moduleDir>/workflow-worker/worker-entry.(ts|mjs)` — a sibling
|
|
393
|
+
* subdirectory of the running boot module — regardless of which of the three
|
|
394
|
+
* supported package layouts is active (source, standalone dist, umbrella dist).
|
|
395
|
+
*
|
|
256
396
|
* In `source` mode, returns the TypeScript source path used during development
|
|
257
397
|
* (requires a loader like `tsx` or `ts-node` for direct execution).
|
|
258
398
|
* In `dist` mode, returns the compiled ESM bundle path used in production.
|
|
259
|
-
* @param options - Resolution options with
|
|
399
|
+
* @param options - Resolution options with the running module directory and mode.
|
|
260
400
|
* @returns Absolute path to the workflow worker entrypoint file.
|
|
261
401
|
*/
|
|
262
402
|
declare function resolveWorkflowWorkerEntry(options: WorkflowWorkerEntryResolverOptions): string;
|
|
@@ -455,6 +595,16 @@ interface CoreBootOptions {
|
|
|
455
595
|
* not exist in the deployed image.
|
|
456
596
|
*/
|
|
457
597
|
readonly centralMigrationsDir?: string;
|
|
598
|
+
/**
|
|
599
|
+
* Database backend configuration. Resolution order for the connection target
|
|
600
|
+
* (empty and whitespace-only values count as unset):
|
|
601
|
+
* 1. `database.url` 2. env `MAKAIO_DATABASE_URL` 3. the `dbPath` option of
|
|
602
|
+
* direct `initializeNodeDatabase` callers 4. env `MAKAIO_DATABASE_PATH`
|
|
603
|
+
* 5. `<makaioHome>/makaio.db`
|
|
604
|
+
*
|
|
605
|
+
* A `postgres://` / `postgresql://` URL selects the Postgres backend.
|
|
606
|
+
*/
|
|
607
|
+
readonly database?: DatabaseBootOptions;
|
|
458
608
|
/**
|
|
459
609
|
* Host launcher command embedded into client wiring installed from warning actions.
|
|
460
610
|
*
|
|
@@ -873,8 +1023,11 @@ interface NodeWorkflowRunnerPackageOptions {
|
|
|
873
1023
|
declare function createNodeWorkflowRunnerPackageOptions(params: CreateNodeWorkflowRunnerPackageOptionsParams): NodeWorkflowRunnerPackageOptions;
|
|
874
1024
|
/** Internal parameters for creating a Node workflow-level runner. */
|
|
875
1025
|
interface CreateNodeWorkflowRunnerParams {
|
|
876
|
-
/**
|
|
877
|
-
|
|
1026
|
+
/**
|
|
1027
|
+
* Absolute path to the directory that contains the running boot module.
|
|
1028
|
+
* Passed directly to `resolveWorkflowWorkerEntry` as `moduleDir`.
|
|
1029
|
+
*/
|
|
1030
|
+
readonly moduleDir: string;
|
|
878
1031
|
/** Default worker entry mode (`'source'` in dev, `'dist'` in builds). */
|
|
879
1032
|
readonly defaultWorkerEntryMode: WorkflowWorkerEntryMode;
|
|
880
1033
|
/** Optional boot-level workflow runner configuration. */
|
|
@@ -894,7 +1047,7 @@ interface CreateNodeWorkflowRunnerParams {
|
|
|
894
1047
|
* Returns `undefined` when no runner is configured, letting the workflow engine
|
|
895
1048
|
* fall back to its built-in DAG scheduler. Explicit runner modes create the
|
|
896
1049
|
* matching workflow-level execution strategy.
|
|
897
|
-
* @param params -
|
|
1050
|
+
* @param params - Module directory, entry mode, optional runner configuration, and optional bus.
|
|
898
1051
|
* @returns A workflow runner instance, or `undefined` to use the engine default.
|
|
899
1052
|
*/
|
|
900
1053
|
declare function createNodeWorkflowRunner(params: CreateNodeWorkflowRunnerParams): IWorkflowRunner | undefined;
|
|
@@ -1130,4 +1283,4 @@ declare function loadWorkflowModules(source: Exclude<WorkflowWorkerSource, {
|
|
|
1130
1283
|
*/
|
|
1131
1284
|
declare function loadWorkflowModule(source: WorkflowWorkerSource): Promise<RuntimeLoadedWorkflow>;
|
|
1132
1285
|
//#endregion
|
|
1133
|
-
export {
|
|
1286
|
+
export { InitializeNodeDatabaseOptions as A, NoopFrameworkModuleResolver as B, TransportReadyInfo as C, WorkflowWorkerEntryResolverOptions as D, WorkflowWorkerEntryMode as E, selectFrameworkCorePackages as F, HttpRouteContribution as G, HttpRouteGraphBuilder as H, ShutdownStep as I, createHonoRouteGraph as J, HonoRouteGraph as K, BridgeBrowserOptions as L, initializeNodeDatabase as M, HostCapabilityDeclaration as N, resolveWorkflowWorkerEntry as O, normalizeNodeHostCapabilities as P, FrameworkModuleResolver as R, ServerTransportProvider as S, WorkflowRunnerBootOptions as T, createHttpRouteGraphBuilder as U, resolveFrameworkSpecifier as V, HttpContributionPhase as W, WorkflowRunResult$1 as _, InProcessWorkflowRunnerOptions as a, CoreBootOptions as b, WorkerNodeRunner as c, NodeWorkflowRunnerPackageOptions as d, createNodeWorkflowRunner as f, ThinWorkflowPiscinaRunnerOptions as g, IWorkflowRunner$1 as h, InProcessWorkflowRunner as i, InitializeNodeDatabaseResult as j, DatabaseBootOptions as k, WorkerNodeRunnerOptions as l, ThinWorkflowPiscinaRunner as m, loadWorkflowModules as n, PiscinaThinWorkflowProvider as o, createNodeWorkflowRunnerPackageOptions as p, HonoRouteGraphOptions as q, loadWorkflowFromConfig as r, PiscinaThinWorkflowProviderOptions as s, loadWorkflowModule as t, CreateNodeWorkflowRunnerPackageOptionsParams as u, BootCoordinatorSetupContext as v, UpstreamTelemetryBootOptions as w, MakaioRuntime as x, BootMakaioRuntimeOptions as y, NodeFrameworkModuleResolver as z };
|
|
@@ -19,8 +19,8 @@ import { ExtensionWarningEntry, ExtensionWarningEntrySchema } from "@makaio/fram
|
|
|
19
19
|
*/
|
|
20
20
|
declare const ComponentStateSchema: z.ZodEnum<{
|
|
21
21
|
failed: "failed";
|
|
22
|
-
stopped: "stopped";
|
|
23
22
|
active: "active";
|
|
23
|
+
stopped: "stopped";
|
|
24
24
|
discovered: "discovered";
|
|
25
25
|
skipped: "skipped";
|
|
26
26
|
initializing: "initializing";
|
|
@@ -48,8 +48,8 @@ declare const ComponentInfoSchema: z.ZodObject<{
|
|
|
48
48
|
displayName: z.ZodString;
|
|
49
49
|
state: z.ZodEnum<{
|
|
50
50
|
failed: "failed";
|
|
51
|
-
stopped: "stopped";
|
|
52
51
|
active: "active";
|
|
52
|
+
stopped: "stopped";
|
|
53
53
|
discovered: "discovered";
|
|
54
54
|
skipped: "skipped";
|
|
55
55
|
initializing: "initializing";
|
|
@@ -69,8 +69,8 @@ declare const ServiceInfoSchema: z.ZodObject<{
|
|
|
69
69
|
displayName: z.ZodString;
|
|
70
70
|
state: z.ZodEnum<{
|
|
71
71
|
failed: "failed";
|
|
72
|
-
stopped: "stopped";
|
|
73
72
|
active: "active";
|
|
73
|
+
stopped: "stopped";
|
|
74
74
|
discovered: "discovered";
|
|
75
75
|
skipped: "skipped";
|
|
76
76
|
initializing: "initializing";
|
|
@@ -91,8 +91,8 @@ declare const ExtensionInfoSchema: z.ZodObject<{
|
|
|
91
91
|
displayName: z.ZodString;
|
|
92
92
|
state: z.ZodEnum<{
|
|
93
93
|
failed: "failed";
|
|
94
|
-
stopped: "stopped";
|
|
95
94
|
active: "active";
|
|
95
|
+
stopped: "stopped";
|
|
96
96
|
discovered: "discovered";
|
|
97
97
|
skipped: "skipped";
|
|
98
98
|
initializing: "initializing";
|
|
@@ -139,16 +139,16 @@ declare const ExtensionNamespace: _$_makaio_core0.BusNamespaceDefinition<"kernel
|
|
|
139
139
|
displayName: z.ZodString;
|
|
140
140
|
from: z.ZodEnum<{
|
|
141
141
|
failed: "failed";
|
|
142
|
-
stopped: "stopped";
|
|
143
142
|
active: "active";
|
|
143
|
+
stopped: "stopped";
|
|
144
144
|
discovered: "discovered";
|
|
145
145
|
skipped: "skipped";
|
|
146
146
|
initializing: "initializing";
|
|
147
147
|
}>;
|
|
148
148
|
to: z.ZodEnum<{
|
|
149
149
|
failed: "failed";
|
|
150
|
-
stopped: "stopped";
|
|
151
150
|
active: "active";
|
|
151
|
+
stopped: "stopped";
|
|
152
152
|
discovered: "discovered";
|
|
153
153
|
skipped: "skipped";
|
|
154
154
|
initializing: "initializing";
|
|
@@ -182,8 +182,8 @@ declare const ExtensionNamespace: _$_makaio_core0.BusNamespaceDefinition<"kernel
|
|
|
182
182
|
displayName: z.ZodString;
|
|
183
183
|
state: z.ZodEnum<{
|
|
184
184
|
failed: "failed";
|
|
185
|
-
stopped: "stopped";
|
|
186
185
|
active: "active";
|
|
186
|
+
stopped: "stopped";
|
|
187
187
|
discovered: "discovered";
|
|
188
188
|
skipped: "skipped";
|
|
189
189
|
initializing: "initializing";
|
|
@@ -220,8 +220,8 @@ declare const ExtensionNamespace: _$_makaio_core0.BusNamespaceDefinition<"kernel
|
|
|
220
220
|
displayName: z.ZodString;
|
|
221
221
|
state: z.ZodEnum<{
|
|
222
222
|
failed: "failed";
|
|
223
|
-
stopped: "stopped";
|
|
224
223
|
active: "active";
|
|
224
|
+
stopped: "stopped";
|
|
225
225
|
discovered: "discovered";
|
|
226
226
|
skipped: "skipped";
|
|
227
227
|
initializing: "initializing";
|
|
@@ -593,16 +593,16 @@ declare const ExtensionSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fla
|
|
|
593
593
|
displayName: z.ZodString;
|
|
594
594
|
from: z.ZodEnum<{
|
|
595
595
|
failed: "failed";
|
|
596
|
-
stopped: "stopped";
|
|
597
596
|
active: "active";
|
|
597
|
+
stopped: "stopped";
|
|
598
598
|
discovered: "discovered";
|
|
599
599
|
skipped: "skipped";
|
|
600
600
|
initializing: "initializing";
|
|
601
601
|
}>;
|
|
602
602
|
to: z.ZodEnum<{
|
|
603
603
|
failed: "failed";
|
|
604
|
-
stopped: "stopped";
|
|
605
604
|
active: "active";
|
|
605
|
+
stopped: "stopped";
|
|
606
606
|
discovered: "discovered";
|
|
607
607
|
skipped: "skipped";
|
|
608
608
|
initializing: "initializing";
|
|
@@ -636,8 +636,8 @@ declare const ExtensionSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fla
|
|
|
636
636
|
displayName: z.ZodString;
|
|
637
637
|
state: z.ZodEnum<{
|
|
638
638
|
failed: "failed";
|
|
639
|
-
stopped: "stopped";
|
|
640
639
|
active: "active";
|
|
640
|
+
stopped: "stopped";
|
|
641
641
|
discovered: "discovered";
|
|
642
642
|
skipped: "skipped";
|
|
643
643
|
initializing: "initializing";
|
|
@@ -674,8 +674,8 @@ declare const ExtensionSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fla
|
|
|
674
674
|
displayName: z.ZodString;
|
|
675
675
|
state: z.ZodEnum<{
|
|
676
676
|
failed: "failed";
|
|
677
|
-
stopped: "stopped";
|
|
678
677
|
active: "active";
|
|
678
|
+
stopped: "stopped";
|
|
679
679
|
discovered: "discovered";
|
|
680
680
|
skipped: "skipped";
|
|
681
681
|
initializing: "initializing";
|
|
@@ -48,9 +48,9 @@ declare const MaterializationSchemas: {
|
|
|
48
48
|
template: z.ZodString;
|
|
49
49
|
}, z.core.$strip>], "kind">;
|
|
50
50
|
appliesTo: z.ZodArray<z.ZodEnum<{
|
|
51
|
+
artifact: "artifact";
|
|
51
52
|
surface: "surface";
|
|
52
53
|
workpiece: "workpiece";
|
|
53
|
-
artifact: "artifact";
|
|
54
54
|
}>>;
|
|
55
55
|
valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
56
56
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -88,9 +88,9 @@ declare const MaterializationSchemas: {
|
|
|
88
88
|
template: z.ZodString;
|
|
89
89
|
}, z.core.$strip>], "kind">;
|
|
90
90
|
appliesTo: z.ZodArray<z.ZodEnum<{
|
|
91
|
+
artifact: "artifact";
|
|
91
92
|
surface: "surface";
|
|
92
93
|
workpiece: "workpiece";
|
|
93
|
-
artifact: "artifact";
|
|
94
94
|
}>>;
|
|
95
95
|
valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
96
96
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -153,9 +153,9 @@ declare const MaterializationNamespace: _$_makaio_core0.BusNamespaceDefinition<"
|
|
|
153
153
|
template: z.ZodString;
|
|
154
154
|
}, z.core.$strip>], "kind">;
|
|
155
155
|
appliesTo: z.ZodArray<z.ZodEnum<{
|
|
156
|
+
artifact: "artifact";
|
|
156
157
|
surface: "surface";
|
|
157
158
|
workpiece: "workpiece";
|
|
158
|
-
artifact: "artifact";
|
|
159
159
|
}>>;
|
|
160
160
|
valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
161
161
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -193,9 +193,9 @@ declare const MaterializationNamespace: _$_makaio_core0.BusNamespaceDefinition<"
|
|
|
193
193
|
template: z.ZodString;
|
|
194
194
|
}, z.core.$strip>], "kind">;
|
|
195
195
|
appliesTo: z.ZodArray<z.ZodEnum<{
|
|
196
|
+
artifact: "artifact";
|
|
196
197
|
surface: "surface";
|
|
197
198
|
workpiece: "workpiece";
|
|
198
|
-
artifact: "artifact";
|
|
199
199
|
}>>;
|
|
200
200
|
valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
201
201
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -268,9 +268,9 @@ declare const MaterializationSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
|
|
|
268
268
|
template: z.ZodString;
|
|
269
269
|
}, z.core.$strip>], "kind">;
|
|
270
270
|
appliesTo: z.ZodArray<z.ZodEnum<{
|
|
271
|
+
artifact: "artifact";
|
|
271
272
|
surface: "surface";
|
|
272
273
|
workpiece: "workpiece";
|
|
273
|
-
artifact: "artifact";
|
|
274
274
|
}>>;
|
|
275
275
|
valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
276
276
|
description: z.ZodOptional<z.ZodString>;
|
|
@@ -308,9 +308,9 @@ declare const MaterializationSubjects: _$_makaio_core0.BusSubjects<_$_makaio_cor
|
|
|
308
308
|
template: z.ZodString;
|
|
309
309
|
}, z.core.$strip>], "kind">;
|
|
310
310
|
appliesTo: z.ZodArray<z.ZodEnum<{
|
|
311
|
+
artifact: "artifact";
|
|
311
312
|
surface: "surface";
|
|
312
313
|
workpiece: "workpiece";
|
|
313
|
-
artifact: "artifact";
|
|
314
314
|
}>>;
|
|
315
315
|
valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
316
316
|
description: z.ZodOptional<z.ZodString>;
|