@makaio/framework 1.0.0-dev-1781517341920 → 1.0.0-dev-1781729807808

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 (132) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/adapter-Cxcqmp04.mjs +1 -0
  3. package/dist/adapters/stream-session/index.d.mts +2 -0
  4. package/dist/await-trigger-Cjfj0yp_.mjs +1 -0
  5. package/dist/bus/index.mjs +1 -1
  6. package/dist/{canonical-model-BE7t86yt.mjs → canonical-model-C-jhofjd.mjs} +1 -1
  7. package/dist/compression-BPOKUc6y.mjs +1 -0
  8. package/dist/contracts/adapter/index.d.mts +2 -2
  9. package/dist/contracts/adapter/index.mjs +1 -1
  10. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  11. package/dist/contracts/artifact/index.d.mts +1 -1
  12. package/dist/contracts/canonical-model/index.mjs +1 -1
  13. package/dist/contracts/client/index.d.mts +1 -1
  14. package/dist/contracts/config/index.d.mts +12 -12
  15. package/dist/contracts/extension/index.d.mts +2 -2
  16. package/dist/contracts/extension/index.mjs +1 -1
  17. package/dist/contracts/facet/index.d.mts +1 -1
  18. package/dist/contracts/harness/index.d.mts +1 -1
  19. package/dist/contracts/index.d.mts +261 -65
  20. package/dist/contracts/index.mjs +1 -1
  21. package/dist/contracts/materialization/index.d.mts +3 -3
  22. package/dist/contracts/provider/index.d.mts +3 -3
  23. package/dist/contracts/provider/index.mjs +1 -1
  24. package/dist/contracts/session/index.d.mts +3 -3
  25. package/dist/contracts/session/index.mjs +1 -1
  26. package/dist/contracts/variant/index.d.mts +1 -1
  27. package/dist/definition-BJ_975aA.mjs +1 -0
  28. package/dist/{definition-CPc6oKaF.d.mts → definition-CZcVOhXZ.d.mts} +1 -1
  29. package/dist/{definition-B2FH_eOh.d.mts → definition-GOb_oOmb.d.mts} +13 -2
  30. package/dist/drizzle/0020_m_mqf47r9j.sql +1 -0
  31. package/dist/drizzle/meta/_journal.json +7 -0
  32. package/dist/{extension-DNrcv3V7.mjs → extension-CkU_hqra.mjs} +1 -1
  33. package/dist/{handlers-Cpy9Q8ho.mjs → handlers-dnpT_hsm.mjs} +1 -1
  34. package/dist/{index-C7vAbtvS.d.mts → index-BFW1X6SW.d.mts} +85 -46
  35. package/dist/{index-fTBtQ5fK.d.mts → index-BuaP2Q0b.d.mts} +16 -16
  36. package/dist/{index-BBteExwv.d.mts → index-ByRAbcZd.d.mts} +4 -2
  37. package/dist/{index-GuspCNLR.d.mts → index-C2XLjebs.d.mts} +8 -8
  38. package/dist/{index-Dun5uQwE.d.mts → index-CUYDEQvN.d.mts} +24 -3
  39. package/dist/{index-I6pLxh17.d.mts → index-CkpGuNLe.d.mts} +15 -15
  40. package/dist/{index-DWqgo739.d.mts → index-Cy75lJ1O.d.mts} +34 -34
  41. package/dist/{index-WKF5BHsw.d.mts → index-DUI1W-zN.d.mts} +8 -8
  42. package/dist/{index-BDnI2oqX.d.mts → index-Dbd0Tgba.d.mts} +2 -2
  43. package/dist/{index-CsP4Ckem.d.mts → index-Dn73XrXA.d.mts} +8 -8
  44. package/dist/{index-dFTsZFlh.d.mts → index-Dpu4e9NK.d.mts} +1 -1
  45. package/dist/{index-B8v52gGb.d.mts → index-HiAth5G0.d.mts} +60 -60
  46. package/dist/{index-BoI86whU.d.mts → index-WWYQEH0q.d.mts} +18 -18
  47. package/dist/{index-DVz3a2jZ.d.mts → index-XcnFGiKL.d.mts} +4 -4
  48. package/dist/{index-BM_y78ZA2.d.mts → index-cN4DkU5Y2.d.mts} +9 -9
  49. package/dist/kernel/extension/index.d.mts +1 -1
  50. package/dist/kernel/index.d.mts +2 -2
  51. package/dist/kernel/observability/index.d.mts +1 -1
  52. package/dist/{lib-DkLlhp9Z.mjs → lib-B-R6VZW0.mjs} +2 -2
  53. package/dist/{lib-jOuIcSs9.mjs → lib-BwYODPdd.mjs} +1 -1
  54. package/dist/mcp-http-server/index.mjs +1 -1
  55. package/dist/{namespace-CEqkI6Zu.d.mts → namespace-B091meTj.d.mts} +6 -6
  56. package/dist/{namespace-CN2TfSCY.d.mts → namespace-Ba1gUpUu.d.mts} +4 -4
  57. package/dist/{namespace-BAJTZXWc.d.mts → namespace-CO3DK1v_.d.mts} +60 -23
  58. package/dist/{namespace-H9A39Mx8.d.mts → namespace-CZgcOQTh.d.mts} +56 -56
  59. package/dist/{namespace-Cj7k5UH7.d.mts → namespace-Daq_-170.d.mts} +7 -7
  60. package/dist/package-DP8lk0-a.mjs +1 -0
  61. package/dist/package.json +1 -1
  62. package/dist/primitive-runtime-Dw6OC8w5.mjs +1 -0
  63. package/dist/{providers-namespace-C0C-Sb4N.d.mts → providers-namespace-B4INLPUc.d.mts} +7 -7
  64. package/dist/{registry-udUhXSIC.mjs → registry-CwjZvH2s.mjs} +2 -1
  65. package/dist/runtime-node/index.d.mts +1 -1
  66. package/dist/runtime-node/index.mjs +1 -1
  67. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  68. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  69. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  70. package/dist/{schema-msWs4YhT.d.mts → schema-DcZifH6p.d.mts} +27 -1
  71. package/dist/{schemas-DMl7IKG-.d.mts → schemas-BbFAwUpf.d.mts} +5 -5
  72. package/dist/{schemas-Cae5dubB.d.mts → schemas-BqscWIoC.d.mts} +6 -6
  73. package/dist/{schemas-DuQ9EcLu2.d.mts → schemas-CTIaU6Rt2.d.mts} +12 -12
  74. package/dist/{schemas-CN9hprME.d.mts → schemas-IDGAJ_zv.d.mts} +6 -6
  75. package/dist/schemas-dNCdjOLB.mjs +1 -0
  76. package/dist/services/adapter-subsystem/index.d.mts +2 -2
  77. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  78. package/dist/services/context-rules/index.d.mts +3 -3
  79. package/dist/services/execution-target/index.d.mts +2 -2
  80. package/dist/services/execution-target/namespace.d.mts +1 -1
  81. package/dist/services/execution-target/schemas.d.mts +1 -1
  82. package/dist/services/filesystem/namespace.d.mts +6 -6
  83. package/dist/services/filesystem/schemas.d.mts +3 -3
  84. package/dist/services/harness/index.d.mts +3 -3
  85. package/dist/services/index.d.mts +57 -57
  86. package/dist/services/index.mjs +1 -1
  87. package/dist/services/session/handlers/index.mjs +1 -1
  88. package/dist/services/session/index.d.mts +4 -4
  89. package/dist/services/session/index.mjs +1 -1
  90. package/dist/services/session/messages/namespace.d.mts +1 -1
  91. package/dist/services/session/storage/namespace.d.mts +1 -1
  92. package/dist/services/session/storage/schema.d.mts +1 -1
  93. package/dist/services/session/storage/schema.mjs +1 -1
  94. package/dist/services/session/testing/index.mjs +2 -1
  95. package/dist/services/settings/index.d.mts +1 -1
  96. package/dist/services/settings/namespace.d.mts +12 -12
  97. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  98. package/dist/services/settings/storage/index.d.mts +1 -1
  99. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  100. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  101. package/dist/services/subagent-template/index.d.mts +1 -1
  102. package/dist/services/subagent-template/schemas.d.mts +1 -1
  103. package/dist/services/tool-approval/index.mjs +1 -1
  104. package/dist/services/tools/index.mjs +1 -1
  105. package/dist/services/tray-menu/index.d.mts +2 -2
  106. package/dist/services/tray-menu/namespace.d.mts +1 -1
  107. package/dist/services/tray-menu/schemas.d.mts +1 -1
  108. package/dist/session-DApMcL_0.mjs +1 -0
  109. package/dist/session-R-wciAdJ.mjs +39 -0
  110. package/dist/{session-lineage-DFkJgYt5.d.mts → session-lineage-D_8W1MI0.d.mts} +1 -1
  111. package/dist/storage/drizzle/client.mjs +1 -1
  112. package/dist/storage/drizzle/index.mjs +1 -1
  113. package/dist/{tool-approval-service-B_28RhuK.mjs → tool-approval-service-DhAqQqev.mjs} +1 -1
  114. package/dist/tools/index.d.mts +8 -0
  115. package/dist/tools-DeZIVtxe.mjs +1 -0
  116. package/dist/{types-DUNA749O.d.mts → types-CCsvoUTA.d.mts} +33 -15
  117. package/dist/workflow-engine/index.d.mts +49 -25
  118. package/dist/workflow-engine/index.mjs +1 -1
  119. package/dist/workflow-engine/package.mjs +1 -1
  120. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  121. package/dist/{workflow-worker-CjuRYLmJ.mjs → workflow-worker-DMFhz1q_.mjs} +1 -1
  122. package/package.json +1 -1
  123. package/dist/adapter-ux2xaQ6H.mjs +0 -1
  124. package/dist/await-trigger-uKEHY8E4.mjs +0 -1
  125. package/dist/compression-Cy9DIqyr.mjs +0 -1
  126. package/dist/definition-Bija4lGr.mjs +0 -1
  127. package/dist/package-lxB0vpby.mjs +0 -1
  128. package/dist/primitive-runtime-BSg8J7VX.mjs +0 -1
  129. package/dist/schemas-Dvm_0GDr.mjs +0 -1
  130. package/dist/session-Is5VSP2V.mjs +0 -1
  131. package/dist/session-ZAJrcudH.mjs +0 -39
  132. package/dist/tools-BpzJterj.mjs +0 -1
@@ -0,0 +1 @@
1
+ import{SessionStorageSubjects as e}from"./services/session/storage/namespace.mjs";import{x as t}from"./handlers-dnpT_hsm.mjs";import{A as n,G as r,K as i,L as a,Y as o,a as s,b as c,c as l,i as u,n as d,p as f,r as ee,w as te,z as ne}from"./session-R-wciAdJ.mjs";import{n as p}from"./namespace-FJsnoEQy.mjs";import{t as re}from"./capability-service-CHl8rrwb.mjs";import"./services/adapter-subsystem/index.mjs";import{i as ie,s as ae}from"./model-registry-DLeMw3l8.mjs";import{t as oe}from"./tool-approval-service-DhAqQqev.mjs";import{t as se}from"./tray-menu-service-am356993.mjs";import{r as m,t as h}from"./handler-BIA3ld4C.mjs";import{n as ce}from"./package-YQeRE8bV.mjs";import{t as le}from"./filesystem-service-T8JOIWeP.mjs";import{z as g}from"zod";import{createHash as ue}from"node:crypto";import{MakaioError as de,createMakaioContext as fe}from"@makaio/framework/core";import{MakaioBus as _}from"@makaio/framework/bus";import{AdapterSubjects as pe,ArtifactSubjects as v,CanonicalModelSubjects as me,DEFAULT_HARNESSES as he,HarnessDefinitionCreateSchema as ge,HarnessSubjects as y,JsonValueSchema as _e,ToolSubjects as b,TransitionRuleDefinitionSchema as ve,WorkflowBlocksSubjects as ye,WorkflowSubjects as be,dep as x,extensionToken as S,validateToolAdapterIdentity as xe,zodSchemaToJsonRecord as C}from"@makaio/framework/contracts";import{BaseService as w}from"@makaio/framework/service-base";import{registerDrizzleHandlers as T}from"@makaio/framework/storage/drizzle";import{slugifyProviderConfigName as Se}from"@makaio/framework/contracts/config";import{ClientAccountIdentifierSchema as Ce,ClientSessionAccountObserveSchema as we,ClientSubjects as E}from"@makaio/framework/contracts/client";import{FacetSubjects as D}from"@makaio/framework/contracts/facet";import{MaterializationSubjects as O}from"@makaio/framework/contracts/materialization";import{FILE_ACCESS_RULES_KEY as Te,FILE_ACCESS_RULES_KEY as Ee,ToolErrorCodes as k,errorToToolResult as De,extractToolFilePath as Oe,toolError as A,toolSuccess as ke}from"@makaio/framework/tools";import{ConditionSchema as Ae,evaluate as je}from"@makaio/framework/rules";import{evaluateSync as Me}from"@makaio/framework/expression";import{GitService as Ne}from"@makaio/framework/git";const Pe=[{type:`supersedes`,symmetry:`asymmetric`},{type:`contradicts`,symmetry:`symmetric`},{type:`derives_from`,symmetry:`asymmetric`},{type:`responds_to`,symmetry:`asymmetric`},{type:`contains`,symmetry:`asymmetric`},{type:`refines`,symmetry:`asymmetric`},{type:`scopes`,symmetry:`asymmetric`},{type:`references`,symmetry:`asymmetric`},{type:`evidenced_by`,symmetry:`asymmetric`}],j={extension:0,"factory-repo":1,"target-repo":2},M={source:`extension`,ownerKey:`extension:bus`};function N(e){return`${e.source}:${e.ownerKey}`}function Fe(e,t){return e.source===t.source&&e.ownerKey===t.ownerKey}function P(e){return structuredClone(e)}function F(e,t){return`${e}@${t}`}var I=class extends w{kinds=new Map;kindContributions=new Map;nextKindContributionOrder=0;relationTypes=new Map;constructor(e){super(e)}async onInit(){for(let e of Pe)this.relationTypes.set(e.type,e);this.registerHandler(v.kind.register,e=>{this.registerKind(e.payload),e.setResult({registered:!0})}),this.registerHandler(v.kind.list,e=>{let{kind:t}=e.payload,n=[...this.kinds.values()].filter(e=>!t||e.kind===t).map(P);e.setResult({kinds:n})}),this.registerHandler(v[`relation-type`].register,e=>{this.storeRelationType(e.payload),e.setResult({registered:!0})}),this.registerHandler(v[`relation-type`].list,e=>{let{type:t}=e.payload,n=[...this.relationTypes.values()].filter(e=>!t||e.type===t).map(P);e.setResult({relationTypes:n})})}compareKindContributions(e,t){let n=j[e.owner.source]-j[t.owner.source];return n===0?e.owner.source===`extension`?t.order-e.order:e.order-t.order:n}findSameTierRepoConflict(e,t,n){return[...e.values()].find(e=>!Fe(e.owner,t)&&e.owner.source===t.source&&t.source!==`extension`&&e.order<=n)}recomputeKindWinner(e){let t=this.kindContributions.get(e),n=this.kinds.get(e);if(t===void 0||t.size===0){this.kindContributions.delete(e),this.kinds.delete(e),this.emitKindChangedFromKey(e,n);return}let r;for(let e of t.values())(r===void 0||this.compareKindContributions(e,r)<0)&&(r=e);let i=r;this.kinds.set(e,P(i.registration)),JSON.stringify(n)!==JSON.stringify(i.registration)&&this.bus.emit(v.kind.changed,{kind:i.registration.kind,schemaVersion:i.registration.schemaVersion})}emitKindChangedFromKey(e,t){t!==void 0&&this.bus.emit(v.kind.changed,{kind:t.kind,schemaVersion:t.schemaVersion})}registerKind(e,t=M){let n=F(e.kind,e.schemaVersion),r=this.kindContributions.get(n)??new Map,i=N(t),a=r.get(i),o=t.source===`extension`?this.nextKindContributionOrder:a?.order??this.nextKindContributionOrder,s=this.findSameTierRepoConflict(r,t,o);if(s!==void 0){console.warn(`[ArtifactSchemaRegistry] Artifact kind '${n}' is already registered by '${s.owner.ownerKey}' at the same priority; keeping the existing owner.`);return}r.set(i,{owner:t,registration:P(e),order:t.source===`extension`||a===void 0?this.nextKindContributionOrder++:a.order}),this.kindContributions.set(n,r),this.recomputeKindWinner(n)}deregisterKind(e,t,n=M){let r=F(e,t),i=this.kindContributions.get(r);i!==void 0&&(i.delete(N(n)),this.recomputeKindWinner(r))}replaceKindRegistrationsForOwner(e,t){let n=new Set,r=N(e),i=new Map;for(let[e,t]of this.kindContributions.entries()){let a=t.get(r);a!==void 0&&(i.set(e,a.order),t.delete(r),n.add(e))}for(let a of t){let t=F(a.kind,a.schemaVersion),o=this.kindContributions.get(t)??new Map,s=e.source===`extension`?void 0:i.get(t),c=s??this.nextKindContributionOrder,l=this.findSameTierRepoConflict(o,e,c);if(l!==void 0){console.warn(`[ArtifactSchemaRegistry] Artifact kind '${t}' is already registered by '${l.owner.ownerKey}' at the same priority; keeping the existing owner.`);continue}o.set(r,{owner:e,registration:P(a),order:s??this.nextKindContributionOrder++}),this.kindContributions.set(t,o),n.add(t)}for(let e of n)this.recomputeKindWinner(e)}storeRelationType(e){let t=this.relationTypes.get(e.type);if(t){if(t.symmetry!==e.symmetry)throw Error(`Relation type '${e.type}' is already registered with different symmetry (existing: '${t.symmetry}', new: '${e.symmetry}')`);return}this.relationTypes.set(e.type,P(e))}getKind(e,t){let n=this.kinds.get(F(e,t));return n?P(n):void 0}getRelationType(e){let t=this.relationTypes.get(e);return t?P(t):void 0}onDestroy(){this.kinds.clear(),this.kindContributions.clear(),this.relationTypes.clear(),this.nextKindContributionOrder=0}},L=class extends Error{reason;hookId;constructor(e,t){super(`Artifact write rejected by hook '${t}': ${e}`),this.reason=e,this.hookId=t,this.name=`ArtifactLifecycleHookRejectedError`}};function R(e,t){return e?!(e.kind!==void 0&&e.kind!==`*`&&e.kind!==t.kind||e.schemaVersion!==void 0&&e.schemaVersion!==t.schemaVersion):!0}function z(e){return e.priority??0}function Ie(e,t,n){return e.filter(e=>e.event===t&&R(e.filter,n)).sort((e,t)=>z(t)-z(e))}function Le(e,t,n){return e.filter(e=>e.event===t&&R(e.filter,n)).sort((e,t)=>z(t)-z(e))}function Re(e,t){return{...e,...`data`in t?{data:t.data}:{},...`relations`in t?{relations:t.relations}:{},...`confidence`in t?{confidence:t.confidence}:{},...`representations`in t?{representations:t.representations}:{},...`actor`in t?{actor:t.actor}:{}}}function ze(e,t){let{confidence:n,representations:r,...i}=e;return{...i,data:t.data,relations:[...t.relations],...t.confidence===void 0?{}:{confidence:t.confidence},...t.representations===void 0?{}:{representations:t.representations},actor:t.actor}}var B=class extends w{registrations=new Map;constructor(e){super(e)}async onInit(){}onDestroy(){this.registrations.clear()}registerHooks(e,t){let n=[...t];this.registrations.set(e,n);let r=!1;return()=>{r||(r=!0,this.registrations.get(e)===n&&this.registrations.delete(e))}}allHooks(){let e=[];for(let t of this.registrations.values())e.push(...t);return e}async runBeforeCreate(e){return this.runBeforeHooks(`beforeCreate`,e)}async runBeforeRevise(e){return this.runBeforeHooks(`beforeRevise`,e)}async runBeforeHooks(e,t){let{draft:n,previous:r,kindRegistration:i}=t,a=Ie(this.allHooks(),e,n),o=new Map,s={kind:n.kind,schemaVersion:n.schemaVersion,scope:n.scope,data:n.data,relations:n.relations,...n.confidence===void 0?{}:{confidence:n.confidence},...n.representations===void 0?{}:{representations:n.representations},actor:n.actor},c=!1;for(let t of a){let n,a={event:e,get draft(){return s},previous:r,kindRegistration:i,bus:this.bus,meta:o,rejectCreation(e){n={reason:e}},skipMaterialization(){c=!0},updateDraft(e){s=Re(s,e)}};if(await t.handler(a),n)throw new L(n.reason,t.id)}return{draft:ze(n,s),skipMaterialization:c,meta:o}}async runAfterCreate(e){await this.runAfterHooks(`afterCreate`,`created`,e)}async runAfterRevise(e){await this.runAfterHooks(`afterRevise`,`revised`,e)}async runAfterStatusChanged(e){await this.runAfterHooks(`afterStatusChanged`,`status-changed`,e)}async runAfterObservationAdded(e){await this.runAfterHooks(`afterObservationAdded`,`observation-added`,e)}async runAfterHooks(e,t,n){let{artifact:r,previous:i,observation:a,kindRegistration:o,projectionPolicy:s,skipDefaultProjection:c,meta:l}=n,u=Le(this.allHooks(),e,r),d=this.bus,f=!1;for(let n of u){if(c&&(n.priority??0)<0||f&&(n.priority??0)<0)continue;let u={event:e,semanticEvent:t,artifact:r,previous:i?{refClass:`artifact`,id:i.id,revision:i.revision,kind:i.kind}:void 0,observation:a,kindRegistration:o,projectionPolicy:s,bus:d,meta:l,preventDefault(){f=!0},async resolveRelations(e){let t=r.relations.filter(t=>t.type===e).map(e=>e.target),n=[];for(let e of t){let t=e;if(t.refClass===`artifact`){let e=t,{artifact:r}=await d.request(v.resolve,{ref:e});r&&n.push(r)}}return n}};try{await n.handler(u)}catch(t){console.error(`[ArtifactLifecycleHookRegistry] Hook '${n.id}' threw during '${e}':`,t)}}}};function V(e){return structuredClone(e)}var Be=class extends w{namespaces=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(D.namespace.register,e=>{this.registerNamespace(e.payload),e.setResult({registered:!0})}),this.registerHandler(D.namespace.list,e=>{let{namespace:t}=e.payload,n=[...this.namespaces.values()].filter(e=>!t||e.namespace===t).map(V);e.setResult({namespaces:n})})}registerNamespace(e){let t=this.namespaces.get(e.namespace);if(t){if(JSON.stringify(t)!==JSON.stringify(e))throw Error(`Facet namespace '${e.namespace}' is already registered with a different definition`);return}this.namespaces.set(e.namespace,V(e)),this.bus.emit(D.namespace.changed,{namespace:e.namespace})}deregisterNamespace(e){this.namespaces.delete(e)&&this.bus.emit(D.namespace.changed,{namespace:e})}getNamespace(e){let t=this.namespaces.get(e);return t?V(t):void 0}onDestroy(){this.namespaces.clear()}};function H(e){return structuredClone(e)}var Ve=class extends w{bindings=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(O.surfaceBinding.register,e=>{this.registerBinding(e.payload),e.setResult({registered:!0})}),this.registerHandler(O.surfaceBinding.list,e=>{let{provider:t,namespace:n}=e.payload,r=[...this.bindings.values()].filter(e=>(!t||e.provider===t)&&(!n||e.namespace===n)).map(H);e.setResult({bindings:r})})}registerBinding(e){let t=this.bindings.get(e.id);if(t){if(JSON.stringify(t)!==JSON.stringify(e))throw Error(`Surface binding '${e.id}' is already registered with a different definition`);return}this.bindings.set(e.id,H(e)),this.bus.emit(O.surfaceBinding.changed,{id:e.id,provider:e.provider})}deregisterBinding(e){let t=this.bindings.get(e);t&&(this.bindings.delete(e),this.bus.emit(O.surfaceBinding.changed,{id:e,provider:t.provider}))}getBinding(e){let t=this.bindings.get(e);return t?H(t):void 0}onDestroy(){this.bindings.clear()}},U=class extends de{code;suggestions;constructor(e,t,n){super(e),this.code=t,this.suggestions=n}},He=class{deps;constructor(e){this.deps=e}async resolve(e,t){switch(e.kind){case`bare`:return this.resolveBare(e.model);case`qualified`:return this.resolveQualified(e.segment1,e.segment2,e.model)}}async resolveBare(e){let t=await this.deps.resolveDefaultModelTarget(e);switch(t.kind){case`resolved`:return{kind:`adapter`,adapterName:t.target.adapterName,providerConfigId:t.target.providerConfigId,model:t.target.model};case`ambiguous`:throw new U(`Model "${e}" is available via multiple providers. Use a qualified reference to select one.`,`ambiguous-model`,t.matches.map(e=>e.qualifiedName));case`not-found`:throw new U(`Model "${e}" was not found in any enabled adapter's registry.`,`model-not-found`)}}async resolveQualified(e,t,n){return t===void 0?this.resolveQualifiedOneSegment(e,n):this.resolveQualifiedTwoSegments(e,t,n)}async resolveQualifiedTwoSegments(e,t,n){let r=await this.deps.listEnabledAdapterNames();if(!r.includes(e))throw new U(`Adapter "${e}" is not enabled or does not exist.`,`adapter-not-found`);return{kind:`adapter`,adapterName:e,providerConfigId:await this.resolveProviderSegment(t,e,r),model:n}}async resolveQualifiedOneSegment(e,t){let n=await this.deps.listEnabledAdapterNames();if(n.includes(e)){let n=await this.deps.getDefaultBinding(e);if(!n)throw new U(`Adapter "${e}" has no enabled provider binding. Configure or enable a provider binding first.`,`no-binding`);return{kind:`adapter`,adapterName:e,providerConfigId:n.providerConfigId,model:t}}let r=await this.deps.findProviderConfigByName(e);if(r)return{kind:`adapter`,adapterName:(await this.pickBindingForConfig(r.id,n)).adapterName,providerConfigId:r.id,model:t};let i=await this.deps.findProviderDefinition(e,n);if(i){let r=await this.deps.findDefaultConfigForDefinition(i.id);if(!r)throw new U(`Provider definition "${e}" exists but has no configured provider config. Create a provider config first.`,`provider-not-found`);return{kind:`adapter`,adapterName:(await this.pickBindingForConfig(r.id,n)).adapterName,providerConfigId:r.id,model:t}}throw new U(`"${e}" does not match any enabled adapter name, provider config name, or provider definition ID.`,`adapter-not-found`)}async resolveProviderSegment(e,t,n){let r=await this.deps.findProviderConfigByName(e);if(r)return await this.requireBindingForAdapterAndConfig(t,r.id,e),r.id;let i=await this.deps.findProviderDefinition(e,n);if(i){let n=await this.deps.findConfigForDefinitionAndAdapter(i.id,t);if(!n)throw new U(`Provider definition "${e}" has no enabled config bound to adapter "${t}". Create a provider config and binding first.`,`no-binding`);return n.id}throw new U(`"${e}" does not match any provider config name or provider definition ID.`,`provider-not-found`)}async requireBindingForAdapterAndConfig(e,t,n){if(!(await this.deps.listBindingsForConfig(t)).some(t=>t.adapterName===e))throw new U(`No binding exists between adapter "${e}" and provider "${n}". Create a binding first.`,`no-binding`)}async pickBindingForConfig(e,t){let n=(await this.deps.listBindingsForConfig(e)).filter(e=>t.includes(e.adapterName));if(n.length===0)throw new U(`Provider config "${e}" has no bindings to enabled adapters. Bind it to an enabled adapter first.`,`no-binding`);return n.find(e=>e.isDefault)??n[0]}},Ue=class e extends w{constructor(e=_){super(e)}async onInit(){await this.bus.request(p.ensureReady,{});let e=new He(this.createDeps());this.registerHandler(me.resolve,async t=>{let n=await e.resolve(t.payload.parsed,t.payload.context);t.setResult(n)})}createDeps(){let e=this.bus,t=async()=>{let{adapters:t}=await e.request(p.listAdapters,{});return t.filter(e=>e.enabled).map(e=>e.name)},n=async t=>{let[n,r]=await Promise.all([e.request(p.getDefaultBinding,{adapterName:t}),this.listEnabledProviderConfigIds()]);if(n.binding&&r.has(n.binding.providerConfigId))return n.binding;let{bindings:i}=await e.request(p.listBindings,{adapterName:t}),a=i.filter(e=>r.has(e.providerConfigId));return a.find(e=>e.isDefault)??a[0]},r=async t=>{let{definitions:n}=await e.request(p.getProviderDefinitionsByAdapter,{adapterName:t});return n},i=async t=>{let{bindings:n}=await e.request(p.listBindingsByConfig,{providerConfigId:t});return n},a=async t=>{let{configs:n}=await e.request(p.listProviderConfigs,{enabled:!0}),r=Se(t);return n.find(e=>Se(e.name)===r)},o=this.buildFindProviderDefinition(t,r),s=async t=>{let{configs:n}=await e.request(p.listProviderConfigsByDefinition,{definitionId:t}),r=n.filter(e=>e.enabled);return r.find(e=>e.isDefault)??r[0]},c=async(t,n)=>{let{config:r}=await e.request(p.findConfigForDefinitionAndAdapter,{definitionId:t,adapterName:n});return r?{id:r.id}:void 0};return{listEnabledAdapterNames:t,getDefaultBinding:n,findProviderConfigByName:a,findProviderDefinition:o,listBindingsForConfig:i,findDefaultConfigForDefinition:s,findConfigForDefinitionAndAdapter:c,resolveDefaultModelTarget:this.buildResolveDefaultModelTarget(t,r,c)}}buildFindProviderDefinition(e,t){return async(n,r)=>{let i=r??await e();for(let e of i){let r=(await t(e)).find(e=>e.id===n);if(r)return r}}}buildResolveDefaultModelTarget(t,n,r){let i=this.bus;return async a=>{let o=await t(),s=await Promise.all(o.map(async e=>({adapterName:e,definitions:await n(e)}))),c=Array.from(new Set(s.flatMap(({definitions:e})=>e.map(e=>e.id))));if(c.length===0)return{kind:`not-found`};let{matches:l}=await i.request(ae.checkModelInProviders,{providerIds:c,model:a}),u=(await Promise.all(s.map(({adapterName:e,definitions:t})=>this.collectAdapterCandidates(e,t,a,l,r)))).flat();return e.buildResolution(u)}}async collectAdapterCandidates(e,t,n,r,i){let a=t.filter(e=>e.id in r),o=await Promise.all(a.map(t=>i(t.id,e)));return a.flatMap((t,r)=>{let i=o[r];return i?[{adapterName:e,definitionId:t.id,providerConfigId:i.id,qualifiedName:`${e}/${t.id}::${n}`,model:n}]:[]})}static buildResolution(e){let t=Array.from(new Map(e.map(e=>[this.routeKey(e),e])).values());if(t.length===0)return{kind:`not-found`};if(t.length>1)return{kind:`ambiguous`,matches:t.map(({adapterName:e,definitionId:t,qualifiedName:n})=>({adapterName:e,definitionId:t,qualifiedName:n}))};let[n]=t;return{kind:`resolved`,target:{adapterName:n.adapterName,providerConfigId:n.providerConfigId,definitionId:n.definitionId,model:n.model}}}static routeKey(e){return`${e.adapterName}\0${e.definitionId}\0${e.providerConfigId}`}async listEnabledProviderConfigIds(){let{configs:e}=await this.bus.request(p.listProviderConfigs,{enabled:!0});return new Set(e.map(e=>e.id))}};const W={name:`makaio.canonical-model`,displayName:`Canonical Model`,version:`0.1.0`,critical:!1,create:e=>new Ue(e.bus)};function We(e){let t=xe({adapterId:e?.adapterId,adapterName:e?.adapterName,contextOverrides:{adapterId:e?.contextOverrides?.adapterId,adapterName:e?.contextOverrides?.adapterName}}),n=t.issues[0];return n?A(k.VALIDATION_FAILED,n.message):ke(t.effectiveIdentity)}function Ge(e){let t=e?.allowedDirectories;if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}async function Ke(e,t,n,r){let i=new Map;for(let e of t)i.set(e.name,await r(e.name));let a=t.filter(e=>{let t=i.get(e.name);return!t?.allowedAdapters||t.allowedAdapters.length===0?!0:t.allowedAdapters.includes(n)}),o=new Set(a.map(e=>e.name));return{filteredTools:e.filter(e=>!(!o.has(e.toolsetName)||i.get(e.toolsetName)?.disabledTools?.includes(e.name))),filteredToolsets:a}}function qe(){return`exec_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}var Je=class{bus;toolsets=new Map;tools=new Map;cleanupHandlers=[];handlerPriority;policyProvider;fileAccessRuleProvider;revision=0;constructor(e){this.bus=e?.bus??_,this.handlerPriority=e?.handlerPriority??0,this.policyProvider=e?.policyProvider,this.fileAccessRuleProvider=e?.fileAccessRuleProvider,this.registerHandlers()}registerHandlers(){let e=this.bus.on(b.list,async e=>{let{toolsetName:t,adapterId:n,adapterName:r}=e.payload,{tools:i,toolsets:a}=await this.listToolsWithToolsets({toolsetName:t,adapterId:n,adapterName:r});e.setResult({tools:i,toolsets:a})},{priority:this.handlerPriority});this.cleanupHandlers.push(e);let t=this.bus.on(b.execute,async e=>{let{toolName:t,input:n,adapterId:r,adapterName:i,contextOverrides:a}=e.payload,o=await this.execute(t,n,{contextOverrides:a,adapterId:r,adapterName:i});e.setResult(o)},{priority:this.handlerPriority});this.cleanupHandlers.push(t)}async register(e){if(this.toolsets.has(e.metadata.name))throw Error(`Toolset '${e.metadata.name}' is already registered`);let t=[],n=[];for(let[,r]of Object.entries(e.tools)){let i=r.metadata.name;if(this.tools.has(i))throw Error(`Tool '${i}' is already registered (from toolset '${this.tools.get(i).toolsetName}')`);n.push({tool:r,toolsetName:e.metadata.name}),t.push(i)}this.toolsets.set(e.metadata.name,e);for(let e=0;e<n.length;e+=1)this.tools.set(t[e],n[e]);await this.emitRegistryChanged(`toolset-registered`,e.metadata.name).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${b.registryChanged.subject} for '${e.metadata.name}':`,t)),await this.bus.emit(b.registered,{toolsetName:e.metadata.name,toolsetVersion:e.metadata.version,toolNames:t}).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${b.registered.subject} for '${e.metadata.name}':`,t))}async deregister(e){let t=this.toolsets.get(e);if(!t)throw Error(`Toolset '${e}' is not registered`);for(let e of Object.values(t.tools))this.tools.delete(e.metadata.name);this.toolsets.delete(e),await this.emitRegistryChanged(`toolset-unregistered`,e).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${b.registryChanged.subject} for '${e}':`,t))}async emitRegistryChanged(e,t){this.revision+=1,await this.bus.emit(b.registryChanged,{revision:this.revision,reason:e,toolsetName:t})}async execute(e,t,n){let r=this.tools.get(e);if(!r)return A(k.TOOL_NOT_FOUND,`Tool '${e}' not found`);let i=We(n);if(!i.success)return i;let{tool:a,toolsetName:o}=r,s=await this.checkPolicy(o,e,i.data.adapterId,i.data.adapterName);if(s)return s;let c=qe(),l=Date.now();await this.bus.emit(b.started,{toolName:e,toolsetName:o,executionId:c,timestamp:l});try{let r=a.inputSchema.safeParse(t);if(!r.success){let t=A(k.VALIDATION_FAILED,`Input validation failed`,{issues:r.error.issues});return await this.bus.emit(b.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:t.error}),t}let s=await this.buildExecutionContext(n,i.data),u=await a.execute(r.data,s);return u.success?await this.bus.emit(b.completed,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),durationMs:Date.now()-l}):await this.bus.emit(b.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:u.error}),u}catch(t){let n=De(t);return await this.bus.emit(b.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:n.error}),n}}async buildExecutionContext(e,t){let n=e?.contextOverrides?.constraints;if(this.fileAccessRuleProvider){let t=e?.contextOverrides?.cwd??process.cwd(),r=Ge(n),i=await this.fileAccessRuleProvider(t,r);n={...n,[Te]:i}}let r=fe({...e?.contextOverrides,constraints:n}),i=e?.contextOverrides;return{...r,bus:this.bus,sessionId:i?.sessionId,agentId:i?.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:i?.adapterSessionId,turnId:i?.turnId,turnContext:i?.turnContext,toolCallId:i?.toolCallId}}async checkPolicy(e,t,n,r){if(!this.policyProvider)return null;let i=await this.policyProvider(e);if(!i)return null;if(i.disabledTools?.includes(t))return A(k.PERMISSION_DENIED,`Tool '${t}' is disabled`,{toolsetName:e,toolName:t});if(i.allowedAdapters&&i.allowedAdapters.length>0){let t=r??n;if(!t||!i.allowedAdapters.includes(t))return A(k.PERMISSION_DENIED,`Adapter not allowed for toolset '${e}'`,{toolsetName:e,adapterId:n,adapterName:r,allowedAdapters:i.allowedAdapters})}return null}listTools(e){let t=[];for(let[,n]of this.tools){if(e?.toolsetName&&n.toolsetName!==e.toolsetName)continue;let{$schema:r,...i}=g.toJSONSchema(n.tool.inputSchema);t.push({name:n.tool.metadata.name,description:n.tool.metadata.description,toolsetName:n.toolsetName,annotations:n.tool.metadata.annotations,inputSchema:i})}return t}listToolsets(){let e=[];for(let[,t]of this.toolsets){let n={name:t.metadata.name,description:t.metadata.description,version:t.metadata.version,toolCount:Object.keys(t.tools).length};if(t.configSchema){let{$schema:e,...r}=g.toJSONSchema(t.configSchema);n.configSchema=r}e.push(n)}return e}async listToolsWithToolsets(e){let t=this.listTools(e),n=this.listToolsets(),r=e?.toolsetName?n.filter(t=>t.name===e.toolsetName):n,i=e?.adapterName??e?.adapterId;if(this.policyProvider&&i){let{filteredTools:e,filteredToolsets:n}=await Ke(t,r,i,this.policyProvider);return{tools:e,toolsets:n}}return{tools:t,toolsets:r}}getTool(e){return this.tools.get(e)?.tool}getToolset(e){return this.toolsets.get(e)}dispose(){for(let e of this.cleanupHandlers)e();this.cleanupHandlers.length=0}destroy(){this.dispose()}},Ye=class extends w{triggersByExtension=new Map;stepsByExtension=new Map;revision=0;cache=null;constructor(e){super(e)}onInit(){this.registerHandler(ye.list,e=>{e.setResult({triggers:this.listTriggers(),steps:this.listSteps()})})}async register(e,t){let n=[],r=[],i=this.snapshotExtensionState(e),a=new Set;for(let e of this.triggersByExtension.values())for(let t of e)a.add(t.metadata.name);for(let e of this.stepsByExtension.values())for(let t of e)a.add(t.metadata.name);if(t.triggers)for(let r of t.triggers)this.assertExtensionNamespace(e,r.metadata),this.assertNoCollision(r.metadata,a),a.add(r.metadata.name),n.push({metadata:{...r.metadata,extensionName:e},configSchema:C(r.configSchema),outputSchema:C(r.outputSchema)});if(t.steps)for(let n of t.steps)this.assertExtensionNamespace(e,n.metadata),this.assertNoCollision(n.metadata,a),a.add(n.metadata.name),r.push({metadata:{...n.metadata,extensionName:e},configSchema:C(n.configSchema),inputSchema:C(n.inputSchema),outputSchema:C(n.outputSchema),runs:structuredClone(n.runs)});if(n.length>0&&this.triggersByExtension.set(e,n),r.length>0&&this.stepsByExtension.set(e,r),n.length>0||r.length>0){this.revision+=1;try{await this.emitChanged(e,`registered`)}catch(t){throw this.restoreExtensionState(e,i),t}}}async deregister(e){let t=this.snapshotExtensionState(e),n=this.triggersByExtension.delete(e),r=this.stepsByExtension.delete(e);if(n||r){this.revision+=1;try{await this.emitChanged(e,`deregistered`)}catch(n){throw this.restoreExtensionState(e,t),n}}}listTriggers(){return this.getCache().triggers.map(Xe)}listSteps(){return this.getCache().steps.map(Ze)}async emitChanged(e,t){await this.bus.emit(ye.changed,{extensionName:e,revision:this.revision,reason:t})}getCache(){return(!this.cache||this.cache.revision!==this.revision)&&(this.cache={revision:this.revision,triggers:[...this.triggersByExtension.values()].flat(),steps:[...this.stepsByExtension.values()].flat()}),this.cache}snapshotExtensionState(e){return{triggers:this.triggersByExtension.get(e),steps:this.stepsByExtension.get(e),revision:this.revision,cache:this.cache}}restoreExtensionState(e,t){t.triggers?this.triggersByExtension.set(e,t.triggers):this.triggersByExtension.delete(e),t.steps?this.stepsByExtension.set(e,t.steps):this.stepsByExtension.delete(e),this.revision=t.revision,this.cache=t.cache}assertNoCollision(e,t){if(t.has(e.name))throw Error(`Workflow block name collision: '${e.name}' is already registered`)}assertExtensionNamespace(e,t){let n=`${e}.`;if(!t.name.startsWith(n))throw Error(`Workflow block '${t.name}' must be namespaced by extension '${n}'`)}};function Xe(e){return{metadata:Qe(e.metadata),configSchema:structuredClone(e.configSchema),outputSchema:structuredClone(e.outputSchema)}}function Ze(e){return{metadata:Qe(e.metadata),configSchema:structuredClone(e.configSchema),inputSchema:structuredClone(e.inputSchema),outputSchema:structuredClone(e.outputSchema),runs:structuredClone(e.runs)}}function Qe(e){return e.categories?{...e,categories:[...e.categories]}:{...e}}const G=`workflow.start`;function $e(e){return()=>({async execute(t,n){let{input:r={},executionHints:i}=t,{workflowId:a}=r;if(typeof a!=`string`||a.length===0)throw Error(`[TransitionActionRegistry] 'workflow.start' action requires a non-empty 'input.workflowId' string`);await e.request(be.start,{workflowId:a,input:et(r,n),config:r.config,artifactRef:r.artifactRef,scope:r.scope,triggerPayload:{_transitionRuleId:n._transition.ruleId,_transitionDepth:n._transition.depth,_transitionEventType:n._transition.eventType},executionHints:i})}})}function et(e,t){let n=e.inputExpression;if(typeof n!=`string`)return e.input;let r=Me(n,tt(t)),i=_e.safeParse(r);if(!i.success)throw Error(`[TransitionActionRegistry] 'workflow.start' inputExpression for rule '${t._transition.ruleId}' must resolve to a JSON value`);return i.data}function tt(e){let t={...e};return{...t,ctx:t}}var nt=class{factories=new Map;factoriesBySource=new Map;constructor(e){this.factories.set(G,$e(e)),this.factoriesBySource.set(`__builtin__`,[G])}register(e,t){let n=Object.keys(t);if(n.length!==0){if(this.factoriesBySource.has(e))throw Error(`TransitionActionRegistry: duplicate source '${e}'`);for(let t of n)if(this.factories.has(t))throw Error(`TransitionActionRegistry: duplicate action type '${t}' from source '${e}'`);for(let e of n)this.factories.set(e,t[e]);this.factoriesBySource.set(e,n)}}deregister(e){if(e===`__builtin__`)return;let t=this.factoriesBySource.get(e);if(t){for(let e of t)this.factories.delete(e);this.factoriesBySource.delete(e)}}async dispatch(e,t){let n=this.factories.get(e.type);if(!n)throw Error(`TransitionActionRegistry: unknown action type '${e.type}'. Registered types: ${[...this.factories.keys()].join(`, `)}`);await n().execute(e,t)}has(e){return this.factories.has(e)}listTypes(){return[...this.factories.keys()]}},rt=class{rulesBySource=new Map;rulesByEventType=new Map;ruleIdSet=new Set;register(e,t){if(t.length===0)return;if(this.rulesBySource.has(e))throw Error(`TransitionRuleRegistry: duplicate source '${e}'`);let n=new Set,r=[];for(let i of t){let t=ve.parse(i);if(n.has(t.id))throw Error(`TransitionRuleRegistry: duplicate rule ID '${t.id}' within source '${e}'`);if(this.ruleIdSet.has(t.id))throw Error(`TransitionRuleRegistry: duplicate rule ID '${t.id}' from source '${e}'`);n.add(t.id),r.push({rule:t,condition:t.when===void 0?void 0:Ae.parse(t.when)})}for(let e of r){let{rule:t}=e;this.ruleIdSet.add(t.id);let n=this.rulesByEventType.get(t.on)??[];n.push(e),this.rulesByEventType.set(t.on,n)}this.rulesBySource.set(e,r)}deregister(e){let t=this.rulesBySource.get(e);if(t){for(let{rule:e}of t){this.ruleIdSet.delete(e.id);let t=this.rulesByEventType.get(e.on);if(t){let n=t.filter(t=>t.rule.id!==e.id);n.length>0?this.rulesByEventType.set(e.on,n):this.rulesByEventType.delete(e.on)}}this.rulesBySource.delete(e)}}getRulesForEvent(e){let t=this.rulesByEventType.get(e);return t?t.filter(e=>e.rule.enabled):[]}snapshotSource(e){let t=this.rulesBySource.get(e);if(t)return{ruleIds:t.map(e=>e.rule.id)}}},it=class extends w{ruleRegistry;actionRegistry;depthMap=new Map;constructor(e){super(e),this.ruleRegistry=new rt,this.actionRegistry=new nt(e)}onInit(){this.registerHandler(v.created,async e=>{await this.handleArtifactEvent(`artifact.created`,{artifact:e.payload.artifact})}),this.registerHandler(v.revised,async e=>{let t=await this.resolvePreviousRevisedArtifact(e.payload.previous);await this.handleArtifactEvent(`artifact.revised`,{artifact:e.payload.artifact,previous:e.payload.previous,...t===void 0?{}:{previousArtifact:t}})}),this.registerHandler(v.status.changed,async e=>{let t=await this.resolveStatusChangedArtifact(e.payload.artifact);t!==void 0&&await this.handleArtifactEvent(`artifact.status.changed`,{artifact:t,path:e.payload.path,previous:e.payload.previous,current:e.payload.current})})}async handleArtifactEvent(e,t){let n=this.artifactKey(t.artifact),r=this.readDepth(n);if(r>=10){console.warn(`[TransitionPipelineService] Transition depth limit (10) reached for event '${e}' on artifact '${n}'. Loop protection active — skipping rule evaluation.`);return}let i=this.ruleRegistry.getRulesForEvent(e);if(i.length!==0)for(let a of i)await this.evaluateAndDispatch(a,e,t,n,r)}async resolveStatusChangedArtifact(e){let t=await this.bus.requestOptional(v.resolve,{ref:e});if(!t.handled){console.warn(`[TransitionPipelineService] No artifact resolver is registered for status transition on artifact '${this.artifactKey(e)}'. Skipping rule evaluation.`);return}if(t.data.artifact===null){console.warn(`[TransitionPipelineService] Could not resolve status transition artifact '${this.artifactKey(e)}'. Skipping rule evaluation.`);return}return t.data.artifact}async resolvePreviousRevisedArtifact(e){let t=await this.bus.requestOptional(v.resolve,{ref:e});if(!(!t.handled||t.data.artifact===null))return t.data.artifact}async evaluateAndDispatch(e,t,n,r,i){let{rule:a,condition:o}=e,s={...n,_transition:{ruleId:a.id,eventType:t,depth:i+1}};if(o!==void 0){let e={...s},t;try{t=je(o,e)}catch(e){console.error(`[TransitionPipelineService] Condition evaluation error for rule '${a.id}':`,e);return}if(!t)return}try{await this.actionRegistry.dispatch(a.action,s),a.action.type===`workflow.start`&&this.incrementDepth(r)}catch(e){console.error(`[TransitionPipelineService] Action dispatch error for rule '${a.id}' (action type '${a.action.type}'):`,e)}}artifactKey(e){return`${typeof e.kind==`string`?e.kind:`unknown`}:${typeof e.id==`string`?e.id:`unknown`}`}readDepth(e){let t=this.depthMap.get(e);return t===void 0?0:Date.now()>t.expiresAt?(this.depthMap.delete(e),0):t.count}incrementDepth(e){let t=this.depthMap.get(e);this.depthMap.set(e,{count:t===void 0?1:t.count+1,expiresAt:Date.now()+6e4})}};function at(e){return async t=>{let n=await ot(e,t);if(!n)return{handled:!1,sessionId:null,clientAccountId:null,changed:!1};let{sessionId:r}=n,{observation:i,accountObserveRequest:a}=st(t),o=await e.requestOptional(E.account.observe,a);if(!o.handled)return{handled:!1,sessionId:r,clientAccountId:null,changed:!1};let{clientAccountId:s}=o.data;return{handled:!0,sessionId:r,clientAccountId:s,changed:await mt(e,r,i,s)}}}async function ot(t,n){switch(n.locator.kind){case`session`:{let{session:r}=await t.request(e.get,{sessionId:n.locator.sessionId});return r?{sessionId:r.sessionId,session:r}:null}case`adapter-session`:{let{session:r}=await t.request(e.getByAdapterSessionId,{adapterSessionId:n.locator.adapterSessionId});return r?{sessionId:r.sessionId,session:r}:null}case`both`:{let[{session:r},{session:i}]=await Promise.all([t.request(e.get,{sessionId:n.locator.sessionId}),t.request(e.getByAdapterSessionId,{adapterSessionId:n.locator.adapterSessionId})]);if(!r&&!i)return null;if(!r||!i)throw Error(`Session locator mismatch: sessionId "${n.locator.sessionId}" and adapterSessionId "${n.locator.adapterSessionId}" must both resolve the same session`);if(r.sessionId!==i.sessionId)throw Error(`Session locator mismatch: sessionId "${n.locator.sessionId}" and adapterSessionId "${n.locator.adapterSessionId}" resolve to different sessions`);return{sessionId:r.sessionId,session:r}}}}function st(e){let t={clientId:e.clientId,source:e.source,kind:e.kind,observedAt:e.observedAt,payload:ft(e.payload)};return{observation:t,accountObserveRequest:ct(t)}}function ct(e){let t=e.payload,n=lt(t),r=ut(t);if(r.length>0)return{clientId:e.clientId,observedAt:e.observedAt,displayLabel:dt(t,n),identifiers:r};throw Error(`client.session.account.observe for "${e.clientId}" requires canonical client account identifiers`)}function lt(e){return pt(e.accountInfo)??e}function ut(e){let t=e.identifiers;if(!Array.isArray(t))return[];try{return g.array(Ce).min(1).parse(t)}catch(e){throw Error(`client.session.account.observe received malformed canonical client account identifiers`,{cause:e})}}function dt(e,t){return K(e.displayLabel)??K(t.displayLabel)??K(t.email)??K(t.label)}function ft(e){return structuredClone(e)}function pt(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function K(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function mt(t,n,r,i){let a=await t.request(e.update,{sessionId:n,clientId:r.clientId,clientAccountId:i,lastClientIdentityObservation:r});if(!a.success)throw Error(`Failed to update session "${n}" with client account linkage`);return a.clientAccountChanged??!1}const ht=S(`session-storage`).name;var gt=class extends w{constructor(e=_){super(e)}onInit(){let e=at(this.bus);this.registerHandler(E.session.account.observe,async t=>{t.setResult(await e(we.request.parse(t.payload)))})}};const _t={name:`makaio.session-client-account-linking`,displayName:`Session Client Account Linking`,version:`0.1.0`,dependencies:[x(ht),x(`makaio.clients-core`)],critical:!1,create:e=>new gt(e.bus)},vt={name:`framework-shell`,displayName:`Shell`,version:`0.1.0`,surface:`interactive`,windows:[{id:`main`,style:`utility`,width:1e3,height:700,singleton:!0}]};async function yt(e){let{harnesses:t}=await e.request(m.list,{}),n=new Set(t.map(e=>e.id));for(let t of he){if(n.has(t.id))continue;let r={...t};await e.request(m.set,{harness:r})}}function q(e,t,n){return e??t??n}var bt=class extends w{static storage={drizzle:h};constructor(e=_){super(e)}async onInit(){await yt(this.bus),this.registerHandlers()}registerHandlers(){this.registerHandler(y.get,async e=>{let t=await this.loadHarness(e.payload);if(!t)throw Error(`Harness not found`);e.setResult(t)}),this.registerHandler(y.list,async e=>{let{harnesses:t}=await this.bus.request(m.list,e.payload);e.setResult({harnesses:t})}),this.registerHandler(y.set,async e=>{let t=await this.upsertHarness(e.payload);e.setResult({id:t})}),this.registerHandler(y.delete,async e=>{let{deleted:t}=await this.bus.request(m.delete,{id:e.payload.id});e.setResult({success:t})}),this.registerHandler(y.getDefault,async e=>{let t=await this.getDefaultHarness(e.payload.adapterName,e.payload.clientId);e.setResult(t)}),this.registerHandler(y.resolve,async e=>{let{adapterName:t,clientId:n,personaHarnessId:r,profileHarnessId:i}=e.payload;if(r){let i=await this.resolveAndValidateHarness(r,t,`persona`,n);e.setResult(i);return}if(i){let r=await this.resolveAndValidateHarness(i,t,`profile`,n);e.setResult(r);return}let a=await this.getDefaultHarness(t,n);e.setResult(a)}),this.registerHandler(y.getSchema,({setResult:e})=>{let{$schema:t,...n}=g.toJSONSchema(ge);e({schema:n,uiConfig:{editMode:`fullPage`,hiddenFields:[`isDefault`]}})})}async upsertHarness(e){let t=await this.resolveHarnessId(e.name,e.adapterName,e.clientId),n=await this.loadHarness({id:t,adapterName:e.adapterName,clientId:e.clientId}),r=this.mergeHarnessPayload(t,e,n);return r.adapterName&&await this.validateNativeTools(r.adapterName,r.nativeTools),await this.bus.request(m.set,{harness:r}),t}mergeHarnessPayload(e,t,n){let r={enabled:[],disabled:[]};return{id:e,name:t.name,description:q(t.description,n?.description,void 0),adapterName:t.adapterName,clientId:q(t.clientId,n?.clientId,void 0),env:q(t.env,n?.env,void 0),credentials:q(t.credentials,n?.credentials,void 0),cwd:q(t.cwd,n?.cwd,void 0),approvalPolicy:q(t.approvalPolicy,n?.approvalPolicy,`always-ask`),nativeTools:q(t.nativeTools,n?.nativeTools,r),registryTools:q(t.registryTools,n?.registryTools,r),skills:q(t.skills,n?.skills,void 0),toolCapabilityMap:t.toolCapabilityMap??n?.toolCapabilityMap,capabilityOverrides:t.capabilityOverrides??n?.capabilityOverrides,toolApprovalOverrides:t.toolApprovalOverrides??n?.toolApprovalOverrides,isDefault:q(t.isDefault,n?.isDefault,!1),enabled:q(t.enabled,n?.enabled,!0)}}async resolveHarnessId(e,t,n){let r=n??t,{harnesses:i}=await this.bus.request(m.list,{name:e}),a=i.find(t=>t.name===e&&(t.clientId??t.adapterName)===r);if(a)return a.id;let o=i.find(t=>t.name===e&&(t.clientId??t.adapterName)!==r);if(o){let t=o.clientId?`client '${o.clientId}'`:`adapter '${o.adapterName}'`;throw Error(`Harness "${e}" already exists with scope ${t}; cannot change scope to ${r??`(none)`}`)}return this.createStableHarnessId(e,r)}async loadHarness(e){if(e.id){let{harness:t}=await this.bus.request(m.get,{id:e.id});return t&&(!e.adapterName||t.adapterName===e.adapterName)&&(!e.clientId||t.clientId===e.clientId)?t:null}if(!e.name)return null;let{harnesses:t}=await this.bus.request(m.list,{name:e.name,adapterName:e.adapterName,clientId:e.clientId});return e.clientId?t.find(t=>t.clientId===e.clientId)??null:e.adapterName?t.find(t=>t.adapterName===e.adapterName)??null:t[0]??null}async getDefaultHarness(e,t){if(t){let{harnesses:e}=await this.bus.request(m.list,{clientId:t}),n=e.find(e=>e.isDefault&&e.enabled);if(n)return n;let r=e.find(e=>e.enabled);if(r)return r}if(e){let{harnesses:t}=await this.bus.request(m.list,{adapterName:e}),n=t.find(e=>e.isDefault&&e.enabled);if(n)return n;let r=t.find(e=>e.enabled);if(r)return r}let n=t?e?`client '${t}' or adapter '${e}'`:`client '${t}'`:`adapter '${e}'`;throw Error(`No harness available for ${n}`)}assertHarnessAdapterMatch(e,t,n,r){if(e.adapterName&&t&&e.adapterName!==t)throw Error(`Resolved ${n} harness adapter mismatch: expected "${t}", got "${e.adapterName}"`);if(e.clientId&&r&&e.clientId!==r)throw Error(`Resolved ${n} harness client mismatch: expected "${r}", got "${e.clientId}"`)}assertHarnessEnabled(e,t){if(!e.enabled)throw Error(`Resolved ${t} harness is disabled: ${e.id}`)}async validateNativeTools(e,t){let n=await this.bus.requestOptional(pe.getCapabilities,{adapterName:e});if(!n.handled)return;let r=new Set(n.data.nativeTools),i=[...t.enabled,...t.disabled].filter(e=>!r.has(e));if(i.length>0)throw Error(`Tool '${i[0]}' not found in adapter '${e}' native tools. Declared tools: ${[...r].join(`, `)}`)}createStableHarnessId(e,t){return`harness-${ue(`sha256`).update(`${t??``}\0${e}`).digest(`hex`).slice(0,24)}`}async resolveAndValidateHarness(e,t,n,r){let i=await this.loadHarness({id:e});if(!i)throw Error(`${n===`persona`?`Persona`:`Profile`} harness not found: ${e}`);return this.assertHarnessAdapterMatch(i,t,n,r),this.assertHarnessEnabled(i,n),i}};const xt={name:`makaio.harness`,displayName:`Harness`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T(h)},create:e=>new bt(e.bus)},J=S(`session-storage`),Y=S(`session-bridge`),X=S(`session`),St=S(`session-orchestrator`),Z=S(`tool-registry`),Ct=S(`tool-approval`),wt=S(`tray-menu`),Tt=S(`capability`),Et=S(`model-registry`),Dt=S(`workflow-block-registry`),Ot=S(`transition-pipeline`),kt=S(`filesystem`),At=S(`git`),jt=S(`artifact-schema-registry`),Mt=S(`artifact-lifecycle-hook-registry`),Nt=S(`facet-namespace-registry`),Pt=S(`surface-binding-registry`),Ft={name:jt.name,displayName:`Artifact Schema Registry`,version:`0.1.0`,critical:!0,create:e=>new I(e.bus)},It={name:Mt.name,displayName:`Artifact Lifecycle Hook Registry`,version:`0.1.0`,critical:!0,create:e=>new B(e.bus)},Lt={name:Nt.name,displayName:`Facet Namespace Registry`,version:`0.1.0`,critical:!0,create:e=>new Be(e.bus)},Rt={name:Pt.name,displayName:`Surface Binding Registry`,version:`0.1.0`,critical:!0,create:e=>new Ve(e.bus)},zt={name:J.name,displayName:`Session Storage`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T((e,n)=>{let a=[],o=e=>{for(let t=a.length-1;t>=0;--t)try{a[t]?.()}catch(t){console.warn(`[sessionStoragePackage] cleanup failed during ${e}:`,t)}a.length=0};try{a.push(c(e,n)),a.push(i(e,n)),a.push(r(e,n)),a.push(ne(e,n)),a.push(t(e,n)),a.push(te(e,n)),a.push(l(e,n)),a.push(f(e,n)),a.push(s(e,n)),a.push(u(e)),a.push(ee(e)),a.push(d(e))}catch(e){throw o(`rollback`),e}return()=>{o(`shutdown`)}})}},Bt={name:Y.name,displayName:`Session Bridge`,version:`0.1.0`,dependencies:[x(J.name)],critical:!0,create:e=>new n(e.bus)},Vt={name:X.name,displayName:`Session`,version:`0.1.0`,dependencies:[x(Y.name)],critical:!0,create:e=>new o(e.bus)},Q={name:St.name,displayName:`Session Orchestrator`,version:`0.1.0`,dependencies:[x(X.name),x(W.name)],critical:!0,runtimeOwnership:{sessionOrchestrator:!0},create:e=>new a(e.bus,e.machineId)},Ht={name:Z.name,displayName:`Tool Registry`,version:`0.1.0`,critical:!0,create:e=>new Je({bus:e.bus})},Ut={name:Ct.name,displayName:`Tool Approval`,version:`0.1.0`,dependencies:[x(Z.name)],critical:!0,create:e=>new oe(e.bus)},Wt={name:wt.name,displayName:`Tray Menu`,version:`0.1.0`,critical:!0,create:e=>new se(e.bus)},Gt={name:Tt.name,displayName:`Capability`,version:`0.1.0`,critical:!0,create:e=>new re(e.bus)},Kt={name:Dt.name,displayName:`Workflow Block Registry`,version:`0.1.0`,critical:!0,create:e=>new Ye(e.bus)},$={name:Ot.name,displayName:`Transition Pipeline`,version:`0.1.0`,critical:!0,create:e=>new it(e.bus)},qt={name:kt.name,displayName:`Filesystem`,version:`0.1.0`,critical:!0,create:e=>new le(e.bus,e.machineId)},Jt={name:At.name,displayName:`Git`,version:`0.1.0`,dependencies:[x(kt.name)],critical:!0,create:e=>new Ne(e.bus)};function Yt(e){return{name:Et.name,displayName:`Model Registry`,version:`0.1.0`,critical:!0,create:t=>new ie({bus:t.bus,fetcher:e})}}const Xt=[Ft,It,Lt,Rt,zt,Bt,_t,Vt,Q,ce,Ht,Ut,Wt,Gt,xt,W,vt,Kt,$,Jt,qt];function Zt(){let e=new Map;return{filter:e=>!!e.tools?.createToolsets,async processActivated(t,n,r){let i=r.getService(Z);if(!i)throw Error(`ToolRegistry is not available. Ensure toolRegistryPackage is included in the composition root.`);let a=n.tools.createToolsets(r),o=[];try{for(let e of a)await i.register(e),o.push(()=>i.deregister(e.metadata.name))}catch(e){for(let e=o.length-1;e>=0;--e)try{await o[e]()}catch(e){console.error(`[ToolContributionProcessor] Rollback error for "${t}":`,e)}throw e}e.set(t,o)},async processStopped(t){let n=e.get(t);if(n){for(let e=n.length-1;e>=0;--e)try{await n[e]()}catch(e){console.error(`[ToolContributionProcessor] Deregister error for "${t}":`,e)}e.delete(t)}}}}export{Ut as A,Je as B,Lt as C,Vt as D,Q as E,it as F,Ve as G,Ue as H,rt as I,L as J,Be as K,nt as L,$ as M,Wt as N,zt as O,Kt as P,G as R,Yt as S,Bt as T,He as U,W as V,U as W,I as Y,wt as _,jt as a,Ft as b,Et as c,J as d,X as f,Ot as g,Z as h,Mt as i,Ht as j,Rt as k,Y as l,Ct as m,Oe as n,Tt as o,Pt as p,B as q,Zt as r,Nt as s,Ee as t,St as u,Dt as v,Xt as w,Gt as x,It as y,Ye as z};
@@ -1,4 +1,4 @@
1
- import { s as MessageBlock$1 } from "./index-BZuF4I8O.mjs";
1
+ import { Q as JsonValue$1, s as MessageBlock$1 } from "./index-BZuF4I8O.mjs";
2
2
  import * as _$zod from "zod";
3
3
  import { z } from "zod";
4
4
  import * as _$_makaio_core0 from "@makaio/framework/core";
@@ -53,6 +53,7 @@ declare const SessionCreateBaseSchema: z.ZodObject<{
53
53
  title: z.ZodOptional<z.ZodString>;
54
54
  targetWorkingDirectory: z.ZodOptional<z.ZodString>;
55
55
  executionTargetId: z.ZodOptional<z.ZodString>;
56
+ metadata: z.ZodOptional<z.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, z.core.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>;
56
57
  spawningToolCallId: z.ZodOptional<z.ZodString>;
57
58
  originWindowId: z.ZodOptional<z.ZodString>;
58
59
  }, z.core.$strip>;
@@ -114,6 +115,9 @@ declare const MakaioSessionAgentSchema$1: z.ZodObject<{
114
115
  }, z.core.$strip>;
115
116
  //#endregion
116
117
  //#region core/contracts/src/session/schemas/session.d.ts
118
+ /** Opaque, JSON-safe consumer metadata preserved on the session record. */
119
+ declare const SessionRecordMetadataSchema$1: z.ZodType<Record<string, JsonValue$1>, Record<string, JsonValue$1>>;
120
+ type SessionRecordMetadata = z.infer<typeof SessionRecordMetadataSchema$1>;
117
121
  /**
118
122
  * Schema for a makaio orchestration session.
119
123
  *
@@ -159,8 +163,8 @@ declare const MakaioSessionSchema: z.ZodObject<{
159
163
  status: z.ZodEnum<{
160
164
  active: "active";
161
165
  archived: "archived";
162
- discovered: "discovered";
163
166
  closed: "closed";
167
+ discovered: "discovered";
164
168
  }>;
165
169
  leadAgentId: z.ZodOptional<z.ZodString>;
166
170
  parentSessionId: z.ZodOptional<z.ZodString>;
@@ -224,6 +228,7 @@ declare const MakaioSessionSchema: z.ZodObject<{
224
228
  "always-ask": "always-ask";
225
229
  "full-access": "full-access";
226
230
  }>>>;
231
+ metadata: z.ZodOptional<z.ZodType<Record<string, JsonValue$1>, Record<string, JsonValue$1>, z.core.$ZodTypeInternals<Record<string, JsonValue$1>, Record<string, JsonValue$1>>>>;
227
232
  source: z.ZodOptional<z.ZodString>;
228
233
  parentExternalSessionId: z.ZodOptional<z.ZodString>;
229
234
  logFilePath: z.ZodOptional<z.ZodString>;
@@ -284,8 +289,8 @@ declare const SessionWithPreviewSchema: z.ZodObject<{
284
289
  status: z.ZodEnum<{
285
290
  active: "active";
286
291
  archived: "archived";
287
- discovered: "discovered";
288
292
  closed: "closed";
293
+ discovered: "discovered";
289
294
  }>;
290
295
  leadAgentId: z.ZodOptional<z.ZodString>;
291
296
  parentSessionId: z.ZodOptional<z.ZodString>;
@@ -349,6 +354,7 @@ declare const SessionWithPreviewSchema: z.ZodObject<{
349
354
  "always-ask": "always-ask";
350
355
  "full-access": "full-access";
351
356
  }>>>;
357
+ metadata: z.ZodOptional<z.ZodType<Record<string, JsonValue$1>, Record<string, JsonValue$1>, z.core.$ZodTypeInternals<Record<string, JsonValue$1>, Record<string, JsonValue$1>>>>;
352
358
  source: z.ZodOptional<z.ZodString>;
353
359
  parentExternalSessionId: z.ZodOptional<z.ZodString>;
354
360
  logFilePath: z.ZodOptional<z.ZodString>;
@@ -483,8 +489,8 @@ declare const SessionSnapshotSchema: z.ZodObject<{
483
489
  status: z.ZodEnum<{
484
490
  active: "active";
485
491
  archived: "archived";
486
- discovered: "discovered";
487
492
  closed: "closed";
493
+ discovered: "discovered";
488
494
  }>;
489
495
  leadAgentId: z.ZodOptional<z.ZodString>;
490
496
  parentSessionId: z.ZodOptional<z.ZodString>;
@@ -548,6 +554,7 @@ declare const SessionSnapshotSchema: z.ZodObject<{
548
554
  "always-ask": "always-ask";
549
555
  "full-access": "full-access";
550
556
  }>>>;
557
+ metadata: z.ZodOptional<z.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, z.core.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>;
551
558
  source: z.ZodOptional<z.ZodString>;
552
559
  parentExternalSessionId: z.ZodOptional<z.ZodString>;
553
560
  logFilePath: z.ZodOptional<z.ZodString>;
@@ -2415,7 +2422,7 @@ declare const OrchestratorSchemas: {
2415
2422
  credentialRefs: z.ZodRecord<z.ZodString, z.core.$ZodBranded<z.ZodString, "CredentialRef", "out">>;
2416
2423
  credentialEnvVars: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2417
2424
  ambientCredentialEnvVars: z.ZodOptional<z.ZodArray<z.ZodString>>;
2418
- capabilities: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
2425
+ capabilities: z.ZodOptional<z.ZodType<Record<string, unknown>, Record<string, unknown>, z.core.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
2419
2426
  }, z.core.$strip>>;
2420
2427
  }, z.core.$loose>;
2421
2428
  initialMessage: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
@@ -2909,6 +2916,7 @@ declare const OrchestratorSchemas: {
2909
2916
  }, z.core.$strip>>>;
2910
2917
  }, z.core.$strip>>;
2911
2918
  targetWorkingDirectory: z.ZodOptional<z.ZodString>;
2919
+ metadata: z.ZodOptional<z.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, z.core.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>;
2912
2920
  existingSessionId: z.ZodOptional<z.ZodString>;
2913
2921
  }, z.core.$strip>;
2914
2922
  response: z.ZodObject<{
@@ -4621,7 +4629,7 @@ declare const SessionSchemas: {
4621
4629
  credentialRefs: _$zod.ZodRecord<_$zod.ZodString, _$zod_v4_core0.$ZodBranded<_$zod.ZodString, "CredentialRef", "out">>;
4622
4630
  credentialEnvVars: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodString>>;
4623
4631
  ambientCredentialEnvVars: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodString>>;
4624
- capabilities: _$zod.ZodOptional<_$zod.ZodRecord<_$zod.ZodString, _$zod.ZodUnknown>>;
4632
+ capabilities: _$zod.ZodOptional<_$zod.ZodType<Record<string, unknown>, Record<string, unknown>, _$zod_v4_core0.$ZodTypeInternals<Record<string, unknown>, Record<string, unknown>>>>;
4625
4633
  }, _$zod_v4_core0.$strip>>;
4626
4634
  }, _$zod_v4_core0.$loose>;
4627
4635
  initialMessage: _$zod.ZodOptional<_$zod.ZodUnion<readonly [_$zod.ZodString, _$zod.ZodObject<{
@@ -5035,6 +5043,7 @@ declare const SessionSchemas: {
5035
5043
  }, _$zod_v4_core0.$strip>>>;
5036
5044
  }, _$zod_v4_core0.$strip>>;
5037
5045
  targetWorkingDirectory: _$zod.ZodOptional<_$zod.ZodString>;
5046
+ metadata: _$zod.ZodOptional<_$zod.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, _$zod_v4_core0.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>;
5038
5047
  existingSessionId: _$zod.ZodOptional<_$zod.ZodString>;
5039
5048
  }, _$zod_v4_core0.$strip>;
5040
5049
  response: _$zod.ZodObject<{
@@ -5277,8 +5286,8 @@ declare const SessionSchemas: {
5277
5286
  status: _$zod.ZodEnum<{
5278
5287
  active: "active";
5279
5288
  archived: "archived";
5280
- discovered: "discovered";
5281
5289
  closed: "closed";
5290
+ discovered: "discovered";
5282
5291
  }>;
5283
5292
  leadAgentId: _$zod.ZodOptional<_$zod.ZodString>;
5284
5293
  parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -5342,6 +5351,7 @@ declare const SessionSchemas: {
5342
5351
  "always-ask": "always-ask";
5343
5352
  "full-access": "full-access";
5344
5353
  }>>>;
5354
+ metadata: _$zod.ZodOptional<_$zod.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, _$zod_v4_core0.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>;
5345
5355
  source: _$zod.ZodOptional<_$zod.ZodString>;
5346
5356
  parentExternalSessionId: _$zod.ZodOptional<_$zod.ZodString>;
5347
5357
  logFilePath: _$zod.ZodOptional<_$zod.ZodString>;
@@ -5858,8 +5868,8 @@ declare const SessionSchemas: {
5858
5868
  status: _$zod.ZodEnum<{
5859
5869
  active: "active";
5860
5870
  archived: "archived";
5861
- discovered: "discovered";
5862
5871
  closed: "closed";
5872
+ discovered: "discovered";
5863
5873
  }>;
5864
5874
  leadAgentId: _$zod.ZodOptional<_$zod.ZodString>;
5865
5875
  parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -5923,6 +5933,7 @@ declare const SessionSchemas: {
5923
5933
  "always-ask": "always-ask";
5924
5934
  "full-access": "full-access";
5925
5935
  }>>>;
5936
+ metadata: _$zod.ZodOptional<_$zod.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, _$zod_v4_core0.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>;
5926
5937
  source: _$zod.ZodOptional<_$zod.ZodString>;
5927
5938
  parentExternalSessionId: _$zod.ZodOptional<_$zod.ZodString>;
5928
5939
  logFilePath: _$zod.ZodOptional<_$zod.ZodString>;
@@ -6815,8 +6826,8 @@ declare const SessionSchemas: {
6815
6826
  all: "all";
6816
6827
  active: "active";
6817
6828
  archived: "archived";
6818
- discovered: "discovered";
6819
6829
  closed: "closed";
6830
+ discovered: "discovered";
6820
6831
  }>>;
6821
6832
  limit: _$zod.ZodOptional<_$zod.ZodNumber>;
6822
6833
  offset: _$zod.ZodOptional<_$zod.ZodNumber>;
@@ -6863,8 +6874,8 @@ declare const SessionSchemas: {
6863
6874
  status: _$zod.ZodEnum<{
6864
6875
  active: "active";
6865
6876
  archived: "archived";
6866
- discovered: "discovered";
6867
6877
  closed: "closed";
6878
+ discovered: "discovered";
6868
6879
  }>;
6869
6880
  leadAgentId: _$zod.ZodOptional<_$zod.ZodString>;
6870
6881
  parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -6928,6 +6939,7 @@ declare const SessionSchemas: {
6928
6939
  "always-ask": "always-ask";
6929
6940
  "full-access": "full-access";
6930
6941
  }>>>;
6942
+ metadata: _$zod.ZodOptional<_$zod.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, _$zod_v4_core0.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>;
6931
6943
  source: _$zod.ZodOptional<_$zod.ZodString>;
6932
6944
  parentExternalSessionId: _$zod.ZodOptional<_$zod.ZodString>;
6933
6945
  logFilePath: _$zod.ZodOptional<_$zod.ZodString>;
@@ -6953,8 +6965,8 @@ declare const SessionSchemas: {
6953
6965
  all: "all";
6954
6966
  active: "active";
6955
6967
  archived: "archived";
6956
- discovered: "discovered";
6957
6968
  closed: "closed";
6969
+ discovered: "discovered";
6958
6970
  }>>;
6959
6971
  isImported: _$zod.ZodOptional<_$zod.ZodBoolean>;
6960
6972
  }, _$zod_v4_core0.$strip>;
@@ -6998,8 +7010,8 @@ declare const SessionSchemas: {
6998
7010
  status: _$zod.ZodEnum<{
6999
7011
  active: "active";
7000
7012
  archived: "archived";
7001
- discovered: "discovered";
7002
7013
  closed: "closed";
7014
+ discovered: "discovered";
7003
7015
  }>;
7004
7016
  leadAgentId: _$zod.ZodOptional<_$zod.ZodString>;
7005
7017
  parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -7063,6 +7075,7 @@ declare const SessionSchemas: {
7063
7075
  "always-ask": "always-ask";
7064
7076
  "full-access": "full-access";
7065
7077
  }>>>;
7078
+ metadata: _$zod.ZodOptional<_$zod.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, _$zod_v4_core0.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>;
7066
7079
  source: _$zod.ZodOptional<_$zod.ZodString>;
7067
7080
  parentExternalSessionId: _$zod.ZodOptional<_$zod.ZodString>;
7068
7081
  logFilePath: _$zod.ZodOptional<_$zod.ZodString>;
@@ -7124,8 +7137,8 @@ declare const SessionSchemas: {
7124
7137
  status: _$zod.ZodEnum<{
7125
7138
  active: "active";
7126
7139
  archived: "archived";
7127
- discovered: "discovered";
7128
7140
  closed: "closed";
7141
+ discovered: "discovered";
7129
7142
  }>;
7130
7143
  leadAgentId: _$zod.ZodOptional<_$zod.ZodString>;
7131
7144
  parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -7189,6 +7202,7 @@ declare const SessionSchemas: {
7189
7202
  "always-ask": "always-ask";
7190
7203
  "full-access": "full-access";
7191
7204
  }>>>;
7205
+ metadata: _$zod.ZodOptional<_$zod.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, _$zod_v4_core0.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>;
7192
7206
  source: _$zod.ZodOptional<_$zod.ZodString>;
7193
7207
  parentExternalSessionId: _$zod.ZodOptional<_$zod.ZodString>;
7194
7208
  logFilePath: _$zod.ZodOptional<_$zod.ZodString>;
@@ -7242,6 +7256,7 @@ declare const SessionSchemas: {
7242
7256
  title: _$zod.ZodOptional<_$zod.ZodString>;
7243
7257
  targetWorkingDirectory: _$zod.ZodOptional<_$zod.ZodString>;
7244
7258
  executionTargetId: _$zod.ZodOptional<_$zod.ZodString>;
7259
+ metadata: _$zod.ZodOptional<_$zod.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, _$zod_v4_core0.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>;
7245
7260
  spawningToolCallId: _$zod.ZodOptional<_$zod.ZodString>;
7246
7261
  originWindowId: _$zod.ZodOptional<_$zod.ZodString>;
7247
7262
  }, _$zod_v4_core0.$strip>;
@@ -7311,6 +7326,7 @@ declare const SessionSchemas: {
7311
7326
  "full-access": "full-access";
7312
7327
  }>>>;
7313
7328
  title: _$zod.ZodOptional<_$zod.ZodString>;
7329
+ metadata: _$zod.ZodOptional<_$zod.ZodNullable<_$zod.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, _$zod_v4_core0.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>>;
7314
7330
  }, _$zod_v4_core0.$strip>;
7315
7331
  response: _$zod.ZodObject<{
7316
7332
  success: _$zod.ZodBoolean;
@@ -7360,8 +7376,8 @@ declare const SessionSchemas: {
7360
7376
  status: _$zod.ZodEnum<{
7361
7377
  active: "active";
7362
7378
  archived: "archived";
7363
- discovered: "discovered";
7364
7379
  closed: "closed";
7380
+ discovered: "discovered";
7365
7381
  }>;
7366
7382
  leadAgentId: _$zod.ZodOptional<_$zod.ZodString>;
7367
7383
  parentSessionId: _$zod.ZodOptional<_$zod.ZodString>;
@@ -7425,6 +7441,7 @@ declare const SessionSchemas: {
7425
7441
  "always-ask": "always-ask";
7426
7442
  "full-access": "full-access";
7427
7443
  }>>>;
7444
+ metadata: _$zod.ZodOptional<_$zod.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, _$zod_v4_core0.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>;
7428
7445
  source: _$zod.ZodOptional<_$zod.ZodString>;
7429
7446
  parentExternalSessionId: _$zod.ZodOptional<_$zod.ZodString>;
7430
7447
  logFilePath: _$zod.ZodOptional<_$zod.ZodString>;
@@ -7488,6 +7505,7 @@ declare const SessionSchemas: {
7488
7505
  title: _$zod.ZodOptional<_$zod.ZodString>;
7489
7506
  targetWorkingDirectory: _$zod.ZodOptional<_$zod.ZodString>;
7490
7507
  executionTargetId: _$zod.ZodOptional<_$zod.ZodString>;
7508
+ metadata: _$zod.ZodOptional<_$zod.ZodType<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>, _$zod_v4_core0.$ZodTypeInternals<Record<string, _$_makaio_contracts0.JsonValue>, Record<string, _$_makaio_contracts0.JsonValue>>>>;
7491
7509
  spawningToolCallId: _$zod.ZodOptional<_$zod.ZodString>;
7492
7510
  originWindowId: _$zod.ZodOptional<_$zod.ZodString>;
7493
7511
  adapterName: _$zod.ZodString;
@@ -7608,4 +7626,4 @@ type KnownSessionEvent = { [K in RuntimeKnownSessionEventType]: SessionEventBase
7608
7626
  */
7609
7627
  declare function isKnownSessionEvent(event: MakaioSessionEvent$1): event is KnownSessionEvent;
7610
7628
  //#endregion
7611
- export { ImportStatus as $, MessageRoutingStatusSchema as A, TurnInitiator$2 as B, SessionEventTypeMap as C, MessageRouting as D, SendMessageResponse as E, SessionMessageOriginSchema as F, TurnUsage as G, TurnSchema$1 as H, SessionMessageRole as I, UsageMetricsSchema as J, TurnUsageSchema$1 as K, SessionMessageRoleSchema as L, SessionMessageBlock$1 as M, SessionMessageBlockSchema as N, MessageRoutingSchema$1 as O, SessionMessageOrigin as P, BranchKindSchema as Q, SessionMessageSchema$1 as R, SessionEventType as S, SendMessageRequest as T, TurnStatus as U, TurnInitiatorSchema$1 as V, TurnStatusSchema$1 as W, AgentRoleSchema as X, AgentRole as Y, BranchKind$1 as Z, ForkChildInfo as _, SessionCreateBaseSchema as _t, SessionPreviewData as a, SnapshotExportOptionsSchema as at, SESSION_EVENT_TYPES as b, SessionSchemas as c, safeValidateSnapshot as ct, SegmentPolicy as d, SessionPreviewDataSchema as dt, ImportStatusSchema as et, SegmentPolicySchema as f, SessionWithPreviewSchema as ft, SessionUpdatedEventSchema as g, SessionCreateBase as gt, SessionUpdatedEvent as h, MakaioSessionAgentSchema$1 as ht, MakaioSessionEvent$1 as i, SnapshotExportOptions as it, SessionMessage$1 as j, MessageRoutingStatus as k, ForkTransforms$1 as l, validateSnapshot as lt, SessionCreatedEventSchema as m, AgentStatusSchema$1 as mt, KnownSessionEvent as n, SessionSnapshot as nt, SessionWithPreview as o, SnapshotImportConflictErrorData as ot, SessionCreated as p, AgentStatus as pt, UsageMetrics as q, MakaioSessionAgent$1 as r, SessionSnapshotSchema as rt, isKnownSessionEvent as s, SnapshotPreviewData as st, IMakaioSession$1 as t, SNAPSHOT_VERSION as tt, ForkTransformsSchema$1 as u, MakaioSessionSchema as ut, ForkChildInfoSchema as v, SessionEventTypeSchema as w, SessionEventPayload as x, MakaioSessionEventSchema as y, Turn$1 as z };
7629
+ export { ImportStatus as $, MessageRoutingStatusSchema as A, TurnInitiator$2 as B, SessionEventTypeMap as C, MessageRouting as D, SendMessageResponse as E, SessionMessageOriginSchema as F, TurnUsage as G, TurnSchema$1 as H, SessionMessageRole as I, UsageMetricsSchema as J, TurnUsageSchema$1 as K, SessionMessageRoleSchema as L, SessionMessageBlock$1 as M, SessionMessageBlockSchema as N, MessageRoutingSchema$1 as O, SessionMessageOrigin as P, BranchKindSchema as Q, SessionMessageSchema$1 as R, SessionEventType as S, SendMessageRequest as T, TurnStatus as U, TurnInitiatorSchema$1 as V, TurnStatusSchema$1 as W, AgentRoleSchema as X, AgentRole as Y, BranchKind$1 as Z, ForkChildInfo as _, MakaioSessionAgentSchema$1 as _t, SessionPreviewData as a, SnapshotExportOptionsSchema as at, SESSION_EVENT_TYPES as b, SessionSchemas as c, safeValidateSnapshot as ct, SegmentPolicy as d, SessionPreviewDataSchema as dt, ImportStatusSchema as et, SegmentPolicySchema as f, SessionRecordMetadata as ft, SessionUpdatedEventSchema as g, AgentStatusSchema$1 as gt, SessionUpdatedEvent as h, AgentStatus as ht, MakaioSessionEvent$1 as i, SnapshotExportOptions as it, SessionMessage$1 as j, MessageRoutingStatus as k, ForkTransforms$1 as l, validateSnapshot as lt, SessionCreatedEventSchema as m, SessionWithPreviewSchema as mt, KnownSessionEvent as n, SessionSnapshot as nt, SessionWithPreview as o, SnapshotImportConflictErrorData as ot, SessionCreated as p, SessionRecordMetadataSchema$1 as pt, UsageMetrics as q, MakaioSessionAgent$1 as r, SessionSnapshotSchema as rt, isKnownSessionEvent as s, SnapshotPreviewData as st, IMakaioSession$1 as t, SNAPSHOT_VERSION as tt, ForkTransformsSchema$1 as u, MakaioSessionSchema as ut, ForkChildInfoSchema as v, SessionCreateBase as vt, SessionEventTypeSchema as w, SessionEventPayload as x, MakaioSessionEventSchema as y, SessionCreateBaseSchema as yt, Turn$1 as z };