@makaio/framework 1.0.0-dev-1781260968078 → 1.0.0-dev-1781354548379

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/adapter-UpcpZDOv.mjs +1 -0
  3. package/dist/adapters/config/index.d.mts +1 -1
  4. package/dist/adapters/index.d.mts +11 -3
  5. package/dist/adapters/index.mjs +1 -1
  6. package/dist/bus/index.mjs +1 -1
  7. package/dist/clients/index.d.mts +4 -7
  8. package/dist/clients/index.mjs +1 -1
  9. package/dist/contracts/adapter/index.d.mts +2 -2
  10. package/dist/contracts/adapter/index.mjs +1 -1
  11. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  12. package/dist/contracts/artifact/index.d.mts +1 -1
  13. package/dist/contracts/client/index.d.mts +1 -1
  14. package/dist/contracts/extension/index.d.mts +2 -2
  15. package/dist/contracts/facet/index.d.mts +1 -1
  16. package/dist/contracts/index.d.mts +219 -54
  17. package/dist/contracts/index.mjs +1 -1
  18. package/dist/contracts/materialization/index.d.mts +3 -3
  19. package/dist/contracts/session/index.d.mts +3 -3
  20. package/dist/contracts/session/index.mjs +1 -1
  21. package/dist/{definition-SiimP25_.d.mts → definition-DqJOg6Lv.d.mts} +1 -1
  22. package/dist/drizzle/0015_m_mqbh8q5b.sql +1 -0
  23. package/dist/drizzle/0016_m_mqbmq8h7.sql +1 -0
  24. package/dist/drizzle/0017_m_mqbnf924.sql +1 -0
  25. package/dist/drizzle/meta/0015_snapshot.json +2966 -0
  26. package/dist/drizzle/meta/0016_snapshot.json +2973 -0
  27. package/dist/drizzle/meta/0017_snapshot.json +2980 -0
  28. package/dist/drizzle/meta/_journal.json +21 -0
  29. package/dist/{handler-DSfSAlxx.mjs → handler-DqpiV9eA.mjs} +1 -1
  30. package/dist/handlers-BAB4fQNH.mjs +41 -0
  31. package/dist/{index-B2xbnMZe.d.mts → index-BCKRUuI2.d.mts} +1 -1
  32. package/dist/{index-CARxIllg.d.mts → index-BHAOu6Hs.d.mts} +20 -20
  33. package/dist/{index-Cb64d5c5.d.mts → index-BHzgDuRE.d.mts} +20 -3
  34. package/dist/{index-BtztOqaF.d.mts → index-BheaEhyI.d.mts} +6 -6
  35. package/dist/{index-CZ_TcT6J.d.mts → index-Bibt5jAX.d.mts} +8 -8
  36. package/dist/{index-D5CI1V5d.d.mts → index-C3zfJg6s.d.mts} +16 -16
  37. package/dist/{index-DTdqGAfH2.d.mts → index-CH5U3zSA2.d.mts} +1 -1
  38. package/dist/{index-CgjslA5-.d.mts → index-CTn_Xi-p.d.mts} +4 -4
  39. package/dist/{index-DDQkhhRo.d.mts → index-DPIdX6kb.d.mts} +363 -123
  40. package/dist/{index-BQiHs8EF.d.mts → index-Da4ABgRq.d.mts} +12 -12
  41. package/dist/{index-BvSyOgTY.d.mts → index-DrGLAuZc.d.mts} +98 -29
  42. package/dist/{index-BKKNWqkP2.d.mts → index-zgm2j9V92.d.mts} +44 -2
  43. package/dist/kernel/extension/index.d.mts +1 -1
  44. package/dist/kernel/index.d.mts +2 -2
  45. package/dist/kernel/observability/index.d.mts +1 -1
  46. package/dist/mcp-http-server/index.d.mts +132 -19
  47. package/dist/mcp-http-server/index.mjs +1 -1
  48. package/dist/{namespace-D1Iw_d1P.d.mts → namespace--s0d86h-.d.mts} +144 -0
  49. package/dist/{namespace-7tsuJhQ9.d.mts → namespace-Boe6l5n9.d.mts} +78 -42
  50. package/dist/{namespace-Ba4bxtHQ.d.mts → namespace-BxxBhcV_.d.mts} +9 -9
  51. package/dist/{namespace-DwE2g8Wm.mjs → namespace-Dfq6MDN9.mjs} +1 -1
  52. package/dist/{namespace-DDCjoQUj.d.mts → namespace-aJJfBJU5.d.mts} +170 -0
  53. package/dist/{orchestrator-shared-Dt4WDse7.mjs → orchestrator-shared-BKFXaKPL.mjs} +1 -1
  54. package/dist/{package-BSnp1zOR.d.mts → package--RZnpN2J.d.mts} +2 -3
  55. package/dist/package-BzJvtM5O.mjs +1 -0
  56. package/dist/package-DzN_jdqd.mjs +1 -0
  57. package/dist/package.json +1 -1
  58. package/dist/primitive-runtime-CNC_bSac.mjs +1 -0
  59. package/dist/runtime-node/bus/runtime/namespace.d.mts +8 -8
  60. package/dist/runtime-node/bus/runtime/schemas.d.mts +11 -4
  61. package/dist/runtime-node/bus/runtime/schemas.mjs +1 -1
  62. package/dist/runtime-node/index.d.mts +19 -1
  63. package/dist/runtime-node/index.mjs +1 -1
  64. package/dist/{schema-BerZmr2q.mjs → schema-C3TgjrsV.mjs} +1 -1
  65. package/dist/{schema-BrnYlDwZ.mjs → schema-CzhOc7TV.mjs} +1 -1
  66. package/dist/{schema-BNrM9LWb.d.mts → schema-DGMLvVoQ.d.mts} +23 -3
  67. package/dist/schemas-CuKayWhA.mjs +1 -0
  68. package/dist/{schemas-DAFYpgHk2.d.mts → schemas-kVcJMjjn2.d.mts} +8 -8
  69. package/dist/{schemas-CkOSG2eJ.d.mts → schemas-t1VR6_b_.d.mts} +3 -3
  70. package/dist/services/filesystem/namespace.d.mts +6 -6
  71. package/dist/services/filesystem/schemas.d.mts +3 -3
  72. package/dist/services/git/namespace.d.mts +2 -2
  73. package/dist/services/git/schemas.d.mts +2 -2
  74. package/dist/services/harness/index.d.mts +3 -4
  75. package/dist/services/harness/index.mjs +1 -1
  76. package/dist/services/index.d.mts +112 -15
  77. package/dist/services/index.mjs +1 -1
  78. package/dist/services/log-import/browser.d.mts +2 -2
  79. package/dist/services/log-import/index.d.mts +4 -5
  80. package/dist/services/log-import/index.mjs +1 -1
  81. package/dist/services/log-import/log-import.d.mts +1 -1
  82. package/dist/services/log-import/namespace.d.mts +2 -2
  83. package/dist/services/log-import/schemas.d.mts +1 -1
  84. package/dist/services/provider-context/index.mjs +1 -1
  85. package/dist/services/session/handlers/index.mjs +1 -1
  86. package/dist/services/session/index.d.mts +6 -6
  87. package/dist/services/session/index.mjs +1 -1
  88. package/dist/services/session/messages/namespace.mjs +1 -1
  89. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  90. package/dist/services/session/session-events/namespace.d.mts +1 -1
  91. package/dist/services/session/session-events/namespace.mjs +1 -1
  92. package/dist/services/session/storage/namespace.d.mts +1 -1
  93. package/dist/services/session/storage/schema.d.mts +1 -1
  94. package/dist/services/session/storage/schema.mjs +1 -1
  95. package/dist/services/session/testing/index.mjs +5 -3
  96. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  97. package/dist/services/session/turns/namespace.d.mts +1 -1
  98. package/dist/services/session/turns/namespace.mjs +1 -1
  99. package/dist/services/settings/index.mjs +1 -1
  100. package/dist/services/settings/namespace.d.mts +8 -8
  101. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  102. package/dist/services/settings/storage/index.mjs +1 -1
  103. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  104. package/dist/services/subagent/index.d.mts +1 -1
  105. package/dist/services/subagent/index.mjs +1 -1
  106. package/dist/services/subagent-template/index.d.mts +1 -1
  107. package/dist/services/subagent-template/schemas.d.mts +1 -1
  108. package/dist/services/tool-approval/index.mjs +1 -1
  109. package/dist/services/tools/index.mjs +1 -1
  110. package/dist/services/turn/index.d.mts +1 -1
  111. package/dist/services/turn/namespace.d.mts +1 -1
  112. package/dist/services/turn/schemas.d.mts +72 -0
  113. package/dist/services/turn/schemas.mjs +1 -1
  114. package/dist/{session-C1Cami7U.mjs → session-BwX5_k47.mjs} +1 -1
  115. package/dist/session-P4nX60Xx.mjs +39 -0
  116. package/dist/{session-lineage-CXzV_hAP.d.mts → session-lineage-CKg6mErA.d.mts} +1 -1
  117. package/dist/storage/drizzle/index.d.mts +1 -1
  118. package/dist/storage/drizzle/index.mjs +1 -1
  119. package/dist/{tool-approval-service-Cb2F1yT6.mjs → tool-approval-service-DNHV5x0M.mjs} +1 -1
  120. package/dist/{tools-D5DVHC-R.mjs → tools-CQImrHAp.mjs} +1 -1
  121. package/dist/{types-DLVitCZP.d.mts → types-BpuLMR2m.d.mts} +626 -443
  122. package/dist/{types-D5IMwOkJ.d.mts → types-D0fPFh-D.d.mts} +1 -1
  123. package/dist/{types-BMpIa4fx.d.mts → types-D6jnDjP2.d.mts} +18 -5
  124. package/dist/ui-components/index.d.mts +36 -37
  125. package/dist/ui-views/index.d.mts +2 -2
  126. package/dist/workflow-engine/index.d.mts +58 -25
  127. package/dist/workflow-engine/index.mjs +1 -1
  128. package/dist/workflow-engine/package.d.mts +1 -1
  129. package/dist/workflow-engine/package.mjs +1 -1
  130. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  131. package/package.json +10 -1
  132. package/dist/adapter-Dt2FDMs4.mjs +0 -1
  133. package/dist/handlers-C8EtpSqK.mjs +0 -41
  134. package/dist/package-Be2Ez4vv.mjs +0 -1
  135. package/dist/package-OE9dMQsq.mjs +0 -1
  136. package/dist/primitive-runtime-Xrc9xh6p.mjs +0 -1
  137. package/dist/schemas-CSUwpaNm.mjs +0 -1
  138. package/dist/session-KnewDVxt.mjs +0 -39
  139. /package/dist/{provider-context-lfG0BpqX.mjs → provider-context-wp4VSJFI.mjs} +0 -0
  140. /package/dist/{shared-schemas-CKe2uN4-.mjs → shared-schemas-DYL7a-No.mjs} +0 -0
@@ -118,4 +118,4 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,`$1$2`).replace(/\
118
118
  `,e)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(e){let t=e.items[e.items.length-1];switch(this.type){case`newline`:if(this.onKeyLine=!1,t.value){let n=`end`in t.value?t.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type===`comment`?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`space`:case`comment`:if(t.value)e.items.push({start:[this.sourceToken]});else if(t.sep)t.sep.push(this.sourceToken);else{if(this.atIndentedComment(t.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){u(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return}if(this.indent>=e.indent){let n=!this.onKeyLine&&this.indent===e.indent,r=n&&(t.sep||t.explicitKey)&&this.type!==`seq-item-ind`,i=[];if(r&&t.sep&&!t.value){let n=[];for(let r=0;r<t.sep.length;++r){let i=t.sep[r];switch(i.type){case`newline`:n.push(r);break;case`space`:break;case`comment`:i.indent>e.indent&&(n.length=0);break;default:n.length=0}}n.length>=2&&(i=t.sep.splice(n[1]))}switch(this.type){case`anchor`:case`tag`:r||t.value?(i.push(this.sourceToken),e.items.push({start:i}),this.onKeyLine=!0):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`explicit-key-ind`:!t.sep&&!t.explicitKey?(t.start.push(this.sourceToken),t.explicitKey=!0):r||t.value?(i.push(this.sourceToken),e.items.push({start:i,explicitKey:!0})):this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case`map-value-ind`:if(t.explicitKey)if(!t.sep)if(a(t.start,`newline`))Object.assign(t,{key:null,sep:[this.sourceToken]});else{let e=l(t.start);this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:e,key:null,sep:[this.sourceToken]}]})}else if(t.value)e.items.push({start:[],key:null,sep:[this.sourceToken]});else if(a(t.sep,`map-value-ind`))this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:i,key:null,sep:[this.sourceToken]}]});else if(s(t.key)&&!a(t.sep,`newline`)){let e=l(t.start),n=t.key,r=t.sep;r.push(this.sourceToken),delete t.key,delete t.sep,this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:e,key:n,sep:r}]})}else i.length>0?t.sep=t.sep.concat(i,this.sourceToken):t.sep.push(this.sourceToken);else t.sep?t.value||r?e.items.push({start:i,key:null,sep:[this.sourceToken]}):a(t.sep,`map-value-ind`)?this.stack.push({type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:{let n=this.flowScalar(this.type);r||t.value?(e.items.push({start:i,key:n,sep:[]}),this.onKeyLine=!0):t.sep?this.stack.push(n):(Object.assign(t,{key:n,sep:[]}),this.onKeyLine=!0);return}default:{let r=this.startBlockValue(e);if(r){if(r.type===`block-seq`){if(!t.explicitKey&&t.sep&&!a(t.sep,`newline`)){yield*this.pop({type:`error`,offset:this.offset,message:`Unexpected block-seq-ind on same line with key`,source:this.source});return}}else n&&e.items.push({start:i});this.stack.push(r);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(e){let t=e.items[e.items.length-1];switch(this.type){case`newline`:if(t.value){let n=`end`in t.value?t.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type===`comment`?n?.push(this.sourceToken):e.items.push({start:[this.sourceToken]})}else t.start.push(this.sourceToken);return;case`space`:case`comment`:if(t.value)e.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(t.start,e.indent)){let n=e.items[e.items.length-2]?.value?.end;if(Array.isArray(n)){u(n,t.start),n.push(this.sourceToken),e.items.pop();return}}t.start.push(this.sourceToken)}return;case`anchor`:case`tag`:if(t.value||this.indent<=e.indent)break;t.start.push(this.sourceToken);return;case`seq-item-ind`:if(this.indent!==e.indent)break;t.value||a(t.start,`seq-item-ind`)?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return}if(this.indent>e.indent){let t=this.startBlockValue(e);if(t){this.stack.push(t);return}}yield*this.pop(),yield*this.step()}*flowCollection(e){let t=e.items[e.items.length-1];if(this.type===`flow-error-end`){let e;do yield*this.pop(),e=this.peek(1);while(e?.type===`flow-collection`)}else if(e.end.length===0){switch(this.type){case`comma`:case`explicit-key-ind`:!t||t.sep?e.items.push({start:[this.sourceToken]}):t.start.push(this.sourceToken);return;case`map-value-ind`:!t||t.value?e.items.push({start:[],key:null,sep:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):Object.assign(t,{key:null,sep:[this.sourceToken]});return;case`space`:case`comment`:case`newline`:case`anchor`:case`tag`:!t||t.value?e.items.push({start:[this.sourceToken]}):t.sep?t.sep.push(this.sourceToken):t.start.push(this.sourceToken);return;case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:{let n=this.flowScalar(this.type);!t||t.value?e.items.push({start:[],key:n,sep:[]}):t.sep?this.stack.push(n):Object.assign(t,{key:n,sep:[]});return}case`flow-map-end`:case`flow-seq-end`:e.end.push(this.sourceToken);return}let n=this.startBlockValue(e);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let t=this.peek(2);if(t.type===`block-map`&&(this.type===`map-value-ind`&&t.indent===e.indent||this.type===`newline`&&!t.items[t.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type===`map-value-ind`&&t.type!==`flow-collection`){let n=l(c(t));d(e);let r=e.end.splice(1,e.end.length);r.push(this.sourceToken);let i={type:`block-map`,offset:e.offset,indent:e.indent,items:[{start:n,key:e,sep:r}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=i}else yield*this.lineEnd(e)}}flowScalar(e){if(this.onNewLine){let e=this.source.indexOf(`
119
119
  `)+1;for(;e!==0;)this.onNewLine(this.offset+e),e=this.source.indexOf(`
120
120
  `,e)+1}return{type:e,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(e){switch(this.type){case`alias`:case`scalar`:case`single-quoted-scalar`:case`double-quoted-scalar`:return this.flowScalar(this.type);case`block-scalar-header`:return{type:`block-scalar`,offset:this.offset,indent:this.indent,props:[this.sourceToken],source:``};case`flow-map-start`:case`flow-seq-start`:return{type:`flow-collection`,offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case`seq-item-ind`:return{type:`block-seq`,offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case`explicit-key-ind`:{this.onKeyLine=!0;let t=l(c(e));return t.push(this.sourceToken),{type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:t,explicitKey:!0}]}}case`map-value-ind`:{this.onKeyLine=!0;let t=l(c(e));return{type:`block-map`,offset:this.offset,indent:this.indent,items:[{start:t,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(e,t){return this.type!==`comment`||this.indent<=t?!1:e.every(e=>e.type===`newline`||e.type===`space`)}*documentEnd(e){this.type!==`doc-mode`&&(e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type===`newline`&&(yield*this.pop()))}*lineEnd(e){switch(this.type){case`comma`:case`doc-start`:case`doc-end`:case`flow-seq-end`:case`flow-map-end`:case`map-value-ind`:yield*this.pop(),yield*this.step();break;case`newline`:this.onKeyLine=!1;default:e.end?e.end.push(this.sourceToken):e.end=[this.sourceToken],this.type===`newline`&&(yield*this.pop())}}}})),Go=n((e=>{var t=Lo(),n=bo(),r=xo(),i=Ya(),a=K(),o=Uo(),s=Wo();function c(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new o.LineCounter||null,prettyErrors:t}}function l(e,n={}){let{lineCounter:i,prettyErrors:a}=c(n),o=new s.Parser(i?.addNewLine),l=new t.Composer(n),u=Array.from(l.compose(o.parse(e)));if(a&&i)for(let t of u)t.errors.forEach(r.prettifyError(e,i)),t.warnings.forEach(r.prettifyError(e,i));return u.length>0?u:Object.assign([],{empty:!0},l.streamInfo())}function u(e,n={}){let{lineCounter:i,prettyErrors:a}=c(n),o=new s.Parser(i?.addNewLine),l=new t.Composer(n),u=null;for(let t of l.compose(o.parse(e),!0,e.length))if(!u)u=t;else if(u.options.logLevel!==`silent`){u.errors.push(new r.YAMLParseError(t.range.slice(0,2),`MULTIPLE_DOCS`,`Source contains multiple documents; please use YAML.parseAllDocuments()`));break}return a&&i&&(u.errors.forEach(r.prettifyError(e,i)),u.warnings.forEach(r.prettifyError(e,i))),u}function d(e,t,n){let r;typeof t==`function`?r=t:n===void 0&&t&&typeof t==`object`&&(n=t);let a=u(e,n);if(!a)return null;if(a.warnings.forEach(e=>i.warn(a.options.logLevel,e)),a.errors.length>0){if(a.options.logLevel!==`silent`)throw a.errors[0];a.errors=[]}return a.toJS(Object.assign({reviver:r},n))}function f(e,t,r){let i=null;if(typeof t==`function`||Array.isArray(t)?i=t:r===void 0&&t&&(r=t),typeof r==`string`&&(r=r.length),typeof r==`number`){let e=Math.round(r);r=e<1?void 0:e>8?{indent:8}:{indent:e}}if(e===void 0){let{keepUndefined:e}=r??t??{};if(!e)return}return a.isDocument(e)&&!i?e.toString(r):new n.Document(e,i,r).toString(r)}e.parse=d,e.parseAllDocuments=l,e.parseDocument=u,e.stringify=f})),Ko=n((e=>{var t=Lo(),n=bo(),r=vo(),i=xo(),a=Va(),o=K(),s=Y(),c=J(),l=X(),u=Q();Vo();var d=Ho(),f=Uo(),p=Wo(),m=Go(),h=Ia();e.Composer=t.Composer,e.Document=n.Document,e.Schema=r.Schema,e.YAMLError=i.YAMLError,e.YAMLParseError=i.YAMLParseError,e.YAMLWarning=i.YAMLWarning,e.Alias=a.Alias,e.isAlias=o.isAlias,e.isCollection=o.isCollection,e.isDocument=o.isDocument,e.isMap=o.isMap,e.isNode=o.isNode,e.isPair=o.isPair,e.isScalar=o.isScalar,e.isSeq=o.isSeq,e.Pair=s.Pair,e.Scalar=c.Scalar,e.YAMLMap=l.YAMLMap,e.YAMLSeq=u.YAMLSeq,e.Lexer=d.Lexer,e.LineCounter=f.LineCounter,e.Parser=p.Parser,e.parse=m.parse,e.parseAllDocuments=m.parseAllDocuments,e.parseDocument=m.parseDocument,e.stringify=m.stringify,e.visit=h.visit,e.visitAsync=h.visitAsync}))();function qo(e){return e instanceof Error&&`code`in e&&typeof e.code==`string`}function Jo(e){return qo(e)&&e.code===`ENOENT`}function Yo(e){return qo(e)&&e.code===`ENOTDIR`}function Xo(e){return e instanceof Error?e.message:String(e)}async function Zo(e){try{return(await P.promises.readdir(e)).filter(e=>e.endsWith(`.yaml`)).sort().map(t=>j.join(e,t))}catch(t){if(Jo(t))return[];throw Yo(t)?Error(`Invalid model registry directory ${e}: expected a directory.`,{cause:t}):t}}var Qo=class{seedPaths;constructor(e){this.seedPaths=Array.isArray(e)?e:[e]}async fetch(){for(let e of this.seedPaths){let t=await $o(e);if(t!==void 0)try{return It.parse((0,Ko.parse)(t))}catch(t){throw Error(`Invalid bundled model registry seed at ${e}: ${Xo(t)}`,{cause:t})}}throw Error(`Bundled model registry seed not found. Tried:\n${this.seedPaths.map(e=>`- ${e}`).join(`
121
- `)}`)}};async function $o(e){try{return await P.promises.readFile(e,`utf-8`)}catch(t){if(es(t))return;throw Error(`Failed to read bundled model registry seed at ${e}: ${Xo(t)}`,{cause:t})}}function es(e){return Jo(e)||Yo(e)}var ts=class{url;timeoutMs;constructor(e,t=1e4){let n=e.trim();if(!n)throw Error(`CdnRegistryFetcher requires a non-empty registry URL`);let r;try{r=new URL(n)}catch(e){throw Error(`CdnRegistryFetcher requires a valid registry URL: ${n}`,{cause:e})}if(r.protocol!==`http:`&&r.protocol!==`https:`)throw Error(`CdnRegistryFetcher requires an HTTP(S) registry URL: ${n}`);if(!Number.isFinite(t)||t<=0)throw Error(`CdnRegistryFetcher requires a positive finite timeoutMs, got ${t}`);this.url=r.toString(),this.timeoutMs=t}async fetch(){let e=new AbortController,t=setTimeout(()=>e.abort(),this.timeoutMs);try{let t=await fetch(this.url,{signal:e.signal});if(!t.ok)throw Error(`Failed to fetch model registry: ${t.status} ${t.statusText}`);let n=(0,Ko.parse)(await t.text());return It.parse(n)}catch(e){throw e instanceof Error&&e.name===`AbortError`?Error(`Failed to fetch model registry: timed out after ${this.timeoutMs}ms`,{cause:e}):e}finally{clearTimeout(t)}}},ns=class{cachePath;trackFetchedAt;constructor(e,t={}){this.cachePath=e,this.trackFetchedAt=t.trackFetchedAt??!1}async get(){try{let e=await P.promises.readFile(this.cachePath,`utf-8`),t=rs(JSON.parse(e)),n=It.safeParse(t);return n.success?n.data:null}catch{return null}}async set(e){try{await P.promises.mkdir(j.dirname(this.cachePath),{recursive:!0});let t=this.trackFetchedAt?{fetchedAt:new Date().toISOString(),registry:e}:e;await P.promises.writeFile(this.cachePath,JSON.stringify(t,null,2),`utf-8`)}catch(e){console.warn(`[FileRegistryCache] Failed to write cache:`,e)}}};function rs(e){return mt(e)&&`registry`in e&&`fetchedAt`in e?e.registry:e}const is=O.object({name:O.string().optional(),models:O.array(L)}),as=O.object({name:O.string().optional(),models:O.record(O.string(),Rt)}),os=O.object({$schema:O.literal(`makaio/model-registry/v2`).optional(),updatedAt:O.string().datetime().optional(),labs:O.record(O.string(),is).optional(),providers:O.record(O.string(),as).optional()}),ss=O.object({name:O.string().optional(),models:O.array(O.record(O.string(),O.unknown()))}),cs=O.object({name:O.string().optional(),models:O.record(O.string(),Rt)});var ls=class{userModelsDir;constructor(e){this.userModelsDir=e}async fetch(){let e=us();return await Promise.all([this.loadLabDirectory(j.join(this.userModelsDir,`labs`),e),this.loadProviderDirectory(j.join(this.userModelsDir,`providers`),e)]),await this.loadFlatFiles(e),e}async loadLabDirectory(e,t){let n=await Zo(e),r=await Promise.all(n.map(async e=>({labId:j.basename(e,`.yaml`),lab:await vs(e,j.basename(e,`.yaml`))})));for(let{labId:e,lab:n}of r)Cs(t,e,n)}async loadProviderDirectory(e,t){let n=await Zo(e),r=await Promise.all(n.map(async e=>({providerId:j.basename(e,`.yaml`),provider:await ys(e)})));for(let{providerId:e,provider:n}of r)ws(t,e,n)}async loadFlatFiles(e){let t=await Zo(this.userModelsDir);for(let n of t){let t=j.basename(n,`.yaml`),r=(0,Ko.parse)(await P.promises.readFile(n,`utf-8`));if(!mt(r))throw Error(`Invalid model registry overlay YAML in ${n}: expected a YAML object.`);if(`labs`in r||`providers`in r){Ss(e,os.parse(r));continue}if(Array.isArray(r.models)){Cs(e,t,bs(r,t));continue}if(mt(r.models)){ws(e,t,xs(r));continue}throw Error(`Unrecognized model registry overlay shape in ${n}: expected labs, providers, or models.`)}}};function us(){return{labs:{},providers:{}}}function ds(e,t){return{$schema:`makaio/model-registry/v2`,updatedAt:t.updatedAt??e.updatedAt,labs:Ts(fs(e.labs,t.labs)),providers:Es(hs(e.providers,t.providers))}}function fs(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:{...t,...r,models:ps(t.models,r.models)}}return n}function ps(e,t){let n=[...e],r=new Map(e.map((e,t)=>[e.name,t]));for(let e of t){let t=r.get(e.name);if(t===void 0){r.set(e.name,n.length),n.push(e);continue}n[t]=ms(n[t],e)}return n}function ms(e,t){let n={...e,...t},r=zt(e.metadata,t.metadata);return r===void 0?delete n.metadata:n.metadata=r,n}function hs(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:{...t,...r,models:gs(t.models,r.models)}}return n}function gs(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:_s(t,r)}return n}function _s(e,t){let n={...e,...t},r=zt(e.metadata,t.metadata);return r===void 0?delete n.metadata:n.metadata=r,n}async function vs(e,t){return bs((0,Ko.parse)(await P.promises.readFile(e,`utf-8`)),t)}async function ys(e){return xs((0,Ko.parse)(await P.promises.readFile(e,`utf-8`)))}function bs(e,t){let n=ss.parse(e);return{...n.name===void 0?{}:{name:n.name},models:n.models.map(e=>L.parse({...e,labId:t}))}}function xs(e){let t=cs.parse(e);return{...t.name===void 0?{}:{name:t.name},models:t.models}}function Ss(e,t){e.updatedAt=t.updatedAt??e.updatedAt,t.labs!==void 0&&(e.labs=fs(e.labs,t.labs)),t.providers!==void 0&&(e.providers=hs(e.providers,t.providers))}function Cs(e,t,n){e.labs=fs(e.labs,{[t]:n})}function ws(e,t,n){e.providers=hs(e.providers,{[t]:n})}function Ts(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,name:t.name??e}]))}function Es(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,name:t.name??e}]))}var Ds=class{userModelsDir;baseFetcher;constructor(e,t){this.userModelsDir=e,this.baseFetcher=t}async fetch(){let e=await this.baseFetcher.fetch();if(await this.validateDirectory(this.userModelsDir),await this.validateDirectory(`${this.userModelsDir}/labs`),await this.validateDirectory(`${this.userModelsDir}/providers`),!await this.hasAnyOverlayFiles())return e;let t=ds(e,await new ls(this.userModelsDir).fetch());return It.parse(t)}async validateDirectory(e){await Zo(e)}async hasAnyOverlayFiles(){let e,t;try{let n=await A.readdir(this.userModelsDir,{withFileTypes:!0});e=n.map(e=>String(e.name)),t=new Map(n.map(e=>[String(e.name),[e.isFile(),e.isDirectory()]]))}catch(e){if(Jo(e))return!1;throw e}return e.some(e=>{let[n,r]=t.get(e)??[!1,!1];return n&&e.endsWith(`.yaml`)||r&&(e===`labs`||e===`providers`)})}},Os=class extends Error{constructor(e){super(`[boot] Could not find workspace root (no package.json with 'workspaces' field) starting from: ${e}`),this.name=`WorkspaceRootNotFoundError`}};function ks(e){return As(e).root}function As(e){let t=j.resolve(e);for(;;){let n=j.join(t,`package.json`);if(P.existsSync(n))try{let e=P.readFileSync(n,`utf-8`),r=JSON.parse(e);if(typeof r==`object`&&r&&`workspaces`in r)return{root:t,packageJsonPath:n,workspaces:Vt(r)}}catch{}let r=j.dirname(t);if(r===t)throw new Os(e);t=r}}const js=`MAKAIO_MODEL_REGISTRY_SOURCES`;function Ms(e){let t=j.join(e.makaioHome,`models`),n=j.join(e.makaioHome,`cache`,`model-registry`);return new Ds(t,new Pt(Ns(e).map(e=>Is(e,n))))}function Ns(e){let t=Fs(e.srcDir,e.cwd),n=t.slice(0,-1),r=t.slice(n.length);return zs([...Ps(e.env??process.env),...e.seedPaths??[],...n,e.cdnRegistryUrl??`https://makaio-ai.github.io/makaio-framework/model-registry.yaml`,...e.fallbackSeedPaths??[],...r])}function Ps(e){let t=e[js]?.trim();if(!t)return[];let n;try{n=t.startsWith(`[`)?JSON.parse(t):t}catch(e){throw Error(`[boot] ${js} must be a JSON string array or a single source string`,{cause:e})}let r=Array.isArray(n)?n:[n];if(!r.every(e=>typeof e==`string`))throw Error(`[boot] ${js} entries must be strings`);return r.map(e=>e.trim()).filter(e=>e.length>0)}function Fs(e,t=process.cwd()){let n=j.resolve(e,`static/model-registry.yaml`),r=j.resolve(t,`static/model-registry.yaml`);try{return zs([r,j.resolve(ks(e),`static/model-registry.yaml`),n])}catch(e){if(e instanceof Os)return zs([r,n]);throw e}}function Is(e,t){let n=Rs(e);return n?.protocol===`http:`||n?.protocol===`https:`?new Nt(new ts(n.href),new ns(j.join(t,`${Vs(n.href)}.json`),{trackFetchedAt:!0})):new Qo(Ls(e,n))}function Ls(e,t){if(t?.protocol===`file:`)return ce(t);if(t!==void 0)throw Error(`[boot] Unsupported model registry source protocol "${t.protocol}" for ${e}`);return j.isAbsolute(e)?e:j.resolve(e)}function Rs(e){try{return new URL(e)}catch{return}}function zs(e){let t=new Set,n=[];for(let r of e){let e=Bs(r);t.has(e)||(t.add(e),n.push(r))}return n}function Bs(e){let t=Rs(e);return t?.protocol===`file:`?`file:${j.resolve(ce(t))}`:t===void 0?`file:${j.resolve(e)}`:`${t.protocol}//${t.host}${t.pathname}${t.search}`}function Vs(e){return N(`sha256`).update(e).digest(`hex`).slice(0,16)}async function Hs(e){let t=j.resolve(e.frameworkPackagePath);await Us(t);let n=j.join(e.makaioHome,`node_modules`,`@makaio`),r=j.join(n,`framework`);await A.mkdir(n,{recursive:!0}),!await Ws(r,t)&&(await A.rm(r,{recursive:!0,force:!0}),await A.symlink(t,r,process.platform===`win32`?`junction`:`dir`))}async function Us(e){let t=j.join(e,`package.json`),n=await A.readFile(t,`utf-8`);if(JSON.parse(n).name!==`@makaio/framework`)throw Error(`Expected @makaio/framework package at ${e}`)}async function Ws(e,t){try{return(await A.lstat(e)).isSymbolicLink()?await A.realpath(e)===await A.realpath(t):!1}catch(e){if(Gs(e))return!1;throw e}}function Gs(e){return typeof e==`object`&&!!e&&`code`in e&&e.code===`ENOENT`}function Ks(e,t){e.push(...qs(t))}function qs(e){return e===void 0?[]:typeof e==`function`?[e]:[...e]}function Js(e,t=[]){let n=new Set([e]),r=new Set,i=new Map;for(let e of t)typeof e==`string`?n.add(e):(r.add(e.id),e.version!==void 0&&i.set(e.id,e.version));return{hosts:n,capabilities:r,...i.size>0?{capabilityVersions:i}:{}}}function Ys(e=[]){return e.some(e=>typeof e==`string`&&e===`node`)?e:[`node`,...e]}function Xs(e){return At(Mt(Zs(e.packages,e.configProvider),e.surface,e.runtimeEnvironment))}function Zs(e,t){return t?e.filter(e=>t.loadEnabled(e.name)!==!1):e}function Qs(e,t){return e.filter(e=>e.runtimeOwnership?.[t]===!0).map(e=>e.name)}function $s(e,t){let n=Qs(e,t);if(n.length>1)throw Error(`Multiple extensions own runtimeOwnership.${t}: ${n.join(`, `)}`)}function ec(e){return e===!0||($s(e,`sessionOrchestrator`),Qs(e,`sessionOrchestrator`).length===0)?ln:ln.filter(e=>e.name!==$t.name)}function tc(e,t,n){let r=[];try{for(let i of e){let e=i.runtimeBoot;e&&Ks(r,e.configure({bus:t,registerContributionProcessor:e=>{r.push(n.registerContributionProcessor(e))},forEachActiveExtension:e=>{n.forEachActiveExtension(e)}}))}}catch(e){let t=[];for(let e of[...r].reverse())try{e()}catch(e){t.push(e)}throw t.length>0?AggregateError([e,...t],`Extension boot contribution failed and rollback cleanup reported additional errors`,{cause:e}):e}return r}function nc(){let e=process.env.MAKAIO_SKIP_EXTENSIONS;if(!e)return new Set;let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return new Set(t)}function rc(e,t){let n=t.endsWith(`/`)?t:`${t}/`,r=bn({root:e,rewriteRequestPath:e=>e.slice(n.length-1)});return e=>{e.use(`${t}/*`,r)}}function ic(e){return`/extensions/${e}/browser`}function ac(e,t){return`extensions/${e}/browser/${sc(t)}`}function oc(e,t){return`/${ac(e,t)}.js`}function sc(e){let t=e.replaceAll(M.win32.sep,M.posix.sep),n=M.posix.basename(t),r=M.posix.extname(n);return r?n.slice(0,-r.length):n}function cc(e,t,n={}){let{createMount:r=rc}=n,i=new Map(e.map(e=>[e.descriptor.name,e]));return t.map(e=>{let t=i.get(e.name);if(!t?.descriptor.entrypoints?.browser)return e;if(e.browser)return console.warn(`[extensions] ${e.name}: server entry already declares browser, skipping browser bridge`),e;if(e.http)return console.warn(`[extensions] ${e.name}: server entry already declares http, skipping browser bridge`),e;let n=t.descriptor.entrypoints.browser,a=S(`browser`,n),o=b(`browser`,n,t.extensionPath);if(!o)return console.warn(`[extensions] ${e.name}: browser entry has no resolvable candidate within extension directory, skipping bridge`),e;let s=j.dirname(o),c=ic(e.name),l=oc(e.name,a);return{...e,browser:{entrypoint:l},http:{prefix:c,mount:r(s,c)}}})}function lc(e,t={}){let{createMount:n=rc,frameworkVersion:r}=t,i=[],a=new Map;for(let t of e){let{descriptor:e,extensionPath:o}=t;if(r!==void 0&&!x(t,r)||e.execution===`detached`||e.entrypoints.server||!e.entrypoints.browser)continue;let s=e.entrypoints.browser,c=S(`browser`,s),l=b(`browser`,s,o);if(!l){console.warn(`[extensions] ${e.name}: browser entry has no resolvable candidate within extension directory, skipping synthesis`);continue}let u=j.dirname(l),d=ic(e.name),f=oc(e.name,c);i.push({...v(e),browser:{entrypoint:f},http:{prefix:d,mount:n(u,d)}}),e.config?.defaults&&a.set(e.name,e.config.defaults)}return{packages:i,configDefaults:a}}async function uc(){let e=j.dirname(ce(import.meta.url)),t=j.resolve(e,`..`,`package.json`),n=await A.readFile(t,`utf-8`),r=JSON.parse(n);if(typeof r!=`object`||!r||!(`version`in r)||typeof r.version!=`string`)throw Error(`[boot] package.json at ${t} has no string 'version' field`);return r.version}async function dc(e){let t={packages:[],configDefaults:new Map},n=[],r=e.frameworkVersion??await uc();try{if(n=await e.extensionOptions.extensions.discover(),n=fc(n,e.skipExtensions),process.env.MAKAIO_DEBUG){console.info(`[boot] Discovered %d extension descriptor(s):`,n.length);for(let e of n)console.info(`[boot] - %s (%s)`,e.descriptor.displayName??e.descriptor.name,e.source)}}catch(e){console.warn(`[boot] Extension discovery failed, skipping:`,e instanceof Error?e.message:e)}let i=n.filter(e=>x(e,r));if(i.length>0)try{t=await T(i,{frameworkVersion:r})}catch(e){console.warn(`[boot] Extension loading failed, skipping:`,e instanceof Error?e.message:e)}let a={...e.createMount?{createMount:e.createMount}:{},frameworkVersion:r},o=cc(i,t.packages,a),s=lc(i,a),c=await E(i,[...o,...s.packages],{frameworkVersion:r});return{discovered:n,extensionLoadResult:t,browserOnlyResult:s,extensionsWithCli:c,allExtensionPackages:c.packages}}function fc(e,t){if(t.size===0)return e;let n=new Set(e.map(e=>e.descriptor.name)),r=[...t].filter(e=>!n.has(e));r.length&&console.warn(`[boot] MAKAIO_SKIP_EXTENSIONS: no matching extension(s): %s`,r.join(`, `));let i=new Set([...t].filter(e=>n.has(e))),a=e.filter(e=>!i.has(e.descriptor.name));return a.length<e.length&&console.info(`[boot] MAKAIO_SKIP_EXTENSIONS filtered %d extension(s): %s`,e.length-a.length,[...i].join(`, `)),a}async function pc(e,t){let n=Je(e),r=n.dialect,i=new Set;for(let a of t){if(i.has(a.migrationSourceId))continue;i.add(a.migrationSourceId);let t=mc(a.migrationSourceId,n);process.env.MAKAIO_DEBUG===`true`&&console.info(`[boot] Running migrations for package: ${a.name}`);let o;try{o=Lr({migrationsDir:a.migrationsPathByDialect?.[r]??a.migrationsPath,migrationSourceId:a.migrationSourceId,expectedDialect:r})}catch(e){throw e instanceof Error&&e.name===`MigrationDialectMismatchError`?Error(`Extension '${a.name}' ships migrations that do not match the '${r}' database dialect. Disable this extension on '${r}' hosts or ship a migration chain generated for '${r}'.`,{cause:e}):e}await Kr(e,o,t)}}function mc(e,t){let n=N(`sha256`).update(e).digest(`hex`).slice(0,16);return t.migrations.extensionLedgerName(n)}function hc(e,t){return new xt({signingKeyPair:e.signingKeyPair,identityId:e.machineId,getPeerSigningKey:t})}const gc=Ee.fact.$meta.namespace,_c=Ee.fact.subject;function vc(e,t){if(t.transport!==void 0||t.localOnly===!0)return!1;let n=`${t.namespace}.${t.subject}`,r=e.getContext().namespaceRegistry;return!r.isLocalSubject(n)&&!r.isCollectorOnlySubject(n)}function yc(e){return e.type===`event`?{type:`event`,namespace:e.namespace,subject:e.subject,payload:e.payload,messageId:e.messageId,...e.correlationId===void 0?{}:{correlationId:e.correlationId}}:{type:e.type,namespace:e.namespace,subject:e.subject,payload:e.payload,messageId:e.messageId,correlationId:e.correlationId??e.messageId}}async function bc(e,t,n,r,i){let a=yc(i),o=ge({message:a,direction:`outbound`,observedAt:Date.now(),machineId:n,namespaceRegistry:t.getContext().namespaceRegistry,projectorRegistry:r.projectorRegistry});for(let t of o)await e.send({type:`event`,namespace:gc,subject:_c,payload:t,messageId:`${a.messageId}:telemetry:${t.factId}`,correlationId:a.correlationId})}async function xc(e,t,n){let r=n.transport;await r.connect();let i;try{i=e.observeMessages(i=>{vc(e,i)&&bc(r,e,t,n,i).catch(e=>{console.error(`[upstream-telemetry] Failed to export subject telemetry fact`,e)})})}catch(e){throw await r.disconnect().catch(()=>void 0),e}return{shutdown:async()=>{i(),await r.disconnect()}}}function Sc(e,t){let n=e===`0.0.0.0`?`127.0.0.1`:e===`::`?`::1`:e;return`ws://${n.includes(`:`)&&!n.startsWith(`[`)?`[${n}]`:n}:${t}/bus`}async function Cc(e,t,n,r){let o=r.makaioHome??g(),s=li(r,o),c=nc(),l=[];try{let u=new ci(new Jr(o),o),d=await u.getConfig({mode:`local`}),f=await u.getMachineId();console.info(`[boot] Config resolved (mode=%s)`,d.mode);let p=me;if(p.registerNamespaces(Ce),p.registerNamespaces(we),p.registerNamespaces([Tt,Jt,Dt,kt,i]),p.registerNamespaces(Qt),p.registerNamespaces(r.hostNamespaces??[]),process.env.MAKAIO_DEBUG===`true`){let e=p.__onAny(e=>{let t;try{t=JSON.stringify(e.payload)}catch{t=`[unserializable payload]`}console.debug(`[bus-server] subject: ${e.subject}, payload: ${t}`)});l.push(e)}if(r.upstreamTelemetry){let e=await xc(p,f,r.upstreamTelemetry);l.push(e.shutdown)}await p.emit(V.phase.busCreated,{machineId:f});let m=r.peerSigningKeyResolver;if(r.lanBind&&e.dispatchingAuth&&!m)throw Error(`[boot] peerSigningKeyResolver is required when lanBind is enabled`);await e.connect(p,f),l.push(()=>e.disconnect()),console.info(`[boot] Transport ready on %s:%d`,n,t);try{r.onTransportReady?.({port:t,host:n})}catch(e){console.warn(`[boot] onTransportReady callback failed:`,e)}let{databaseClient:h}=await _i({makaioHome:o,migrationsDir:r.centralMigrationsDir,database:r.database}),g=h.db;console.info(`[boot] Database initialized`),l.push(()=>h.close());let _=await Ut(j.join(o,`keys`)),v=[p.on(a.database,e=>{e.setResult({db:g})}),p.on(a.machineIdentity,e=>{e.setResult({identity:_})}),p.on(a.busPort,e=>{e.setResult({port:t})})],y=!1,b=p.on(V.isReady,e=>{e.setResult({ready:y,machineId:f})});l.push(()=>{y=!1,b();for(let e of v)e()}),await p.emit(V.phase.coreReady,{machineId:f}),console.info(`[boot] Core ready (machineId=%s)`,f);let x=j.dirname(ce(import.meta.url)),S=Fa(p,u);l.push(S),console.info(`[boot] Config handlers registered`),r.frameworkPackagePath&&(await Hs({makaioHome:o,frameworkPackagePath:r.frameworkPackagePath}),console.info(`[boot] Framework package linked for extension resolution`));let C=r.frameworkModuleResolver;if(C){try{await C.install()}catch(e){throw await Promise.resolve(C.uninstall()).catch(()=>void 0),e}l.push(()=>C.uninstall()),console.info(`[boot] Framework module resolver installed`)}let w={current:void 0},T=Ms({makaioHome:o,srcDir:x,fallbackSeedPaths:r.modelRegistryFallbackSeedPaths}),E=process.env.USER??process.env.USERNAME??`unknown`;try{E=ft.userInfo().username}catch{}let ee=r.frameworkVersion??await uc(),{extensionLoadResult:D,browserOnlyResult:O,extensionsWithCli:ae,allExtensionPackages:oe}=await dc({extensionOptions:s,skipExtensions:c,frameworkVersion:ee,createMount:r.createMount}),se=Js(process.platform,r.hostCapabilities),k=Xs({packages:oe,configProvider:r.extensionConfigProvider,surface:r.surface??`headless`,runtimeEnvironment:se}),A=Sc(n,t),M=new Et(p,{surface:r.surface??`headless`,db:g,extensionContextBase:{platform:process.platform,homedir:ft.homedir(),makaioHome:o,username:E,machineId:_.machineId,busUrl:A,tryImport:ni},runtimeEnvironment:se,launcherCommand:r.launcherCommand,loadConfig:r.extensionConfigProvider?e=>r.extensionConfigProvider.loadConfig(e):void 0,loadEnabled:r.extensionConfigProvider?e=>r.extensionConfigProvider.loadEnabled(e):void 0,runMigrations:e=>pc(g,e)}),le=new lr({providerConfigsDir:j.join(o,`provider-configs`),adaptersDir:j.join(o,`adapters`)}),N=[ya,gt({definitions:k.flatMap(e=>e.clients??[]),strategyDependencies:r.clientBinaryStrategyDependencies,postInstallHandlers:r.clientBinaryPostInstallHandlers})];r.enablePackageManager!==!1&&N.push(na({frameworkPeerRange:`^${ee}`,frameworkPackagePath:r.frameworkPackagePath,devPortalPackages:r.devPortalPackages}));let ue={cwd:process.cwd()},P=ne({busUrl:A,runtimeModuleDir:x,platformDefaults:ue,workflowRunner:r.workflowRunner,makaioHome:o,bus:p}),{adapterSubsystemPackage:F}=pr({coordinator:M,configRepository:le,platformDefaults:ue});if(N.push(F,...ec(k),fn(P),rn(T),dn),process.platform===`darwin`){let{platformMacOSPackage:e}=await import(`../src-DedDL9iv.mjs`);N.push(e)}let I=[...N,...k],de=new Set(I.map(e=>e.name)),fe=Na(Pa(D.configDefaults,O.configDefaults,ae.configDefaults,r.packageConfigDefaults??new Map),de);M.load(I,fe),M.registerContributionProcessor(un()),M.registerContributionProcessor(en()),M.registerContributionProcessor(tn()),M.registerContributionProcessor(nn()),M.registerContributionProcessor(an()),M.registerContributionProcessor(on()),M.registerContributionProcessor(cn()),M.registerContributionProcessor(sn()),r.routeGraphBuilder&&M.registerContributionProcessor(ra(r.routeGraphBuilder)),Ks(l,tc(I,p,M)),l.push(()=>M.shutdown()),Ks(l,r.configureCoordinator?.({bus:p,coordinator:M,registerContributionProcessor:e=>{M.registerContributionProcessor(e)},getAdapterSubsystemService:()=>M.getExtensionService(dr)})),await M.startAll(),await p.emit(V.phase.servicesReady,{machineId:f});let pe=M.list(),he=pe.filter(e=>e.state===`active`);if(console.info(`[boot] Extensions started: %d active`,he.length),process.env.MAKAIO_DEBUG){let e=pe.filter(e=>e.state===`failed`);for(let e of he)console.info(`[boot] ✓ %s (%s)`,e.displayName,e.name);for(let t of e)console.warn(`[boot] ✗ %s (%s): %s`,t.displayName,t.name,t.error??`unknown`)}w.current=M.getExtensionService(dr);let ge=new re({workerEntry:te({moduleDir:x,mode:j.basename(x)===`src`?`source`:`dist`}),manifest:{packages:[]}}),L=new ie({id:ve,displayName:`Local (Piscina)`,runner:ge});try{await Ae(p,L)}catch(e){throw await ge.dispose().catch(()=>void 0),e}l.push(async()=>{try{await Me(p,L.id)}finally{await ge.dispose().catch(()=>void 0)}}),console.info(`[boot] Piscina thin workflow provider registered (id=%s)`,L.id),l.push(Ma(p,()=>w.current?.getLoadedAdapters()??[],()=>w.current?.getAdapterInstances()??new Map,e=>M.getExtension(e)));let _e=mr({bus:p,currentMachineId:f});if(l.push(_e.cleanup),await p.broadcast(V.phase.coordinatorReady,{machineId:f}),r.lanBind&&e.dispatchingAuth&&m){let t=hc(_,m);e.dispatchingAuth.setE2EAuth(t),console.info(`[boot] E2E auth enabled (LAN mode, machineId=%s)`,f)}y=!0,await p.emit(V.ready,{machineId:f}),console.info(`[boot] Runtime ready (machineId=%s)`,f);let ye=jt([...l].reverse());return{port:t,host:n,machineId:f,bus:p,coordinator:M,trayEntries:M.trayEntries,windowRegistry:M.windowRegistry,shutdown:ye}}catch(e){console.error(`[boot] Startup failed — rolling back started resources`,e);for(let e of[...l].reverse())try{await e()}catch(e){console.warn(`[boot] Rollback step error:`,e)}throw e}}async function wc(e){let t=new si({httpServer:e.httpServer,auth:e.auth,loopbackName:e.loopbackName??`node`}),n=e.httpServer.address();if(typeof n!=`object`||!n)throw Error(`HTTP server is not bound to a TCP address`);return Cc(t,n.port,n.address,{...e,hostCapabilities:Ys(e.hostCapabilities),clientBinaryStrategyDependencies:e.clientBinaryStrategyDependencies??Ea()})}const Tc=`MAKAIO_UPSTREAM_URL`,Ec=`MAKAIO_UPSTREAM_SECRET`;function Dc(e){return new Ct({url:e.url,name:`upstream-telemetry-ws`,auth:e.secret===void 0?void 0:new St({secret:e.secret})})}function Oc(e={}){let t=e.env??process.env,n=Ac(t[Ec]),r=kc(t[Tc]);if(r===void 0){if(n!==void 0)throw Error(`${Ec} requires ${Tc}`);return}return{transport:(e.createTransport??Dc)({url:r,...n===void 0?{}:{secret:n}})}}function kc(e){let t=e?.trim();return t===void 0||t===``?void 0:t}function Ac(e){let t=e?.trim();return t===void 0||t===``?void 0:t}async function jc(e){return{...await u(e),hostCapabilities:[`node`]}}const Mc=se(ae);var Nc=class{async resolve(e){return gn(e,{resolveKeychain:this.resolveKeychain})}async resolveKeychain(e,t){try{let{stdout:n}=await Mc(`security`,[`find-generic-password`,`-s`,e,`-a`,t,`-w`]);return n.trim()||null}catch{return null}}},Pc=class{bus;fallbackProvider=new Nc;channelPromise;constructor(e){this.bus=e}async resolve(e){let t=rt(e);if(t){let{configId:e,key:n}=t;for(let t=0;t<2;t++)try{return(await(await this.getChannel()).request(Se.get,{configId:e})).credentials?.[n]??null}catch(e){if(e instanceof pe&&(this.channelPromise=void 0,t===0))continue;throw e}}return e.startsWith(`account-manager:`)?(console.warn(`[StoredCredentialProvider] account-manager: refs are account identifiers and cannot be resolved to credentials. The associated adapter should authenticate via its native credential store.`),null):e.startsWith(`stored:`)?(console.warn(`[StoredCredentialProvider] Unresolvable credential ref "${e}". Only the "stored:providerConfig:" format is supported. Re-save the credential using the current format.`),null):this.fallbackProvider.resolve(e)}getChannel(){return this.channelPromise??=this.openCredentialChannel().catch(e=>{throw this.channelPromise=void 0,e}),this.channelPromise}async openCredentialChannel(){let{token:e}=await this.bus.request(Se.getChannelToken,{});return he(this.bus.getContext(),`credentials`,{token:e,transports:[]})}};const Fc=[`default`,`import`,`require`];var Ic=class{frameworkDistPath=``;install(){}uninstall(){}},Lc=class{frameworkDistPath;hooks;installPromise;installToken;constructor(e){this.frameworkDistPath=e}async install(){if(this.hooks)return;if(this.installPromise)return this.installPromise;let e={};this.installToken=e;let t=this.installWithToken(e);this.installPromise=t;try{await t}finally{this.installPromise===t&&(this.installPromise=void 0)}}async installWithToken(e){let{registerHooks:t}=await import(`node:module`);if(this.installToken!==e||this.hooks)return;let n=this.frameworkDistPath,r=zc(n);this.hooks=t({resolve(e,t,i){let a=Rc(n,e,r);return a?{shortCircuit:!0,url:k(a).href}:i(e,t)}})}uninstall(){this.installToken=void 0,this.installPromise=void 0,this.hooks?.deregister(),this.hooks=void 0}};function Rc(e,t,n){if(!t.startsWith(`@makaio/framework/`))return;let r=t.slice(18),i=r.split(`/`);if(i.length===0||i.some(e=>e.length===0||e===`.`||e===`..`||e.includes(`\\`)))return;let a=Vc((n??zc(e))[`./${r}`]);if(!a)return;let o=Hc(a);if(!o)return;let s=M.resolve(e,o);return Uc(s,e)?s:void 0}function zc(e){let t=M.join(e,`..`,`package.json`);return Bc(JSON.parse(de(t,`utf-8`)).exports)}function Bc(e){if(typeof e!=`object`||!e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e))if(n.startsWith(`.`)){if(typeof r==`string`){t[n]=r;continue}typeof r==`object`&&r&&!Array.isArray(r)&&(t[n]=r)}return t}function Vc(e){if(typeof e==`string`)return e;if(e)for(let t of Fc){let n=e[t];if(typeof n==`string`)return n}}function Hc(e){let t=e.split(`\\`).join(`/`);if(t.startsWith(`./dist/`))return t.slice(7)}function Uc(e,t){let n=M.relative(t,e);return n===``||!n.startsWith(`..`)&&!M.isAbsolute(n)}export{si as BusServerTransportProvider,o as ExplicitDescriptorDiscovery,Jr as FileConfigStorage,ns as FileRegistryCache,s as FilesystemDescriptorDiscovery,ee as InProcessWorkflowRunner,c as MAKAIO_CONFIG_FILE_ENV,l as MAKAIO_HOME_ENV,Ec as MAKAIO_UPSTREAM_SECRET_ENV,Tc as MAKAIO_UPSTREAM_URL_ENV,Nc as NodeCredentialProvider,Lc as NodeFrameworkModuleResolver,Ic as NoopFrameworkModuleResolver,a as RuntimeSubjects,Pc as StoredCredentialProvider,re as ThinWorkflowPiscinaRunner,Os as WorkspaceRootNotFoundError,mr as activateAdapterRuntimeIdentity,xc as attachUpstreamTelemetry,wc as bootMakaioRuntime,Cc as bootMakaioRuntimeCore,cc as bridgeExtensionBrowserEntries,u as buildConfiguredRuntimeOptions,ac as buildExtensionBrowserRollupInputName,oc as buildExtensionBrowserRuntimeEntrypoint,jc as buildNodeRuntimeOptions,Qr as createHonoRouteGraph,ei as createHttpRouteGraphBuilder,d as createMakaioConfigDiscovery,Dc as createUpstreamTelemetryTransport,f as defineMakaioConfig,S as entrypointStem,ks as findWorkspaceRoot,As as findWorkspaceRootInfo,_i as initializeNodeDatabase,w as isCliContributionLike,y as isMakaioExtensionLike,ti as isMissingOptionalRuntimePackage,C as isWithinDirectory,T as loadExtensions,p as loadMakaioConfig,Ht as loadOrCreateMachineIdentity,Wt as machineKeysExist,Ys as normalizeNodeHostCapabilities,m as parseMakaioConfig,pr as prepareAdapterRuntime,uc as readFrameworkVersion,xn as registerAdapterNameResolver,di as resolveBundledMigrationsDir,b as resolveConventionEntrypoint,Rc as resolveFrameworkSpecifier,Zr as resolveListeningPort,h as resolveMakaioConfigPath,g as resolveMakaioHome,Yr as resolveStaticModelRegistryPath,Oc as resolveUpstreamTelemetryBootOptionsFromEnv,te as resolveWorkflowWorkerEntry,qr as runMigrations,ec as selectFrameworkCorePackages,_ as shouldIncludeExtension,ni as tryImport,Gt as validateMachineKeys,Xr as waitForServerListening};
121
+ `)}`)}};async function $o(e){try{return await P.promises.readFile(e,`utf-8`)}catch(t){if(es(t))return;throw Error(`Failed to read bundled model registry seed at ${e}: ${Xo(t)}`,{cause:t})}}function es(e){return Jo(e)||Yo(e)}var ts=class{url;timeoutMs;constructor(e,t=1e4){let n=e.trim();if(!n)throw Error(`CdnRegistryFetcher requires a non-empty registry URL`);let r;try{r=new URL(n)}catch(e){throw Error(`CdnRegistryFetcher requires a valid registry URL: ${n}`,{cause:e})}if(r.protocol!==`http:`&&r.protocol!==`https:`)throw Error(`CdnRegistryFetcher requires an HTTP(S) registry URL: ${n}`);if(!Number.isFinite(t)||t<=0)throw Error(`CdnRegistryFetcher requires a positive finite timeoutMs, got ${t}`);this.url=r.toString(),this.timeoutMs=t}async fetch(){let e=new AbortController,t=setTimeout(()=>e.abort(),this.timeoutMs);try{let t=await fetch(this.url,{signal:e.signal});if(!t.ok)throw Error(`Failed to fetch model registry: ${t.status} ${t.statusText}`);let n=(0,Ko.parse)(await t.text());return It.parse(n)}catch(e){throw e instanceof Error&&e.name===`AbortError`?Error(`Failed to fetch model registry: timed out after ${this.timeoutMs}ms`,{cause:e}):e}finally{clearTimeout(t)}}},ns=class{cachePath;trackFetchedAt;constructor(e,t={}){this.cachePath=e,this.trackFetchedAt=t.trackFetchedAt??!1}async get(){try{let e=await P.promises.readFile(this.cachePath,`utf-8`),t=rs(JSON.parse(e)),n=It.safeParse(t);return n.success?n.data:null}catch{return null}}async set(e){try{await P.promises.mkdir(j.dirname(this.cachePath),{recursive:!0});let t=this.trackFetchedAt?{fetchedAt:new Date().toISOString(),registry:e}:e;await P.promises.writeFile(this.cachePath,JSON.stringify(t,null,2),`utf-8`)}catch(e){console.warn(`[FileRegistryCache] Failed to write cache:`,e)}}};function rs(e){return mt(e)&&`registry`in e&&`fetchedAt`in e?e.registry:e}const is=O.object({name:O.string().optional(),models:O.array(L)}),as=O.object({name:O.string().optional(),models:O.record(O.string(),Rt)}),os=O.object({$schema:O.literal(`makaio/model-registry/v2`).optional(),updatedAt:O.string().datetime().optional(),labs:O.record(O.string(),is).optional(),providers:O.record(O.string(),as).optional()}),ss=O.object({name:O.string().optional(),models:O.array(O.record(O.string(),O.unknown()))}),cs=O.object({name:O.string().optional(),models:O.record(O.string(),Rt)});var ls=class{userModelsDir;constructor(e){this.userModelsDir=e}async fetch(){let e=us();return await Promise.all([this.loadLabDirectory(j.join(this.userModelsDir,`labs`),e),this.loadProviderDirectory(j.join(this.userModelsDir,`providers`),e)]),await this.loadFlatFiles(e),e}async loadLabDirectory(e,t){let n=await Zo(e),r=await Promise.all(n.map(async e=>({labId:j.basename(e,`.yaml`),lab:await vs(e,j.basename(e,`.yaml`))})));for(let{labId:e,lab:n}of r)Cs(t,e,n)}async loadProviderDirectory(e,t){let n=await Zo(e),r=await Promise.all(n.map(async e=>({providerId:j.basename(e,`.yaml`),provider:await ys(e)})));for(let{providerId:e,provider:n}of r)ws(t,e,n)}async loadFlatFiles(e){let t=await Zo(this.userModelsDir);for(let n of t){let t=j.basename(n,`.yaml`),r=(0,Ko.parse)(await P.promises.readFile(n,`utf-8`));if(!mt(r))throw Error(`Invalid model registry overlay YAML in ${n}: expected a YAML object.`);if(`labs`in r||`providers`in r){Ss(e,os.parse(r));continue}if(Array.isArray(r.models)){Cs(e,t,bs(r,t));continue}if(mt(r.models)){ws(e,t,xs(r));continue}throw Error(`Unrecognized model registry overlay shape in ${n}: expected labs, providers, or models.`)}}};function us(){return{labs:{},providers:{}}}function ds(e,t){return{$schema:`makaio/model-registry/v2`,updatedAt:t.updatedAt??e.updatedAt,labs:Ts(fs(e.labs,t.labs)),providers:Es(hs(e.providers,t.providers))}}function fs(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:{...t,...r,models:ps(t.models,r.models)}}return n}function ps(e,t){let n=[...e],r=new Map(e.map((e,t)=>[e.name,t]));for(let e of t){let t=r.get(e.name);if(t===void 0){r.set(e.name,n.length),n.push(e);continue}n[t]=ms(n[t],e)}return n}function ms(e,t){let n={...e,...t},r=zt(e.metadata,t.metadata);return r===void 0?delete n.metadata:n.metadata=r,n}function hs(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:{...t,...r,models:gs(t.models,r.models)}}return n}function gs(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t=n[e];n[e]=t===void 0?r:_s(t,r)}return n}function _s(e,t){let n={...e,...t},r=zt(e.metadata,t.metadata);return r===void 0?delete n.metadata:n.metadata=r,n}async function vs(e,t){return bs((0,Ko.parse)(await P.promises.readFile(e,`utf-8`)),t)}async function ys(e){return xs((0,Ko.parse)(await P.promises.readFile(e,`utf-8`)))}function bs(e,t){let n=ss.parse(e);return{...n.name===void 0?{}:{name:n.name},models:n.models.map(e=>L.parse({...e,labId:t}))}}function xs(e){let t=cs.parse(e);return{...t.name===void 0?{}:{name:t.name},models:t.models}}function Ss(e,t){e.updatedAt=t.updatedAt??e.updatedAt,t.labs!==void 0&&(e.labs=fs(e.labs,t.labs)),t.providers!==void 0&&(e.providers=hs(e.providers,t.providers))}function Cs(e,t,n){e.labs=fs(e.labs,{[t]:n})}function ws(e,t,n){e.providers=hs(e.providers,{[t]:n})}function Ts(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,name:t.name??e}]))}function Es(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,{...t,name:t.name??e}]))}var Ds=class{userModelsDir;baseFetcher;constructor(e,t){this.userModelsDir=e,this.baseFetcher=t}async fetch(){let e=await this.baseFetcher.fetch();if(await this.validateDirectory(this.userModelsDir),await this.validateDirectory(`${this.userModelsDir}/labs`),await this.validateDirectory(`${this.userModelsDir}/providers`),!await this.hasAnyOverlayFiles())return e;let t=ds(e,await new ls(this.userModelsDir).fetch());return It.parse(t)}async validateDirectory(e){await Zo(e)}async hasAnyOverlayFiles(){let e,t;try{let n=await A.readdir(this.userModelsDir,{withFileTypes:!0});e=n.map(e=>String(e.name)),t=new Map(n.map(e=>[String(e.name),[e.isFile(),e.isDirectory()]]))}catch(e){if(Jo(e))return!1;throw e}return e.some(e=>{let[n,r]=t.get(e)??[!1,!1];return n&&e.endsWith(`.yaml`)||r&&(e===`labs`||e===`providers`)})}},Os=class extends Error{constructor(e){super(`[boot] Could not find workspace root (no package.json with 'workspaces' field) starting from: ${e}`),this.name=`WorkspaceRootNotFoundError`}};function ks(e){return As(e).root}function As(e){let t=j.resolve(e);for(;;){let n=j.join(t,`package.json`);if(P.existsSync(n))try{let e=P.readFileSync(n,`utf-8`),r=JSON.parse(e);if(typeof r==`object`&&r&&`workspaces`in r)return{root:t,packageJsonPath:n,workspaces:Vt(r)}}catch{}let r=j.dirname(t);if(r===t)throw new Os(e);t=r}}const js=`MAKAIO_MODEL_REGISTRY_SOURCES`;function Ms(e){let t=j.join(e.makaioHome,`models`),n=j.join(e.makaioHome,`cache`,`model-registry`);return new Ds(t,new Pt(Ns(e).map(e=>Is(e,n))))}function Ns(e){let t=Fs(e.srcDir,e.cwd),n=t.slice(0,-1),r=t.slice(n.length);return zs([...Ps(e.env??process.env),...e.seedPaths??[],...n,e.cdnRegistryUrl??`https://makaio-ai.github.io/makaio-framework/model-registry.yaml`,...e.fallbackSeedPaths??[],...r])}function Ps(e){let t=e[js]?.trim();if(!t)return[];let n;try{n=t.startsWith(`[`)?JSON.parse(t):t}catch(e){throw Error(`[boot] ${js} must be a JSON string array or a single source string`,{cause:e})}let r=Array.isArray(n)?n:[n];if(!r.every(e=>typeof e==`string`))throw Error(`[boot] ${js} entries must be strings`);return r.map(e=>e.trim()).filter(e=>e.length>0)}function Fs(e,t=process.cwd()){let n=j.resolve(e,`static/model-registry.yaml`),r=j.resolve(t,`static/model-registry.yaml`);try{return zs([r,j.resolve(ks(e),`static/model-registry.yaml`),n])}catch(e){if(e instanceof Os)return zs([r,n]);throw e}}function Is(e,t){let n=Rs(e);return n?.protocol===`http:`||n?.protocol===`https:`?new Nt(new ts(n.href),new ns(j.join(t,`${Vs(n.href)}.json`),{trackFetchedAt:!0})):new Qo(Ls(e,n))}function Ls(e,t){if(t?.protocol===`file:`)return ce(t);if(t!==void 0)throw Error(`[boot] Unsupported model registry source protocol "${t.protocol}" for ${e}`);return j.isAbsolute(e)?e:j.resolve(e)}function Rs(e){try{return new URL(e)}catch{return}}function zs(e){let t=new Set,n=[];for(let r of e){let e=Bs(r);t.has(e)||(t.add(e),n.push(r))}return n}function Bs(e){let t=Rs(e);return t?.protocol===`file:`?`file:${j.resolve(ce(t))}`:t===void 0?`file:${j.resolve(e)}`:`${t.protocol}//${t.host}${t.pathname}${t.search}`}function Vs(e){return N(`sha256`).update(e).digest(`hex`).slice(0,16)}async function Hs(e){let t=j.resolve(e.frameworkPackagePath);await Us(t);let n=j.join(e.makaioHome,`node_modules`,`@makaio`),r=j.join(n,`framework`);await A.mkdir(n,{recursive:!0}),!await Ws(r,t)&&(await A.rm(r,{recursive:!0,force:!0}),await A.symlink(t,r,process.platform===`win32`?`junction`:`dir`))}async function Us(e){let t=j.join(e,`package.json`),n=await A.readFile(t,`utf-8`);if(JSON.parse(n).name!==`@makaio/framework`)throw Error(`Expected @makaio/framework package at ${e}`)}async function Ws(e,t){try{return(await A.lstat(e)).isSymbolicLink()?await A.realpath(e)===await A.realpath(t):!1}catch(e){if(Gs(e))return!1;throw e}}function Gs(e){return typeof e==`object`&&!!e&&`code`in e&&e.code===`ENOENT`}function Ks(e,t){e.push(...qs(t))}function qs(e){return e===void 0?[]:typeof e==`function`?[e]:[...e]}function Js(e,t=[]){let n=new Set([e]),r=new Set,i=new Map;for(let e of t)typeof e==`string`?n.add(e):(r.add(e.id),e.version!==void 0&&i.set(e.id,e.version));return{hosts:n,capabilities:r,...i.size>0?{capabilityVersions:i}:{}}}function Ys(e=[]){return e.some(e=>typeof e==`string`&&e===`node`)?e:[`node`,...e]}function Xs(e){return At(Mt(Zs(e.packages,e.configProvider),e.surface,e.runtimeEnvironment))}function Zs(e,t){return t?e.filter(e=>t.loadEnabled(e.name)!==!1):e}function Qs(e,t){return e.filter(e=>e.runtimeOwnership?.[t]===!0).map(e=>e.name)}function $s(e,t){let n=Qs(e,t);if(n.length>1)throw Error(`Multiple extensions own runtimeOwnership.${t}: ${n.join(`, `)}`)}function ec(e){return e===!0||($s(e,`sessionOrchestrator`),Qs(e,`sessionOrchestrator`).length===0)?ln:ln.filter(e=>e.name!==$t.name)}function tc(e,t,n){let r=[];try{for(let i of e){let e=i.runtimeBoot;e&&Ks(r,e.configure({bus:t,registerContributionProcessor:e=>{r.push(n.registerContributionProcessor(e))},forEachActiveExtension:e=>{n.forEachActiveExtension(e)}}))}}catch(e){let t=[];for(let e of[...r].reverse())try{e()}catch(e){t.push(e)}throw t.length>0?AggregateError([e,...t],`Extension boot contribution failed and rollback cleanup reported additional errors`,{cause:e}):e}return r}function nc(){let e=process.env.MAKAIO_SKIP_EXTENSIONS;if(!e)return new Set;let t=e.split(`,`).map(e=>e.trim()).filter(Boolean);return new Set(t)}function rc(e,t){let n=t.endsWith(`/`)?t:`${t}/`,r=bn({root:e,rewriteRequestPath:e=>e.slice(n.length-1)});return e=>{e.use(`${t}/*`,r)}}function ic(e){return`/extensions/${e}/browser`}function ac(e,t){return`extensions/${e}/browser/${sc(t)}`}function oc(e,t){return`/${ac(e,t)}.js`}function sc(e){let t=e.replaceAll(M.win32.sep,M.posix.sep),n=M.posix.basename(t),r=M.posix.extname(n);return r?n.slice(0,-r.length):n}function cc(e,t,n={}){let{createMount:r=rc}=n,i=new Map(e.map(e=>[e.descriptor.name,e]));return t.map(e=>{let t=i.get(e.name);if(!t?.descriptor.entrypoints?.browser)return e;if(e.browser)return console.warn(`[extensions] ${e.name}: server entry already declares browser, skipping browser bridge`),e;if(e.http)return console.warn(`[extensions] ${e.name}: server entry already declares http, skipping browser bridge`),e;let n=t.descriptor.entrypoints.browser,a=S(`browser`,n),o=b(`browser`,n,t.extensionPath);if(!o)return console.warn(`[extensions] ${e.name}: browser entry has no resolvable candidate within extension directory, skipping bridge`),e;let s=j.dirname(o),c=ic(e.name),l=oc(e.name,a);return{...e,browser:{entrypoint:l},http:{prefix:c,mount:r(s,c)}}})}function lc(e,t={}){let{createMount:n=rc,frameworkVersion:r}=t,i=[],a=new Map;for(let t of e){let{descriptor:e,extensionPath:o}=t;if(r!==void 0&&!x(t,r)||e.execution===`detached`||e.entrypoints.server||!e.entrypoints.browser)continue;let s=e.entrypoints.browser,c=S(`browser`,s),l=b(`browser`,s,o);if(!l){console.warn(`[extensions] ${e.name}: browser entry has no resolvable candidate within extension directory, skipping synthesis`);continue}let u=j.dirname(l),d=ic(e.name),f=oc(e.name,c);i.push({...v(e),browser:{entrypoint:f},http:{prefix:d,mount:n(u,d)}}),e.config?.defaults&&a.set(e.name,e.config.defaults)}return{packages:i,configDefaults:a}}async function uc(){let e=j.dirname(ce(import.meta.url)),t=j.resolve(e,`..`,`package.json`),n=await A.readFile(t,`utf-8`),r=JSON.parse(n);if(typeof r!=`object`||!r||!(`version`in r)||typeof r.version!=`string`)throw Error(`[boot] package.json at ${t} has no string 'version' field`);return r.version}async function dc(e){let t={packages:[],configDefaults:new Map},n=[],r=e.frameworkVersion??await uc();try{if(n=await e.extensionOptions.extensions.discover(),n=fc(n,e.skipExtensions),process.env.MAKAIO_DEBUG){console.info(`[boot] Discovered %d extension descriptor(s):`,n.length);for(let e of n)console.info(`[boot] - %s (%s)`,e.descriptor.displayName??e.descriptor.name,e.source)}}catch(e){console.warn(`[boot] Extension discovery failed, skipping:`,e instanceof Error?e.message:e)}let i=n.filter(e=>x(e,r));if(i.length>0)try{t=await T(i,{frameworkVersion:r})}catch(e){console.warn(`[boot] Extension loading failed, skipping:`,e instanceof Error?e.message:e)}let a={...e.createMount?{createMount:e.createMount}:{},frameworkVersion:r},o=cc(i,t.packages,a),s=lc(i,a),c=await E(i,[...o,...s.packages],{frameworkVersion:r});return{discovered:n,extensionLoadResult:t,browserOnlyResult:s,extensionsWithCli:c,allExtensionPackages:c.packages}}function fc(e,t){if(t.size===0)return e;let n=new Set(e.map(e=>e.descriptor.name)),r=[...t].filter(e=>!n.has(e));r.length&&console.warn(`[boot] MAKAIO_SKIP_EXTENSIONS: no matching extension(s): %s`,r.join(`, `));let i=new Set([...t].filter(e=>n.has(e))),a=e.filter(e=>!i.has(e.descriptor.name));return a.length<e.length&&console.info(`[boot] MAKAIO_SKIP_EXTENSIONS filtered %d extension(s): %s`,e.length-a.length,[...i].join(`, `)),a}async function pc(e,t){let n=Je(e),r=n.dialect,i=new Set;for(let a of t){if(i.has(a.migrationSourceId))continue;i.add(a.migrationSourceId);let t=mc(a.migrationSourceId,n);process.env.MAKAIO_DEBUG===`true`&&console.info(`[boot] Running migrations for package: ${a.name}`);let o;try{o=Lr({migrationsDir:a.migrationsPathByDialect?.[r]??a.migrationsPath,migrationSourceId:a.migrationSourceId,expectedDialect:r})}catch(e){throw e instanceof Error&&e.name===`MigrationDialectMismatchError`?Error(`Extension '${a.name}' ships migrations that do not match the '${r}' database dialect. Disable this extension on '${r}' hosts or ship a migration chain generated for '${r}'.`,{cause:e}):e}await Kr(e,o,t)}}function mc(e,t){let n=N(`sha256`).update(e).digest(`hex`).slice(0,16);return t.migrations.extensionLedgerName(n)}function hc(e,t){return new xt({signingKeyPair:e.signingKeyPair,identityId:e.machineId,getPeerSigningKey:t})}const gc=Ee.fact.$meta.namespace,_c=Ee.fact.subject;function vc(e,t){if(t.transport!==void 0||t.localOnly===!0)return!1;let n=`${t.namespace}.${t.subject}`,r=e.getContext().namespaceRegistry;return!r.isLocalSubject(n)&&!r.isCollectorOnlySubject(n)}function yc(e){return e.type===`event`?{type:`event`,namespace:e.namespace,subject:e.subject,payload:e.payload,messageId:e.messageId,...e.correlationId===void 0?{}:{correlationId:e.correlationId}}:{type:e.type,namespace:e.namespace,subject:e.subject,payload:e.payload,messageId:e.messageId,correlationId:e.correlationId??e.messageId}}async function bc(e,t,n,r,i){let a=yc(i),o=ge({message:a,direction:`outbound`,observedAt:Date.now(),machineId:n,namespaceRegistry:t.getContext().namespaceRegistry,projectorRegistry:r.projectorRegistry});for(let t of o)await e.send({type:`event`,namespace:gc,subject:_c,payload:t,messageId:`${a.messageId}:telemetry:${t.factId}`,correlationId:a.correlationId})}async function xc(e,t,n){let r=n.transport;await r.connect();let i;try{i=e.observeMessages(i=>{vc(e,i)&&bc(r,e,t,n,i).catch(e=>{console.error(`[upstream-telemetry] Failed to export subject telemetry fact`,e)})})}catch(e){throw await r.disconnect().catch(()=>void 0),e}return{shutdown:async()=>{i(),await r.disconnect()}}}function Sc(e,t){let n=e===`0.0.0.0`?`127.0.0.1`:e===`::`?`::1`:e;return`ws://${n.includes(`:`)&&!n.startsWith(`[`)?`[${n}]`:n}:${t}/bus`}async function Cc(e,t,n,r){let o=r.makaioHome??g(),s=li(r,o),c=nc(),l=[];try{let u=new ci(new Jr(o),o),d=await u.getConfig({mode:`local`}),f=await u.getMachineId();console.info(`[boot] Config resolved (mode=%s)`,d.mode);let p=me;if(p.registerNamespaces(Ce),p.registerNamespaces(we),p.registerNamespaces([Tt,Jt,Dt,kt,i]),p.registerNamespaces(Qt),p.registerNamespaces(r.hostNamespaces??[]),process.env.MAKAIO_DEBUG===`true`){let e=p.__onAny(e=>{let t;try{t=JSON.stringify(e.payload)}catch{t=`[unserializable payload]`}console.debug(`[bus-server] subject: ${e.subject}, payload: ${t}`)});l.push(e)}if(r.upstreamTelemetry){let e=await xc(p,f,r.upstreamTelemetry);l.push(e.shutdown)}await p.emit(V.phase.busCreated,{machineId:f});let m=r.peerSigningKeyResolver;if(r.lanBind&&e.dispatchingAuth&&!m)throw Error(`[boot] peerSigningKeyResolver is required when lanBind is enabled`);await e.connect(p,f),l.push(()=>e.disconnect()),console.info(`[boot] Transport ready on %s:%d`,n,t);try{r.onTransportReady?.({port:t,host:n})}catch(e){console.warn(`[boot] onTransportReady callback failed:`,e)}let{databaseClient:h}=await _i({makaioHome:o,migrationsDir:r.centralMigrationsDir,database:r.database}),g=h.db;console.info(`[boot] Database initialized`),l.push(()=>h.close());let _=await Ut(j.join(o,`keys`)),v=[p.on(a.database,e=>{e.setResult({db:g})}),p.on(a.machineIdentity,e=>{e.setResult({identity:_})}),p.on(a.busPort,e=>{e.setResult({port:t})})],y=!1,b=p.on(V.isReady,e=>{e.setResult({ready:y,machineId:f})});l.push(()=>{y=!1,b();for(let e of v)e()}),await p.emit(V.phase.coreReady,{machineId:f}),console.info(`[boot] Core ready (machineId=%s)`,f);let x=j.dirname(ce(import.meta.url)),S=Fa(p,u);l.push(S),console.info(`[boot] Config handlers registered`),r.frameworkPackagePath&&(await Hs({makaioHome:o,frameworkPackagePath:r.frameworkPackagePath}),console.info(`[boot] Framework package linked for extension resolution`));let C=r.frameworkModuleResolver;if(C){try{await C.install()}catch(e){throw await Promise.resolve(C.uninstall()).catch(()=>void 0),e}l.push(()=>C.uninstall()),console.info(`[boot] Framework module resolver installed`)}let w={current:void 0},T=Ms({makaioHome:o,srcDir:x,fallbackSeedPaths:r.modelRegistryFallbackSeedPaths}),E=process.env.USER??process.env.USERNAME??`unknown`;try{E=ft.userInfo().username}catch{}let ee=r.frameworkVersion??await uc(),{extensionLoadResult:D,browserOnlyResult:O,extensionsWithCli:ae,allExtensionPackages:oe}=await dc({extensionOptions:s,skipExtensions:c,frameworkVersion:ee,createMount:r.createMount}),se=Js(process.platform,r.hostCapabilities),k=Xs({packages:oe,configProvider:r.extensionConfigProvider,surface:r.surface??`headless`,runtimeEnvironment:se}),A=Sc(n,t),M=new Et(p,{surface:r.surface??`headless`,db:g,extensionContextBase:{platform:process.platform,homedir:ft.homedir(),makaioHome:o,username:E,machineId:_.machineId,busUrl:A,tryImport:ni},runtimeEnvironment:se,launcherCommand:r.launcherCommand,loadConfig:r.extensionConfigProvider?e=>r.extensionConfigProvider.loadConfig(e):void 0,loadEnabled:r.extensionConfigProvider?e=>r.extensionConfigProvider.loadEnabled(e):void 0,runMigrations:e=>pc(g,e)}),le=new lr({providerConfigsDir:j.join(o,`provider-configs`),adaptersDir:j.join(o,`adapters`)}),N=[ya,gt({definitions:k.flatMap(e=>e.clients??[]),strategyDependencies:r.clientBinaryStrategyDependencies,postInstallHandlers:r.clientBinaryPostInstallHandlers})];r.enablePackageManager!==!1&&N.push(na({frameworkPeerRange:`^${ee}`,frameworkPackagePath:r.frameworkPackagePath,devPortalPackages:r.devPortalPackages}));let ue={cwd:process.cwd()},P=ne({busUrl:A,runtimeModuleDir:x,platformDefaults:ue,workflowRunner:r.workflowRunner,makaioHome:o,bus:p}),{adapterSubsystemPackage:F}=pr({coordinator:M,configRepository:le,platformDefaults:ue});if(N.push(F,...ec(k),fn(P),rn(T),dn),process.platform===`darwin`){let{platformMacOSPackage:e}=await import(`../src-DedDL9iv.mjs`);N.push(e)}let I=[...N,...k],de=new Set(I.map(e=>e.name)),fe=Na(Pa(D.configDefaults,O.configDefaults,ae.configDefaults,r.packageConfigDefaults??new Map),de);M.load(I,fe),M.registerContributionProcessor(un()),M.registerContributionProcessor(en()),M.registerContributionProcessor(tn()),M.registerContributionProcessor(nn()),M.registerContributionProcessor(an()),M.registerContributionProcessor(on()),M.registerContributionProcessor(cn()),M.registerContributionProcessor(sn()),r.routeGraphBuilder&&M.registerContributionProcessor(ra(r.routeGraphBuilder)),Ks(l,tc(I,p,M)),l.push(()=>M.shutdown()),Ks(l,r.configureCoordinator?.({bus:p,coordinator:M,registerContributionProcessor:e=>{M.registerContributionProcessor(e)},getAdapterSubsystemService:()=>M.getExtensionService(dr)})),await M.startAll(),await p.emit(V.phase.servicesReady,{machineId:f});let pe=M.list(),he=pe.filter(e=>e.state===`active`);if(console.info(`[boot] Extensions started: %d active`,he.length),process.env.MAKAIO_DEBUG){let e=pe.filter(e=>e.state===`failed`);for(let e of he)console.info(`[boot] ✓ %s (%s)`,e.displayName,e.name);for(let t of e)console.warn(`[boot] ✗ %s (%s): %s`,t.displayName,t.name,t.error??`unknown`)}w.current=M.getExtensionService(dr);let ge=new re({workerEntry:te({moduleDir:x,mode:j.basename(x)===`src`?`source`:`dist`}),manifest:{packages:[]}}),L=new ie({id:ve,displayName:`Local (Piscina)`,runner:ge});try{await Ae(p,L)}catch(e){throw await ge.dispose().catch(()=>void 0),e}l.push(async()=>{try{await Me(p,L.id)}finally{await ge.dispose().catch(()=>void 0)}}),console.info(`[boot] Piscina thin workflow provider registered (id=%s)`,L.id),l.push(Ma(p,()=>w.current?.getLoadedAdapters()??[],()=>w.current?.getAdapterInstances()??new Map,e=>M.getExtension(e)));let _e=mr({bus:p,currentMachineId:f});if(l.push(_e.cleanup),await p.broadcast(V.phase.coordinatorReady,{machineId:f}),r.lanBind&&e.dispatchingAuth&&m){let t=hc(_,m);e.dispatchingAuth.setE2EAuth(t),console.info(`[boot] E2E auth enabled (LAN mode, machineId=%s)`,f)}y=!0,await p.emit(V.ready,{machineId:f}),console.info(`[boot] Runtime ready (machineId=%s)`,f);let ye=jt([...l].reverse());return{port:t,host:n,machineId:f,bus:p,coordinator:M,trayEntries:M.trayEntries,windowRegistry:M.windowRegistry,shutdown:ye}}catch(e){console.error(`[boot] Startup failed — rolling back started resources`,e);for(let e of[...l].reverse())try{await e()}catch(e){console.warn(`[boot] Rollback step error:`,e)}throw e}}async function wc(e){let t=new si({httpServer:e.httpServer,auth:e.auth,loopbackName:e.loopbackName??`node`}),n=e.httpServer.address();if(typeof n!=`object`||!n)throw Error(`HTTP server is not bound to a TCP address`);return Cc(t,n.port,n.address,{...e,hostCapabilities:Ys(e.hostCapabilities),clientBinaryStrategyDependencies:e.clientBinaryStrategyDependencies??Ea()})}const Tc=`MAKAIO_UPSTREAM_URL`,Ec=`MAKAIO_UPSTREAM_SECRET`;function Dc(e){return new Ct({url:e.url,name:`upstream-telemetry-ws`,auth:e.secret===void 0?void 0:new St({secret:e.secret})})}function Oc(e={}){let t=e.env??process.env,n=Ac(t[Ec]),r=kc(t[Tc]);if(r===void 0){if(n!==void 0)throw Error(`${Ec} requires ${Tc}`);return}return{transport:(e.createTransport??Dc)({url:r,...n===void 0?{}:{secret:n}})}}function kc(e){let t=e?.trim();return t===void 0||t===``?void 0:t}function Ac(e){let t=e?.trim();return t===void 0||t===``?void 0:t}async function jc(e){return{...await u(e),hostCapabilities:[`node`]}}const Mc=se(ae);var Nc=class{async resolve(e){return gn(e,{resolveKeychain:this.resolveKeychain})}async resolveKeychain(e,t){try{let{stdout:n}=await Mc(`security`,[`find-generic-password`,`-s`,e,`-a`,t,`-w`]);return n.trim()||null}catch{return null}}},Pc=class{bus;fallbackProvider=new Nc;channelPromise;constructor(e){this.bus=e}async resolve(e){let t=rt(e);if(t){let{configId:e,key:n}=t;for(let t=0;t<2;t++)try{return(await(await this.getChannel()).request(Se.get,{configId:e})).credentials?.[n]??null}catch(e){if(e instanceof pe&&(this.channelPromise=void 0,t===0))continue;throw e}}return e.startsWith(`account-manager:`)?(console.warn(`[StoredCredentialProvider] account-manager: refs are account identifiers and cannot be resolved to credentials. The associated adapter should authenticate via its native credential store.`),null):e.startsWith(`stored:`)?(console.warn(`[StoredCredentialProvider] Unresolvable credential ref "${e}". Only the "stored:providerConfig:" format is supported. Re-save the credential using the current format.`),null):this.fallbackProvider.resolve(e)}getChannel(){return this.channelPromise??=this.openCredentialChannel().catch(e=>{throw this.channelPromise=void 0,e}),this.channelPromise}async openCredentialChannel(){let{token:e}=await this.bus.request(Se.getChannelToken,{});return he(this.bus.getContext(),`credentials`,{token:e,transports:[]})}};async function Fc(e){let{db:t}=await e.request(a.database,{});return t}const Ic=[`default`,`import`,`require`];var Lc=class{frameworkDistPath=``;install(){}uninstall(){}},Rc=class{frameworkDistPath;hooks;installPromise;installToken;constructor(e){this.frameworkDistPath=e}async install(){if(this.hooks)return;if(this.installPromise)return this.installPromise;let e={};this.installToken=e;let t=this.installWithToken(e);this.installPromise=t;try{await t}finally{this.installPromise===t&&(this.installPromise=void 0)}}async installWithToken(e){let{registerHooks:t}=await import(`node:module`);if(this.installToken!==e||this.hooks)return;let n=this.frameworkDistPath,r=Bc(n);this.hooks=t({resolve(e,t,i){let a=zc(n,e,r);return a?{shortCircuit:!0,url:k(a).href}:i(e,t)}})}uninstall(){this.installToken=void 0,this.installPromise=void 0,this.hooks?.deregister(),this.hooks=void 0}};function zc(e,t,n){if(!t.startsWith(`@makaio/framework/`))return;let r=t.slice(18),i=r.split(`/`);if(i.length===0||i.some(e=>e.length===0||e===`.`||e===`..`||e.includes(`\\`)))return;let a=Hc((n??Bc(e))[`./${r}`]);if(!a)return;let o=Uc(a);if(!o)return;let s=M.resolve(e,o);return Wc(s,e)?s:void 0}function Bc(e){let t=M.join(e,`..`,`package.json`);return Vc(JSON.parse(de(t,`utf-8`)).exports)}function Vc(e){if(typeof e!=`object`||!e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e))if(n.startsWith(`.`)){if(typeof r==`string`){t[n]=r;continue}typeof r==`object`&&r&&!Array.isArray(r)&&(t[n]=r)}return t}function Hc(e){if(typeof e==`string`)return e;if(e)for(let t of Ic){let n=e[t];if(typeof n==`string`)return n}}function Uc(e){let t=e.split(`\\`).join(`/`);if(t.startsWith(`./dist/`))return t.slice(7)}function Wc(e,t){let n=M.relative(t,e);return n===``||!n.startsWith(`..`)&&!M.isAbsolute(n)}export{si as BusServerTransportProvider,o as ExplicitDescriptorDiscovery,Jr as FileConfigStorage,ns as FileRegistryCache,s as FilesystemDescriptorDiscovery,ee as InProcessWorkflowRunner,c as MAKAIO_CONFIG_FILE_ENV,l as MAKAIO_HOME_ENV,Ec as MAKAIO_UPSTREAM_SECRET_ENV,Tc as MAKAIO_UPSTREAM_URL_ENV,Nc as NodeCredentialProvider,Rc as NodeFrameworkModuleResolver,Lc as NoopFrameworkModuleResolver,a as RuntimeSubjects,Pc as StoredCredentialProvider,re as ThinWorkflowPiscinaRunner,Os as WorkspaceRootNotFoundError,mr as activateAdapterRuntimeIdentity,xc as attachUpstreamTelemetry,wc as bootMakaioRuntime,Cc as bootMakaioRuntimeCore,cc as bridgeExtensionBrowserEntries,u as buildConfiguredRuntimeOptions,ac as buildExtensionBrowserRollupInputName,oc as buildExtensionBrowserRuntimeEntrypoint,jc as buildNodeRuntimeOptions,Qr as createHonoRouteGraph,ei as createHttpRouteGraphBuilder,d as createMakaioConfigDiscovery,Dc as createUpstreamTelemetryTransport,f as defineMakaioConfig,S as entrypointStem,ks as findWorkspaceRoot,As as findWorkspaceRootInfo,Fc as getRuntimeDatabase,_i as initializeNodeDatabase,w as isCliContributionLike,y as isMakaioExtensionLike,ti as isMissingOptionalRuntimePackage,C as isWithinDirectory,T as loadExtensions,p as loadMakaioConfig,Ht as loadOrCreateMachineIdentity,Wt as machineKeysExist,Ys as normalizeNodeHostCapabilities,m as parseMakaioConfig,pr as prepareAdapterRuntime,uc as readFrameworkVersion,xn as registerAdapterNameResolver,di as resolveBundledMigrationsDir,b as resolveConventionEntrypoint,zc as resolveFrameworkSpecifier,Zr as resolveListeningPort,h as resolveMakaioConfigPath,g as resolveMakaioHome,Yr as resolveStaticModelRegistryPath,Oc as resolveUpstreamTelemetryBootOptionsFromEnv,te as resolveWorkflowWorkerEntry,qr as runMigrations,ec as selectFrameworkCorePackages,_ as shouldIncludeExtension,ni as tryImport,Gt as validateMachineKeys,Xr as waitForServerListening};
@@ -1 +1 @@
1
- import{sessionsDual as e}from"./services/session/storage/schema.mjs";import{n as t}from"./schema-BrnYlDwZ.mjs";import{index as n,sqliteTable as r,text as i}from"drizzle-orm/sqlite-core";import{epochMs as a}from"@makaio/framework/storage/drizzle/columns/sqlite";const o=r(`messages`,{messageId:i(`message_id`).primaryKey(),turnId:i(`turn_id`).references(()=>t.sqlite.turnId,{onDelete:`cascade`}),sessionId:i(`session_id`).notNull().references(()=>e.sqlite.sessionId,{onDelete:`cascade`}),role:i(`role`,{enum:[`user`,`assistant`]}).notNull(),contentText:i(`content_text`).notNull(),blocks:i(`blocks`).notNull().default(`[]`),agentId:i(`agent_id`),adapterSessionId:i(`adapter_session_id`),adapterMessageId:i(`adapter_message_id`),timestamp:a(`timestamp`).notNull(),editOf:i(`edit_of`).references(()=>o.messageId),origin:i(`origin`,{enum:[`voice`,`text`,`compact`]})},e=>[n(`idx_messages_session`).on(e.sessionId,e.timestamp),n(`idx_messages_turn`).on(e.turnId,e.timestamp),n(`idx_messages_agent`).on(e.agentId,e.timestamp),n(`idx_messages_adapter_message_id`).on(e.adapterMessageId)]);export{o as t};
1
+ import{sessionsDual as e}from"./services/session/storage/schema.mjs";import{n as t}from"./schema-CzhOc7TV.mjs";import{index as n,sqliteTable as r,text as i}from"drizzle-orm/sqlite-core";import{epochMs as a}from"@makaio/framework/storage/drizzle/columns/sqlite";const o=r(`messages`,{messageId:i(`message_id`).primaryKey(),turnId:i(`turn_id`).references(()=>t.sqlite.turnId,{onDelete:`cascade`}),sessionId:i(`session_id`).notNull().references(()=>e.sqlite.sessionId,{onDelete:`cascade`}),role:i(`role`,{enum:[`user`,`assistant`]}).notNull(),contentText:i(`content_text`).notNull(),blocks:i(`blocks`).notNull().default(`[]`),agentId:i(`agent_id`),adapterSessionId:i(`adapter_session_id`),adapterMessageId:i(`adapter_message_id`),timestamp:a(`timestamp`).notNull(),editOf:i(`edit_of`).references(()=>o.messageId),origin:i(`origin`,{enum:[`voice`,`text`,`compact`]})},e=>[n(`idx_messages_session`).on(e.sessionId,e.timestamp),n(`idx_messages_turn`).on(e.turnId,e.timestamp),n(`idx_messages_agent`).on(e.agentId,e.timestamp),n(`idx_messages_adapter_message_id`).on(e.adapterMessageId)]);export{o as t};
@@ -1 +1 @@
1
- import{sessionsDual as e}from"./services/session/storage/schema.mjs";import{index as t,uniqueIndex as n}from"drizzle-orm/sqlite-core";import{index as r,uniqueIndex as i}from"drizzle-orm/pg-core";import{defineDualTable as a}from"@makaio/framework/storage/drizzle";const o=a(`turns`,t=>({turnId:t.text(`turn_id`).primaryKey(),sessionId:t.text(`session_id`).notNull().references(()=>e.columnPair(`sessionId`),{onDelete:`cascade`}),turnNumber:t.int4(`turn_number`).notNull(),startedAt:t.epochMs(`started_at`).notNull(),completedAt:t.epochMs(`completed_at`),status:t.textEnum(`status`,{enum:[`active`,`completed`,`error`]}).notNull(),error:t.text(`error`),usage:t.text(`usage`)}),{sqlite:e=>[t(`idx_turns_session`).on(e.sessionId,e.startedAt),n(`uniq_turns_session_number`).on(e.sessionId,e.turnNumber)],postgres:e=>[r(`idx_turns_session`).on(e.sessionId,e.startedAt),i(`uniq_turns_session_number`).on(e.sessionId,e.turnNumber)]}),s=o.sqlite;export{o as n,s as t};
1
+ import{sessionsDual as e}from"./services/session/storage/schema.mjs";import{index as t,uniqueIndex as n}from"drizzle-orm/sqlite-core";import{index as r,uniqueIndex as i}from"drizzle-orm/pg-core";import{defineDualTable as a}from"@makaio/framework/storage/drizzle";const o=a(`turns`,t=>({turnId:t.text(`turn_id`).primaryKey(),sessionId:t.text(`session_id`).notNull().references(()=>e.columnPair(`sessionId`),{onDelete:`cascade`}),turnNumber:t.int4(`turn_number`).notNull(),startedAt:t.epochMs(`started_at`).notNull(),completedAt:t.epochMs(`completed_at`),status:t.textEnum(`status`,{enum:[`active`,`completed`,`error`]}).notNull(),error:t.text(`error`),usage:t.text(`usage`),initiator:t.text(`initiator`)}),{sqlite:e=>[t(`idx_turns_session`).on(e.sessionId,e.startedAt),n(`uniq_turns_session_number`).on(e.sessionId,e.turnNumber)],postgres:e=>[r(`idx_turns_session`).on(e.sessionId,e.startedAt),i(`uniq_turns_session_number`).on(e.sessionId,e.turnNumber)]}),s=o.sqlite;export{o as n,s as t};
@@ -251,7 +251,7 @@ declare const sessions: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
251
251
  tableName: "sessions";
252
252
  dataType: "string";
253
253
  columnType: "SQLiteText";
254
- data: "closed" | "active" | "archived" | "discovered";
254
+ data: "closed" | "discovered" | "active" | "archived";
255
255
  driverParam: string;
256
256
  notNull: true;
257
257
  hasDefault: false;
@@ -365,7 +365,7 @@ declare const sessions: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
365
365
  tableName: "sessions";
366
366
  dataType: "string";
367
367
  columnType: "SQLiteText";
368
- data: "branch" | "fork" | "subagent" | "compress" | "rewrite" | "coordinator" | "aside";
368
+ data: "fork" | "subagent" | "compress" | "branch" | "rewrite" | "coordinator" | "aside";
369
369
  driverParam: string;
370
370
  notNull: false;
371
371
  hasDefault: false;
@@ -789,7 +789,8 @@ declare const agentsDual: _$_makaio_storage_drizzle0.DualTable<"agents", {
789
789
  sessionId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"session_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"session_id", [string, ...string[]]>>>; /** Provider's session ID for native resume support */
790
790
  adapterSessionId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"adapter_session_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"adapter_session_id", [string, ...string[]]>>; /** Current model identifier */
791
791
  model: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"model", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"model", [string, ...string[]]>>; /** Current working directory */
792
- cwd: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"cwd", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"cwd", [string, ...string[]]>>; /** Provider config UUID for credential/endpoint resolution */
792
+ cwd: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"cwd", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"cwd", [string, ...string[]]>>; /** Directory restrictions for file-system tool execution. */
793
+ allowedDirectories: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.$Type<_$drizzle_orm_sqlite_core0.SQLiteTextJsonBuilderInitial<string>, string[]>, _$drizzle_orm0.$Type<_$drizzle_orm_pg_core0.PgJsonbBuilderInitial<string>, string[]>>; /** Provider config UUID for credential/endpoint resolution */
793
794
  providerConfigId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"provider_config_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"provider_config_id", [string, ...string[]]>>; /** Persona used to configure this agent (if any). */
794
795
  personaId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"persona_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"persona_id", [string, ...string[]]>>; /** Profile used to configure this agent (if any). */
795
796
  profileId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"profile_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"profile_id", [string, ...string[]]>>; /** Resolved harness ID for this agent. */
@@ -946,6 +947,25 @@ declare const agents: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
946
947
  }, {}, {
947
948
  length: number | undefined;
948
949
  }>;
950
+ allowedDirectories: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
951
+ name: string;
952
+ tableName: "agents";
953
+ dataType: "json";
954
+ columnType: "SQLiteTextJson";
955
+ data: string[];
956
+ driverParam: string;
957
+ notNull: false;
958
+ hasDefault: false;
959
+ isPrimaryKey: false;
960
+ isAutoincrement: false;
961
+ hasRuntimeDefault: false;
962
+ enumValues: undefined;
963
+ baseColumn: never;
964
+ identity: undefined;
965
+ generated: undefined;
966
+ }, {}, {
967
+ $type: string[];
968
+ }>;
949
969
  providerConfigId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
950
970
  name: "provider_config_id";
951
971
  tableName: "agents";
@@ -0,0 +1 @@
1
+ import{i as e,t}from"./json-value-CmhSGMLv.mjs";import{a as n,s as r}from"./visibility-Cb62p9bv.mjs";import{t as i}from"./credential-ref-YWQQENEo.mjs";import{t as a}from"./definition-DZMXOnjX.mjs";import{c as ee,f as o,i as te,o as s,p as c,r as ne,s as re}from"./shared-DpOEfD8F.mjs";import{t as l}from"./schemas-hSrzflwZ.mjs";import{r as ie}from"./profile-D39-Zy_W.mjs";import{i as u}from"./account-identity-CgzOqnVm.mjs";import{SessionLineageSchema as ae}from"./contracts/adapter/schemas/session-lineage.mjs";import{z as d}from"zod";import{observability as oe}from"@makaio/framework/core";const f=d.object({adapterId:d.string(),adapterName:d.string()}),se=d.object({cwd:d.string().optional(),allowedTools:d.array(d.string()).optional(),disallowedTools:d.array(d.string()).optional(),allowedDirectories:d.array(d.string()).optional(),systemPrompt:o.optional()}),p=`adapter identity must be provided at the top level; contextOverrides cannot supply adapter identity`;function m(e){let t={adapterId:e.adapterId,adapterName:e.adapterName},n={adapterId:e.contextOverrides?.adapterId,adapterName:e.contextOverrides?.adapterName},r=[];!h(t)&&h(n)&&(n.adapterId!==void 0&&r.push({field:`adapterId`,message:p}),n.adapterName!==void 0&&r.push({field:`adapterName`,message:p}));for(let e of[`adapterId`,`adapterName`]){let i=n[e];if(i===void 0)continue;let a=t[e];if(a===void 0){h(t)&&r.push({field:e,message:`contextOverrides.${e} cannot supply adapter identity when top-level adapter identity is present`});continue}a!==i&&r.push({field:e,message:`contextOverrides.${e} must match top-level ${e} when both are provided`})}return{issues:r,effectiveIdentity:{adapterId:t.adapterId??n.adapterId,adapterName:t.adapterName??n.adapterName}}}function h(e){return e.adapterId!==void 0||e.adapterName!==void 0}const ce=d.object({readOnly:d.boolean().optional(),destructive:d.boolean().optional(),idempotent:d.boolean().optional(),requiresApproval:d.boolean().optional()}),le=d.object({name:d.string(),description:d.string(),annotations:ce.optional(),toolsetName:d.string()}),ue=d.object({code:d.string(),message:d.string(),details:d.unknown().optional()}),g=d.object({toolName:d.string(),toolsetName:d.string()}),de=le.extend({inputSchema:d.record(d.string(),d.unknown()).optional()}),fe=d.object({name:d.string(),description:d.string(),version:d.string(),toolCount:d.number(),configSchema:d.record(d.string(),d.unknown()).optional()}),pe=d.object({cwd:d.string().optional(),env:d.record(d.string(),d.string()).optional(),sessionId:d.string().optional(),agentId:d.string().optional(),adapterId:d.string().optional(),adapterName:d.string().optional(),turnId:d.string().optional(),turnContext:d.record(d.string(),d.unknown()).optional(),reasoning:d.string().optional(),toolCallId:d.string().optional(),constraints:d.record(d.string(),d.unknown()).optional()});function me(e,t){let{issues:n}=m(e);for(let e of n)t.addIssue({code:d.ZodIssueCode.custom,message:e.message,path:[`contextOverrides`,e.field]})}const he=d.object({toolName:d.string(),input:d.unknown(),adapterId:d.string().optional(),adapterName:d.string().optional(),contextOverrides:pe.optional()}).superRefine(me),ge={list:{request:d.object({toolsetName:d.string().optional(),adapterId:d.string().optional(),adapterName:d.string().optional()}),response:d.object({tools:d.array(de),toolsets:d.array(fe)})},execute:{request:he,response:d.discriminatedUnion(`success`,[d.object({success:d.literal(!0),data:d.unknown()}),d.object({success:d.literal(!1),error:ue})])},registered:d.object({toolsetName:d.string(),toolsetVersion:d.string(),toolNames:d.array(d.string())}),started:g.extend({executionId:d.string(),timestamp:d.number()}),completed:g.extend({executionId:d.string(),timestamp:d.number(),durationMs:d.number()}),error:g.extend({executionId:d.string(),timestamp:d.number(),error:ue}),registryChanged:d.object({revision:d.number().int().positive(),reason:d.enum([`toolset-registered`,`toolset-unregistered`,`plugin-loaded`,`plugin-unloaded`]),toolsetName:d.string()})},_e=d.object({name:d.string(),permission_policy:d.enum([`always_allow`,`always_ask`,`always_deny`])}),ve=d.array(_e).superRefine((e,t)=>{let n=new Set;e.forEach((e,r)=>{if(n.has(e.name)){t.addIssue({code:d.ZodIssueCode.custom,path:[r,`name`],message:`Duplicate MCP tool policy name "${e.name}"`});return}n.add(e.name)})}),ye=d.object({type:d.literal(`stdio`),command:d.string(),args:d.array(d.string()).optional(),env:d.record(d.string(),d.string()).optional(),alwaysLoad:d.boolean().optional()}),be=d.object({url:d.string().url(),headers:d.record(d.string(),d.string()).optional(),tools:ve.optional(),alwaysLoad:d.boolean().optional()}),xe=be.extend({type:d.literal(`sse`)}),Se=be.extend({type:d.literal(`http`)}),_=d.discriminatedUnion(`type`,[ye,xe,Se]),v=d.enum([`direct`,`discovery`,`hidden`]),y=v.exclude([`hidden`]),b=d.record(d.string(),v).optional(),x=d.string().max(256).refine(e=>(e.match(/\*/g)?.length??0)<=10,{message:`Pattern must contain at most 10 wildcard characters`}),Ce=d.object({transport:_,exposureMode:y.optional(),toolExposure:b}),we=d.object({enabled:d.boolean(),maxAttempts:d.number().int().positive(),baseDelayMs:d.number().int().positive(),maxDelayMs:d.number().int().positive()}).refine(e=>e.maxDelayMs>=e.baseDelayMs,{message:`maxDelayMs must be >= baseDelayMs`,path:[`maxDelayMs`]});d.object({servers:d.record(d.string(),Ce),hideTools:d.array(x).optional(),exposeTools:d.array(x).optional(),defaultExposureMode:y.optional(),autoReconnect:we.optional()}),d.object({servers:d.array(d.string()).optional(),exposeTools:d.array(x).optional(),hideTools:d.array(x).optional(),serverOverrides:d.record(d.string(),d.object({exposureMode:y.optional(),toolExposure:b})).optional()});const Te=d.object({directTools:d.array(x).optional(),discoveryTools:d.array(x).optional(),toolExposure:b}),Ee=d.object({name:d.string(),transport:_,exposureMode:y}),De=d.object({fullName:d.string(),originalName:d.string(),serverName:d.string(),description:d.string().optional(),inputSchema:d.record(d.string(),d.unknown()),exposureMode:v,enabled:d.boolean(),enabledBy:d.enum([`discovery`,`toolset`]).optional(),enabledAt:d.number().int().nonnegative().optional(),exposed:d.boolean()}),S=d.object({sessionId:d.string(),projectId:d.string().nullable(),profileId:d.string().nullable(),servers:d.array(Ee),directTools:d.array(De),discoverableTools:d.array(De)}),C=S.omit({projectId:!0,profileId:!0}),Oe=d.object({agentId:d.string(),adapterId:d.string(),adapterName:d.string(),adapterSessionId:d.string(),sessionId:d.string()}),ke={"server.connected":d.object({serverName:d.string(),toolCount:d.number().int().nonnegative()}),"server.disconnected":d.object({serverName:d.string(),reason:d.string()}),"server.reconnecting":d.object({serverName:d.string(),attempt:d.number().int().positive()}),"server.error":d.object({serverName:d.string(),error:d.string()}),"tools.updated":d.object({added:d.array(d.string()),removed:d.array(d.string())}),"tools.enabled":d.object({tools:d.array(d.string()),source:d.enum([`discovery`,`toolset`])}),"session.resolve":{request:d.object({sessionId:d.string(),profileId:d.string().nullable(),projectId:d.string().nullable(),profileMcpConfig:Te.optional()}),response:S},"session.register":{request:Oe.extend({contextOverrides:pe,pinned:d.boolean().optional()}),response:d.object({port:d.number().int().positive()})},"session.unregister":{request:d.object({adapterSessionId:d.string()}),response:d.object({})}},w=d.looseObject({kind:d.string(),providerConfigId:d.string().optional(),model:d.string().optional(),reasoningEffort:n.optional(),cwd:d.string().optional(),systemPrompt:o.optional(),allowedTools:d.array(d.string()).optional(),disallowedTools:d.array(d.string()).optional(),env:d.record(d.string(),d.string()).optional(),mcpSessionContext:C.optional(),allowedDirectories:d.array(d.string()).optional()}),Ae=w.extend({kind:d.literal(`adapter`),adapterName:d.string().trim().min(1).optional(),adapterId:d.string().trim().min(1).optional()}).refine(e=>!!e.adapterName||!!e.adapterId,{message:`AdapterSelection requires at least one of 'adapterName' or 'adapterId'`}),T=w,E=d.object({providerConfigId:d.string(),definitionId:d.string(),endpointOverrides:a.optional(),credentialRefs:d.record(d.string(),i),credentialEnvVars:d.record(d.string(),d.string()).optional(),ambientCredentialEnvVars:d.array(d.string()).optional()}),je={request:d.object({adapterName:d.string().optional(),adapterId:d.string().optional()}).refine(e=>e.adapterName||e.adapterId,{message:`Either adapterName or adapterId must be provided`}),response:d.object({capabilities:d.array(d.string()),nativeTools:d.array(d.string())})},D=d.enum([`lead`,`member`]),O=d.enum([`fork`,`branch`,`subagent`,`compress`,`rewrite`,`coordinator`,`aside`]),k=d.enum([`parent-history`,`none`]),A=d.enum([`discovered`,`imported`,`tracking`]),Me=d.object({sessionId:d.string(),title:d.string().nullable(),forkPointMessageId:d.string().nullable(),branchKind:O.nullable(),messageCount:d.number(),hasChildren:d.boolean(),spawningToolCallId:d.string().optional()}),Ne=d.object({fromMessageId:d.string(),toMessageId:d.string(),policy:d.enum([`verbatim`,`summarize`,`exclude`]),stripReasoning:d.boolean().optional(),stripToolOutputs:d.boolean().optional(),overrides:d.record(d.string(),d.literal(`exclude`)).optional(),summaryText:d.string().optional()}),j=d.object({removedMessageIds:d.array(d.string()).optional(),appliedPipeline:d.array(d.object({actionId:d.string(),options:d.record(d.string(),d.unknown()).optional()})).optional(),segments:d.array(Ne).optional()}),Pe=d.object({parentSessionId:d.string(),childSessionId:d.string(),summary:d.string().optional(),source:d.enum([`extension`,`user`,`system`]).optional(),extensionId:d.string().optional()}),Fe=d.object({success:d.boolean(),handoff:d.string().optional()}),Ie=d.object({parentSessionId:d.string(),childSessionId:d.string(),source:d.enum([`extension`,`user`,`system`]).optional(),extensionId:d.string().optional()}),Le=d.object({success:d.boolean()}),Re=d.object({sessionId:d.string()}),ze=d.object({children:d.array(Me)}),Be=d.object({parentSessionId:d.string(),childSessionId:d.string(),reason:d.string()}),Ve=d.object({parentSessionId:d.string(),childSessionId:d.string(),forkPoint:d.string().optional()}),He=d.object({parentSessionId:d.string(),childSessionId:d.string()}),Ue=d.object({parentSessionId:d.string(),childSessionId:d.string(),handoff:d.string()}),We=d.object({sessionId:d.string(),parentSessionId:d.string().optional()}),Ge=d.object({parentSessionId:d.string(),childSessionId:d.string(),result:d.unknown()}),Ke=d.object({sessionId:d.string(),reason:d.string(),source:d.enum([`extension`,`user`,`system`]).optional(),extensionId:d.string().optional()}),qe=d.object({sessionId:d.string(),pipeline:d.array(d.object({actionId:d.string(),options:d.record(d.string(),d.unknown()).optional()}))}),Je=d.object({eventId:d.string(),contextJson:d.record(d.string(),d.unknown()),tokensBefore:d.number(),tokensAfter:d.number().optional()}),Ye=d.object({sessionId:d.string(),childSessionId:d.string(),parentSessionId:d.string(),kind:O,forkPointMessageId:d.string().optional(),transforms:j.optional()}),Xe=d.object({sessionId:d.string(),childSessionId:d.string(),parentSessionId:d.string(),resultJson:d.string().optional(),resultMessageId:d.string().optional()}),Ze=d.object({sessionId:d.string(),summaryJson:d.string(),tokensBefore:d.number().optional(),tokensAfter:d.number().optional(),compressedMessageIds:d.array(d.string()).optional()}),Qe=d.object({sessionId:d.string(),parentSessionId:d.string().nullable(),branchKind:O.nullable(),createdAt:d.number(),originWindowId:d.string().optional()}),$e=d.object({sessionId:d.string(),changedProperties:d.array(d.string())}),et={merge:{request:Pe,response:Fe},abandon:{request:Ie,response:Le},getChildren:{request:Re,response:ze},forking:Be,forked:Ve,merging:He,merged:Ue,abandoned:We,childCompleted:Ge,compressionRequested:Ke,"branch.created":Ye,"branch.merged":Xe,squash:Ze,created:Qe,updated:$e,compress:{request:qe,response:Je}},tt=w.safeExtend({kind:d.literal(`canonical-model`),model:d.string().trim().min(1)}),M=d.object({messageHistory:d.array(ee).optional(),hasNewTransforms:d.boolean().optional(),hasCompression:d.boolean().optional(),extractedContext:d.unknown().optional(),isFirstTurn:d.boolean().optional(),hasConnectorSwap:d.boolean().optional(),turnContext:d.record(d.string(),e).optional()}),nt=te,rt=d.enum([`user`,`assistant`]),N=d.enum([`voice`,`text`,`compact`]),P=d.object({messageId:d.string(),turnId:d.string().nullable(),sessionId:d.string(),role:rt,contentText:d.string(),blocks:d.array(nt),agentId:d.string().optional(),adapterSessionId:d.string().optional(),adapterMessageId:d.string().optional(),timestamp:d.number(),editOf:d.string().optional(),origin:N.optional()}),F=d.enum([`active`,`completed`,`error`]),I=d.object({inputTokens:d.number(),outputTokens:d.number(),cost:d.number().optional()}),L=d.object({total:I,byAgent:d.record(d.string(),I).optional()}),R=d.object({source:d.enum([`user`,`extension`,`system`]),sourceId:d.string().optional()}),z=d.object({turnId:d.string(),sessionId:d.string(),turnNumber:d.number().int().min(1),startedAt:d.number(),completedAt:d.number().optional(),status:F,error:d.string().optional(),usage:L.optional(),initiator:R.optional()}),B=d.enum([`sent`,`acknowledged`,`completed`]),it=d.object({messageId:d.string(),agentId:d.string(),status:B,timestamp:d.number(),error:d.string().optional()}),V=d.object({sessionId:d.string(),turnId:d.string(),turnNumber:d.number().int().min(1)}),H=V.extend({messageId:d.string()}),at=V.extend({success:d.boolean(),error:d.string().optional(),initiator:R.optional()}),ot=w.safeExtend({kind:d.string().regex(/^(?!(?:adapter|canonical-model)$).+$/)}),st=d.union([Ae,tt,ot]),U={sendMessage:{request:d.object({sessionId:d.string(),message:s,agent:st.optional(),agentIds:d.union([d.array(d.string()),d.literal(`all`)]).optional(),deliveryMode:d.enum([`enqueue`]).optional(),turnId:d.string().optional(),sessionContext:M.optional(),responseSchema:c.optional(),source:d.enum([`extension`,`user`,`system`]).optional(),extensionId:d.string().optional(),originWindowId:d.string().optional(),skipConnectorSwapWarning:d.boolean().optional(),origin:N.optional()}),response:d.object({messageId:d.string(),turnId:d.string(),sessionId:d.string()})},"agent.attach":{request:d.object({sessionId:d.string(),agent:T,initialMessage:s.optional(),role:d.enum([`lead`,`member`]).optional()}),response:d.object({agentId:d.string(),adapterSessionId:d.string(),role:d.enum([`lead`,`member`]),messageId:d.string().optional(),turnId:d.string().optional()})},"turn.started":V.extend({messageId:d.string(),agentIds:d.array(d.string()),initiator:R.optional()}),"turn.completed":at,"turn.await":{request:d.object({sessionId:d.string(),turnId:d.string(),timeoutMs:d.number().int().positive()}),response:d.object({completion:at})},"user_message.sent":H.extend({content:s,agentIds:d.array(d.string()),source:d.enum([`extension`,`user`,`system`]).optional(),origin:N.optional()}),"user_message.acknowledged":H.extend({agentId:d.string()}),"user_message.completed":H.extend({agentId:d.string(),outcome:re,supersededBy:d.string().optional(),mergedInto:d.string().optional(),error:d.string().optional()}),fork:{request:d.object({sourceSessionId:d.string(),fromMessageId:d.string().optional(),name:d.string().optional(),branchKind:d.enum([`fork`,`branch`,`aside`]).optional(),transforms:j.optional(),targetWorkingDirectory:d.string().optional(),existingSessionId:d.string().optional()}),response:d.object({sessionId:d.string()})}},ct=d.enum([`auto`,`manual`,`off`]),lt=d.enum([`idle`,`active`,`dead`,`disposed`]),W=d.object({agentId:d.string(),adapterId:d.string(),adapterName:d.string(),sessionId:d.string(),adapterSessionId:d.string().optional(),model:d.string().optional(),cwd:d.string().optional(),allowedDirectories:d.array(d.string()).optional(),providerConfigId:d.string().optional(),personaId:d.string().optional(),profileId:d.string().optional(),harnessId:d.string().optional(),clientId:d.string().optional(),compressionMode:ct.optional(),role:D,status:lt,createdAt:d.number(),lastActivityAt:d.number()}),G=d.object({sessionId:d.string(),createdAt:d.number(),lastActivityAt:d.number(),agents:d.array(W),status:d.enum([`active`,`closed`,`archived`,`discovered`]),leadAgentId:d.string().optional(),parentSessionId:d.string().optional(),contextInheritance:k.optional(),rootSessionId:d.string().optional(),forkPointMessageId:d.string().optional(),branchKind:O.optional(),adapterName:d.string().optional(),adapterSessionId:d.string().optional(),adapterId:d.string().optional(),clientId:d.string().optional(),clientAccountId:d.string().optional(),lastClientIdentityObservation:u.optional(),isOrchestrated:d.boolean().optional(),title:d.string().optional(),summary:d.string().optional(),summaryUpdatedAt:d.number().optional(),isImported:d.boolean().optional(),forkTransforms:j.optional(),targetWorkingDirectory:d.string().optional(),executionTargetId:d.string().optional(),spawningToolCallId:d.string().optional(),approvalPolicyOverride:l.nullable().optional(),source:d.string().optional(),parentExternalSessionId:d.string().optional(),logFilePath:d.string().optional(),discoveredAt:d.number().optional(),importStatus:A.optional()}),ut=d.object({messageCount:d.number(),firstUserMessage:d.string().nullable()}),K=G.extend({preview:ut.optional()}),dt=d.discriminatedUnion(`success`,[d.object({agentId:d.string(),adapterId:d.string(),success:d.literal(!0)}),d.object({agentId:d.string(),adapterId:d.string(),success:d.literal(!1),error:d.string()})]),q=d.object({sessionId:d.string().optional(),parentSessionId:d.string().optional(),contextInheritance:k.optional(),forkPointMessageId:d.string().optional(),branchKind:O.optional(),forkTransforms:j.optional(),title:d.string().optional(),targetWorkingDirectory:d.string().optional(),executionTargetId:d.string().optional(),spawningToolCallId:d.string().optional(),originWindowId:d.string().optional()});function ft(e,t){e.spawningToolCallId&&e.branchKind!==`subagent`&&t.addIssue({code:d.ZodIssueCode.custom,path:[`spawningToolCallId`],message:`spawningToolCallId is only valid for subagent sessions`})}const pt={list:{request:oe.schema(d.object({status:d.enum([`active`,`closed`,`archived`,`discovered`,`all`]).optional(),limit:d.number().int().min(1).optional(),offset:oe.hidden(d.number().int().min(0).optional()),includePreview:d.boolean().optional(),executionTargetId:d.string().optional()}),{traceAll:!0}),response:d.object({sessions:d.array(K),total:d.number()})},search:{request:d.object({query:d.string(),limit:d.number().int().min(1).optional(),status:d.enum([`active`,`closed`,`archived`,`discovered`,`all`]).optional(),isImported:d.boolean().optional()}),response:d.object({sessions:d.array(K),total:d.number()})},get:{request:d.object({sessionId:d.string()}),response:d.object({session:G.nullable()})},create:{request:q.superRefine(ft),response:d.object({sessionId:d.string()})},close:{request:d.object({sessionId:d.string()}),response:d.object({success:d.boolean()})},resume:{request:d.object({sessionId:d.string()}),response:d.object({success:d.boolean()})},restartAgents:{request:d.object({sessionId:d.string()}),response:d.object({sessionId:d.string(),results:d.array(dt)})},archive:{request:d.object({sessionId:d.string()}),response:d.object({success:d.boolean()})},purge:{request:d.object({sessionId:d.string()}),response:d.object({success:d.boolean(),eventsDeleted:d.number().optional(),error:d.string().optional()})},update:{request:d.object({sessionId:d.string(),executionTargetId:d.string().nullable().optional(),approvalPolicyOverride:l.nullable().optional(),title:d.string().optional()}),response:d.object({success:d.boolean()})},getByAdapterSessionId:{request:d.object({adapterSessionId:d.string()}),response:d.object({session:G.nullable()})},getStatusCounts:{request:d.object({}),response:d.object({all:d.number(),active:d.number(),closed:d.number(),archived:d.number(),discovered:d.number()})},registerExternal:{request:q.extend({adapterName:d.string(),adapterSessionId:d.string(),lastClientIdentityObservation:u.optional()}).superRefine(ft),response:d.object({sessionId:d.string(),created:d.boolean()})}},J=d.object({sessionId:d.string(),eventId:d.string(),timestamp:d.number()}),mt=d.discriminatedUnion(`type`,[J.extend({type:d.literal(`agent.added`),payload:d.object({sessionId:d.string(),adapterSessionId:d.string(),agentId:d.string(),adapterId:d.string(),adapterName:d.string(),role:d.enum([`lead`,`member`]).optional(),model:d.string().optional(),cwd:d.string().optional()})}),J.extend({type:d.literal(`user_message.sent`),payload:U[`user_message.sent`]}),J.extend({type:d.literal(`user_message.acknowledged`),payload:U[`user_message.acknowledged`]}),J.extend({type:d.literal(`user_message.completed`),payload:U[`user_message.completed`]}),J.extend({type:d.literal(`turn.started`),payload:U[`turn.started`]}),J.extend({type:d.literal(`turn.completed`),payload:U[`turn.completed`]}),J.extend({type:d.literal(`message`),payload:d.object({messageId:d.string(),turnId:d.string().nullable(),role:d.enum([`user`,`assistant`])})}),J.extend({type:d.literal(`branch.created`),payload:d.object({childSessionId:d.string(),parentSessionId:d.string(),kind:O,forkPointMessageId:d.string().optional()})}),J.extend({type:d.literal(`branch.merged`),payload:d.object({childSessionId:d.string(),parentSessionId:d.string(),resultJson:d.string().optional(),resultMessageId:d.string().optional()})}),J.extend({type:d.literal(`squash`),payload:d.object({summaryJson:d.string(),tokensBefore:d.number().optional(),tokensAfter:d.number().optional(),compressedMessageIds:d.array(d.string()).optional()})})]),ht=[`message`,`agent.added`,`turn.started`,`turn.completed`,`user_message.sent`,`user_message.acknowledged`,`user_message.completed`,`branch.created`,`branch.merged`,`squash`],gt=ht,_t=J.extend({type:d.string().refine(e=>!ht.includes(e),{message:`Plugin session event type must not shadow a core event type.`}),payload:d.record(d.string(),d.unknown())}),Y=d.union([mt,_t]),vt=d.string(),X=d.object({sessionId:d.string().min(1),clientId:d.string().min(1),previousClientAccountId:d.string().min(1).nullable(),clientAccountId:d.string().min(1),source:d.string().min(1),observedAt:d.number().int().finite().nonnegative(),lastClientIdentityObservation:u}),yt=d.object({sessionId:d.string(),importStatus:A}),bt={"agent.added":d.object({sessionId:d.string(),adapterSessionId:d.string(),agentId:d.string(),adapterId:d.string(),adapterName:d.string(),role:D.optional(),model:d.string().optional(),cwd:d.string().optional()}),"agent.removed":d.object({sessionId:d.string(),agentId:d.string()}),closed:d.object({sessionId:d.string(),reason:d.string().optional()}),resumed:d.object({sessionId:d.string()}),archived:d.object({sessionId:d.string()}),purged:d.object({sessionId:d.string()}),compressed:d.object({sessionId:d.string(),eventId:d.string()}),"clientAccount.changed":X,"connectorSwap.editRequested":d.object({sessionId:d.string(),agentId:d.string(),previousCwd:d.string().optional(),newCwd:d.string().optional(),previousModel:d.string().optional(),newModel:d.string().optional()}),getContextWindowState:{request:d.object({sessionId:d.string()}),response:d.object({state:d.object({currentTokens:d.number(),maxTokens:d.number(),percentage:d.number(),level:d.enum([`ok`,`warn`,`critical`]),lastUpdatedAt:d.number()}).nullable()})},importStatusChanged:yt,"import.completed":d.object({sessionId:d.string(),adapterSessionId:d.string(),source:d.string()}),event:Y},Z=d.object({includeEvents:d.boolean().default(!1),includeToolOutputs:d.boolean().default(!1),includeAncestors:d.boolean().default(!0),includeChildren:d.boolean().default(!1)}),xt=`1.0`,Q=d.object({version:d.literal(`1.0`),exportedAt:d.number(),options:Z,sessions:d.array(G),agents:d.array(W),messages:d.array(P),turns:d.array(z),events:d.array(Y).optional()});function St(e){return Q.parse(e)}function Ct(e){let t=Q.safeParse(e);return t.success?{success:!0,data:t.data}:{success:!1,error:t.error}}const wt={"snapshot.export":{request:d.object({sessionId:d.string(),options:Z.optional()}),response:d.object({snapshot:Q})},"snapshot.import":{request:d.object({snapshot:Q,onConflict:d.enum([`fail`,`skip`,`overwrite`]).default(`fail`)}),response:d.object({imported:d.array(d.string()),skipped:d.array(d.string()),errors:d.array(d.object({sessionId:d.string(),error:d.string()}))})},"snapshot.validate":{request:d.object({snapshot:d.unknown()}),response:d.object({valid:d.boolean(),errors:d.array(d.string())})}},Tt={resolveAgentConfig:{request:d.object({selection:T,projectId:d.string().optional()}),response:d.object({adapterName:d.string(),model:d.string().optional(),providerConfigId:d.string().optional(),reasoningEffort:n.optional(),supportedReasoningLevels:r.optional(),systemPrompt:o.optional(),allowedTools:d.array(d.string()).optional(),disallowedTools:d.array(d.string()).optional(),allowedDirectories:d.array(d.string()).optional()})}},Et={resolveSystemPrompt:{request:d.object({sessionId:d.string(),personaId:d.string().optional(),profileId:d.string().optional()}),response:d.object({systemPrompt:d.string(),personaName:d.string().optional(),profileName:d.string().optional()})}},Dt={enrichContext:{request:d.object({sessionId:d.string()}),response:d.record(d.string(),d.unknown())}},Ot={...pt,...bt,...wt,...et,...U,...Tt,...Et,...Dt},$=d.object({adapterId:d.string(),harnessId:d.string().optional(),clientId:d.string().optional(),clientProfileName:ie.optional(),initialMessage:s.optional(),responseSchema:c.optional(),model:d.string().optional(),reasoningEffort:n.optional(),adapterConfig:t.optional(),env:d.record(d.string(),d.string()).optional(),role:D,sessionContext:M.optional(),mcpSessionContext:d.union([S,C]).optional(),providerContext:E.optional(),ephemeral:d.boolean().optional()}).merge(se),kt={request:d.union([$.extend({mode:d.literal(`fork`),sessionId:d.string(),sourceSessionId:d.string()}),$.extend({mode:d.literal(`resume`),sessionId:d.string(),adapterSessionId:d.string()}),$.extend({mode:d.literal(`create`).optional(),sessionId:d.string().optional()})]).superRefine((e,t)=>{let n=e.mode??`create`;e.ephemeral&&n!==`create`&&t.addIssue({code:d.ZodIssueCode.custom,path:[`ephemeral`],message:`ephemeral is only supported for create mode`}),e.ephemeral&&e.initialMessage===void 0&&t.addIssue({code:d.ZodIssueCode.custom,path:[`initialMessage`],message:`ephemeral startAgent requires initialMessage`})}),response:d.discriminatedUnion(`success`,[d.object({success:d.literal(!0),agentId:d.string(),adapterId:d.string(),adapterSessionId:d.string(),sessionId:d.string(),messageId:d.string().optional()}),d.object({success:d.literal(!1),message:d.string()})])},At={request:d.object({adapterId:d.string(),prompt:d.string(),model:d.string().optional(),systemPrompt:d.string().optional(),responseSchema:c.optional(),providerContext:E.optional()}),response:d.object({text:d.string(),usage:d.object({inputTokens:d.number(),outputTokens:d.number()}).optional()})},jt={request:d.object({adapterId:d.string()}),response:d.object({agents:d.array(d.object({agentId:d.string(),sessionId:d.string(),adapterSessionId:d.string()}))})},Mt={request:d.object({adapterId:d.string(),agentId:d.string()}),response:d.object({agent:d.object({agentId:d.string(),sessionId:d.string(),adapterSessionId:d.string()}).nullable()})},Nt={request:d.object({adapterId:d.string(),agentId:d.string()}),response:d.object({success:d.boolean()})},Pt={request:d.object({adapterId:d.string(),agentId:d.string(),cwd:d.string().optional(),model:d.string().optional(),adapterSessionId:d.string().optional()}),response:d.object({})},Ft={request:d.object({adapterName:d.string()}),response:d.object({found:d.boolean(),adapterName:d.string(),jsonSchema:d.record(d.string(),d.unknown()).nullable()})},It=f.extend({agentId:d.string(),sessionId:d.string(),adapterSessionId:d.string().optional()}),Lt=f.extend({adapterSessionId:d.string(),sessionId:d.string(),model:d.string()}),Rt=f.extend({sessionId:d.string(),adapterSessionId:d.string(),totalInputTokens:d.number(),totalOutputTokens:d.number(),totalCalls:d.number()}),zt=f.extend({agentId:d.string(),sessionId:d.string(),adapterSessionId:d.string(),reason:d.string().optional()}),Bt=f.extend({message:d.string(),timestamp:d.number(),level:d.enum([`debug`,`info`,`warn`,`error`]).optional()}),Vt=f.extend({error:d.string(),sessionId:d.string().optional(),errorCategory:ne.optional()}),Ht=f.extend({capabilities:d.array(d.string()),nativeTools:d.array(d.string()).optional()}),Ut=f.extend({provider:d.string(),quotaType:d.string(),limit:d.number(),used:d.number(),overage:d.number(),resetDate:d.string()}),Wt=d.object({agentId:d.string(),adapterId:d.string(),adapterName:d.string(),sessionId:d.string().optional(),adapterSessionId:d.string(),messageId:d.string().optional(),turnId:d.string().optional(),clientId:d.string().optional(),providerConfigId:d.string().optional(),occurredAt:d.number().optional()}),Gt=d.object({model:d.string().nullable(),cwd:d.string().nullable()}),Kt=Wt.merge(Gt),qt=f.merge(Gt).extend({adapterSessionId:d.string(),title:d.string().optional(),logFilePath:d.string().nullable().optional(),startedAt:d.number().finite().optional()}).and(ae);export{Ne as $,Y as A,it as B,xt as C,St as D,Ct as E,ut as F,P as G,nt as H,K as I,F as J,R as K,lt as L,vt as M,q as N,X as O,G as P,j as Q,W as R,Tt as S,se as St,Z as T,N as U,B as V,rt as W,I as X,L as Y,M as Z,At as _,ke as _t,Ht as a,A as at,Dt as b,ge as bt,zt as c,E as ct,It as d,T as dt,Qe as et,Ft as f,we as ft,jt as g,C as gt,Mt as h,Te as ht,Ut as i,O as it,gt as j,yt as k,Rt as l,Ae as lt,Nt as m,y as mt,Kt as n,Me as nt,Vt as o,k as ot,Pt as p,v as pt,z as q,Wt as r,D as rt,Bt as s,je as st,qt as t,$e as tt,Lt as u,w as ut,kt as v,x as vt,Q as w,Et as x,m as xt,Ot as y,_ as yt,ct as z};
@@ -48,14 +48,14 @@ declare const SubagentTemplateCreateSchema: z.ZodObject<{
48
48
  providerConfigId: z.ZodOptional<z.ZodString>;
49
49
  model: z.ZodOptional<z.ZodString>;
50
50
  enabled: z.ZodDefault<z.ZodBoolean>;
51
+ systemPrompt: z.ZodOptional<z.ZodString>;
52
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
53
+ disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
54
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
51
55
  contextMode: z.ZodDefault<z.ZodEnum<{
52
56
  fork: "fork";
53
57
  fresh: "fresh";
54
58
  }>>;
55
- disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
56
- allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
57
- systemPrompt: z.ZodOptional<z.ZodString>;
58
- allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
59
59
  }, z.core.$strip>;
60
60
  type SubagentTemplateCreate = z.infer<typeof SubagentTemplateCreateSchema>;
61
61
  /**
@@ -133,14 +133,14 @@ declare const SubagentTemplateSettingsSchemas: {
133
133
  providerConfigId: z.ZodOptional<z.ZodString>;
134
134
  model: z.ZodOptional<z.ZodString>;
135
135
  enabled: z.ZodDefault<z.ZodBoolean>;
136
+ systemPrompt: z.ZodOptional<z.ZodString>;
137
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
138
+ disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
139
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
136
140
  contextMode: z.ZodDefault<z.ZodEnum<{
137
141
  fork: "fork";
138
142
  fresh: "fresh";
139
143
  }>>;
140
- disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
141
- allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
142
- systemPrompt: z.ZodOptional<z.ZodString>;
143
- allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
144
144
  }, z.core.$strip>;
145
145
  response: z.ZodObject<{
146
146
  id: z.ZodString;
@@ -64,9 +64,9 @@ declare const SurfaceBindingRegistrationSchema: z.ZodObject<{
64
64
  template: z.ZodString;
65
65
  }, z.core.$strip>], "kind">;
66
66
  appliesTo: z.ZodArray<z.ZodEnum<{
67
- artifact: "artifact";
68
67
  surface: "surface";
69
68
  workpiece: "workpiece";
69
+ artifact: "artifact";
70
70
  }>>;
71
71
  valueMapping: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
72
72
  description: z.ZodOptional<z.ZodString>;
@@ -108,8 +108,8 @@ declare const ArtifactProjectionPolicySchema: z.ZodObject<{
108
108
  comment: "comment";
109
109
  }>;
110
110
  defaultRole: z.ZodOptional<z.ZodEnum<{
111
- artifact: "artifact";
112
111
  workpiece: "workpiece";
112
+ artifact: "artifact";
113
113
  }>>;
114
114
  semanticEvents: z.ZodOptional<z.ZodArray<z.ZodEnum<{
115
115
  created: "created";
@@ -141,8 +141,8 @@ declare const ArtifactMaterializationRefSchema: z.ZodObject<{
141
141
  externalId: z.ZodString;
142
142
  externalUrl: z.ZodOptional<z.ZodString>;
143
143
  surfaceRole: z.ZodEnum<{
144
- artifact: "artifact";
145
144
  workpiece: "workpiece";
145
+ artifact: "artifact";
146
146
  }>;
147
147
  lastSyncedRevision: z.ZodOptional<z.ZodString>;
148
148
  metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
@@ -11,8 +11,8 @@ declare const FsNamespace: _$_makaio_core0.BusNamespaceDefinition<"fs", {
11
11
  path: _$zod.ZodString;
12
12
  kind: _$zod.ZodEnum<{
13
13
  change: "change";
14
- delete: "delete";
15
14
  create: "create";
15
+ delete: "delete";
16
16
  }>;
17
17
  }, _$zod_v4_core0.$strip>;
18
18
  batch: _$zod.ZodObject<{
@@ -20,8 +20,8 @@ declare const FsNamespace: _$_makaio_core0.BusNamespaceDefinition<"fs", {
20
20
  path: _$zod.ZodString;
21
21
  kind: _$zod.ZodEnum<{
22
22
  change: "change";
23
- delete: "delete";
24
23
  create: "create";
24
+ delete: "delete";
25
25
  }>;
26
26
  }, _$zod_v4_core0.$strip>>;
27
27
  }, _$zod_v4_core0.$strip>;
@@ -154,8 +154,8 @@ declare const FsSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.FlatSubjec
154
154
  path: _$zod.ZodString;
155
155
  kind: _$zod.ZodEnum<{
156
156
  change: "change";
157
- delete: "delete";
158
157
  create: "create";
158
+ delete: "delete";
159
159
  }>;
160
160
  }, _$zod_v4_core0.$strip>;
161
161
  batch: _$zod.ZodObject<{
@@ -163,8 +163,8 @@ declare const FsSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.FlatSubjec
163
163
  path: _$zod.ZodString;
164
164
  kind: _$zod.ZodEnum<{
165
165
  change: "change";
166
- delete: "delete";
167
166
  create: "create";
167
+ delete: "delete";
168
168
  }>;
169
169
  }, _$zod_v4_core0.$strip>>;
170
170
  }, _$zod_v4_core0.$strip>;
@@ -295,8 +295,8 @@ declare const FileSystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fl
295
295
  path: _$zod.ZodString;
296
296
  kind: _$zod.ZodEnum<{
297
297
  change: "change";
298
- delete: "delete";
299
298
  create: "create";
299
+ delete: "delete";
300
300
  }>;
301
301
  }, _$zod_v4_core0.$strip>;
302
302
  batch: _$zod.ZodObject<{
@@ -304,8 +304,8 @@ declare const FileSystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fl
304
304
  path: _$zod.ZodString;
305
305
  kind: _$zod.ZodEnum<{
306
306
  change: "change";
307
- delete: "delete";
308
307
  create: "create";
308
+ delete: "delete";
309
309
  }>;
310
310
  }, _$zod_v4_core0.$strip>>;
311
311
  }, _$zod_v4_core0.$strip>;
@@ -6,8 +6,8 @@ import { z } from "zod";
6
6
  */
7
7
  declare const FsChangeKindSchema: z.ZodEnum<{
8
8
  change: "change";
9
- delete: "delete";
10
9
  create: "create";
10
+ delete: "delete";
11
11
  }>;
12
12
  type FsChangeKind = z.infer<typeof FsChangeKindSchema>;
13
13
  /**
@@ -17,8 +17,8 @@ declare const FsChangedSchema: z.ZodObject<{
17
17
  path: z.ZodString;
18
18
  kind: z.ZodEnum<{
19
19
  change: "change";
20
- delete: "delete";
21
20
  create: "create";
21
+ delete: "delete";
22
22
  }>;
23
23
  }, z.core.$strip>;
24
24
  type FsChanged = z.infer<typeof FsChangedSchema>;
@@ -30,8 +30,8 @@ declare const FsBatchSchema: z.ZodObject<{
30
30
  path: z.ZodString;
31
31
  kind: z.ZodEnum<{
32
32
  change: "change";
33
- delete: "delete";
34
33
  create: "create";
34
+ delete: "delete";
35
35
  }>;
36
36
  }, z.core.$strip>>;
37
37
  }, z.core.$strip>;
@@ -420,8 +420,8 @@ declare const GitNamespace: _$_makaio_core0.BusNamespaceDefinition<"git", {
420
420
  repoPath: _$zod.ZodOptional<_$zod.ZodString>;
421
421
  source: _$zod.ZodString;
422
422
  approach: _$zod.ZodOptional<_$zod.ZodEnum<{
423
- merge: "merge";
424
423
  squash: "squash";
424
+ merge: "merge";
425
425
  "fast-forward-only": "fast-forward-only";
426
426
  }>>;
427
427
  message: _$zod.ZodOptional<_$zod.ZodString>;
@@ -998,8 +998,8 @@ declare const GitSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.FlatSubje
998
998
  repoPath: _$zod.ZodOptional<_$zod.ZodString>;
999
999
  source: _$zod.ZodString;
1000
1000
  approach: _$zod.ZodOptional<_$zod.ZodEnum<{
1001
- merge: "merge";
1002
1001
  squash: "squash";
1002
+ merge: "merge";
1003
1003
  "fast-forward-only": "fast-forward-only";
1004
1004
  }>>;
1005
1005
  message: _$zod.ZodOptional<_$zod.ZodString>;
@@ -543,8 +543,8 @@ type GitCreateCommitResponse = z.infer<typeof GitCreateCommitResponseSchema>;
543
543
  * - 'fast-forward-only': Only allow fast-forward merges
544
544
  */
545
545
  declare const GitMergeApproachSchema: z.ZodEnum<{
546
- merge: "merge";
547
546
  squash: "squash";
547
+ merge: "merge";
548
548
  "fast-forward-only": "fast-forward-only";
549
549
  }>;
550
550
  type GitMergeApproach = z.infer<typeof GitMergeApproachSchema>;
@@ -553,8 +553,8 @@ declare const GitMergeRequestSchema: z.ZodObject<{
553
553
  repoPath: z.ZodOptional<z.ZodString>;
554
554
  source: z.ZodString;
555
555
  approach: z.ZodOptional<z.ZodEnum<{
556
- merge: "merge";
557
556
  squash: "squash";
557
+ merge: "merge";
558
558
  "fast-forward-only": "fast-forward-only";
559
559
  }>>;
560
560
  message: z.ZodOptional<z.ZodString>;
@@ -1,10 +1,10 @@
1
1
  import { z } from "zod";
2
2
  import * as _$_makaio_core0 from "@makaio/framework/core";
3
3
  import { IMakaioBus } from "@makaio/framework/bus";
4
- import { ExtensionContext, HarnessDefinition } from "@makaio/framework/contracts";
4
+ import { HarnessDefinition } from "@makaio/framework/contracts";
5
+ import * as _$_makaio_storage_core0 from "@makaio/framework/storage";
5
6
  import * as _$drizzle_orm_sqlite_core0 from "drizzle-orm/sqlite-core";
6
7
  import { MakaioDatabase } from "@makaio/framework/storage/drizzle";
7
- import * as _$_makaio_storage_core0 from "@makaio/framework/storage";
8
8
 
9
9
  //#region services/core/src/harness/storage/namespace.d.ts
10
10
  declare const HarnessInputSchema: z.ZodObject<{
@@ -865,9 +865,8 @@ type HarnessListQuery = z.infer<typeof HarnessListQuerySchema>;
865
865
  * Registers all Drizzle-based harness storage handlers with the bus.
866
866
  * @param bus - MakaioBus instance for message handling
867
867
  * @param db - Drizzle database instance
868
- * @param _ctx - Extension context (unused; reserved for future use)
869
868
  * @returns Cleanup function to unregister all handlers
870
869
  */
871
- declare function registerDrizzleHarnessStorage(bus: IMakaioBus, db: MakaioDatabase, _ctx: ExtensionContext): () => void;
870
+ declare function registerDrizzleHarnessStorage(bus: IMakaioBus, db: MakaioDatabase): () => void;
872
871
  //#endregion
873
872
  export { type Harness, type HarnessInput, type HarnessListQuery, HarnessStorageNamespace, HarnessStorageSubjects, registerDrizzleHarnessStorage };
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"../../handler-DSfSAlxx.mjs";export{e as HarnessStorageNamespace,t as HarnessStorageSubjects,n as registerDrizzleHarnessStorage};
1
+ import{n as e,r as t,t as n}from"../../handler-DqpiV9eA.mjs";export{e as HarnessStorageNamespace,t as HarnessStorageSubjects,n as registerDrizzleHarnessStorage};