@makaio/framework 1.0.0-dev-1782130828143 → 1.0.0-dev-1782135086866

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 (76) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/adapter-subsystem/index.mjs +1 -1
  3. package/dist/adapters/index.d.mts +1 -1
  4. package/dist/contracts/adapter/index.d.mts +1 -1
  5. package/dist/contracts/artifact/index.d.mts +1 -1
  6. package/dist/contracts/client/index.d.mts +1 -1
  7. package/dist/contracts/config/index.d.mts +6 -6
  8. package/dist/contracts/extension/index.d.mts +2 -2
  9. package/dist/contracts/facet/index.d.mts +1 -1
  10. package/dist/contracts/harness/index.d.mts +1 -1
  11. package/dist/contracts/index.d.mts +45 -45
  12. package/dist/contracts/materialization/index.d.mts +3 -3
  13. package/dist/contracts/provider/index.d.mts +1 -1
  14. package/dist/contracts/session/index.d.mts +2 -2
  15. package/dist/contracts/workflow/index.d.mts +2 -2
  16. package/dist/{definition-0EXM1tyu.d.mts → definition-DePb3ke-.d.mts} +1 -1
  17. package/dist/{extension-BJHRahFl.mjs → extension-DZqYHmhK.mjs} +1 -1
  18. package/dist/{index-DnLf0YKC.d.mts → index-2fK9iSHI.d.mts} +12 -12
  19. package/dist/{index-C3bheiJg.d.mts → index-5v0jVUGD.d.mts} +15 -15
  20. package/dist/{index-gKaw_TMU.d.mts → index-BAQ6QBcU.d.mts} +16 -16
  21. package/dist/{index-BW9kVuY2.d.mts → index-BMbmoarE.d.mts} +24 -24
  22. package/dist/{index-DBIqKoFm.d.mts → index-BvFjmhZj.d.mts} +61 -61
  23. package/dist/{index-Cx1Bm6WD.d.mts → index-BvjLe_w9.d.mts} +8 -8
  24. package/dist/{index-DBxYWBvw.d.mts → index-CUSOL0X_.d.mts} +3 -3
  25. package/dist/{index-BAnDvAk4.d.mts → index-CYHWOXUm.d.mts} +1 -1
  26. package/dist/{index-DImePakw.d.mts → index-CcAggMuC.d.mts} +20 -20
  27. package/dist/{index-CTEsbp9H.d.mts → index-D2WJ0Zpt.d.mts} +5 -5
  28. package/dist/{index-CG5h1g3H.d.mts → index-DIKiA3Sr.d.mts} +13 -1
  29. package/dist/{index-BjPtzjH6.d.mts → index-DvLCzle5.d.mts} +12 -12
  30. package/dist/{index-dZwlJDpU.d.mts → index-bRLjj6L4.d.mts} +92 -92
  31. package/dist/{index-DeVMGLbP.d.mts → index-pUYIAV_M.d.mts} +5 -5
  32. package/dist/{index-CfIW5biI.d.mts → index-wfSedMR9.d.mts} +1 -1
  33. package/dist/kernel/extension/index.d.mts +1 -1
  34. package/dist/kernel/extension/index.mjs +1 -1
  35. package/dist/kernel/index.d.mts +2 -2
  36. package/dist/kernel/index.mjs +1 -1
  37. package/dist/kernel/observability/index.d.mts +1 -1
  38. package/dist/{namespace-Dybz75l5.d.mts → namespace-B95uYmZB.d.mts} +26 -26
  39. package/dist/{namespace-DxyTww2j.d.mts → namespace-BMglTf9p.d.mts} +36 -36
  40. package/dist/{namespace-4xHw59K8.d.mts → namespace-Bm77p82L.d.mts} +1 -1
  41. package/dist/{namespace-KMxsPJwm.d.mts → namespace-Bv8B89uB.d.mts} +9 -9
  42. package/dist/{namespace-BLOld9Wa.d.mts → namespace-CfvtDD_U.d.mts} +2 -2
  43. package/dist/{namespace-DXWpFdQH2.d.mts → namespace-D8P8Sxce2.d.mts} +2 -2
  44. package/dist/package.json +1 -1
  45. package/dist/{schema-DqfR-im7.d.mts → schema-GFRQiPk0.d.mts} +2 -2
  46. package/dist/{schemas-CgX7mPkv.d.mts → schemas-CoFCV42v.d.mts} +2 -2
  47. package/dist/{schemas-DDaP5WkH.d.mts → schemas-D512XweP.d.mts} +4 -4
  48. package/dist/{schemas-CBt7Ld8G2.d.mts → schemas-TQPiRl642.d.mts} +9 -9
  49. package/dist/services/adapter-subsystem/index.d.mts +2 -2
  50. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  51. package/dist/services/agent-runtime/index.d.mts +2 -2
  52. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  53. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  54. package/dist/services/context-rules/index.d.mts +3 -3
  55. package/dist/services/filesystem/namespace.d.mts +6 -6
  56. package/dist/services/filesystem/schemas.d.mts +3 -3
  57. package/dist/services/index.d.mts +38 -38
  58. package/dist/services/log-import/browser.d.mts +2 -2
  59. package/dist/services/log-import/index.d.mts +2 -2
  60. package/dist/services/log-import/log-import.d.mts +1 -1
  61. package/dist/services/log-import/namespace.d.mts +2 -2
  62. package/dist/services/log-import/schemas.d.mts +1 -1
  63. package/dist/services/session/index.d.mts +5 -5
  64. package/dist/services/session/messages/namespace.d.mts +1 -1
  65. package/dist/services/session/session-events/namespace.d.mts +1 -1
  66. package/dist/services/session/storage/namespace.d.mts +1 -1
  67. package/dist/services/session/storage/schema.d.mts +1 -1
  68. package/dist/services/settings/namespace.d.mts +6 -6
  69. package/dist/services/subagent-template/index.d.mts +2 -2
  70. package/dist/services/subagent-template/namespace.d.mts +1 -1
  71. package/dist/services/subagent-template/schemas.d.mts +1 -1
  72. package/dist/{transition-BBElJqQ8.d.mts → transition-Cufc_u3_.d.mts} +1 -1
  73. package/dist/{types-BLG7bl-Q.d.mts → types-CNIsRx86.d.mts} +38 -38
  74. package/dist/{types-BslClRkH.d.mts → types-InWSdi-V.d.mts} +1 -1
  75. package/dist/workflow-engine/index.d.mts +63 -63
  76. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "version": 1,
3
- "fingerprint": "1a039721030b77626b897d565be72e46c9f99179701346e3501fb6e63b96179f",
4
- "builtAt": "2026-06-22T12:21:49.608Z"
3
+ "fingerprint": "a9ec6c16b0da36ec8f32e9fee9416da4a1246c88604746fb9289022ad1d41034",
4
+ "builtAt": "2026-06-22T13:32:46.958Z"
5
5
  }
@@ -1 +1 @@
1
- import*as e from"node:fs/promises";import*as t from"node:path";import{randomUUID as n}from"node:crypto";import{MakaioBus as r}from"@makaio/framework/bus";import{AdapterSubjects as i,CapabilitySubjects as a,CredentialSubjects as o,ProviderDefinitionSchema as s,extensionToken as c,isUniversalRange as l,versionSatisfies as u}from"@makaio/framework/contracts";import{BaseService as d}from"@makaio/framework/service-base";import{ADAPTER_FILE_SCHEMA_VERSION as ee,AdapterFileSchema as f,PROVIDER_CONFIG_SCHEMA_VERSION as p,ProviderConfigFileSchema as m,brandCredentialRecord as h,isAccountManagerRef as te,resolveCanonicalProviderConfigName as g,slugifyProviderConfigName as _}from"@makaio/framework/contracts/config";import{resolveModelVisibility as ne}from"@makaio/framework/contracts/provider";import{buildDeterministicAdapterId as v}from"@makaio/framework/services/adapter-runtime";import{ClientSubjects as re}from"@makaio/framework/contracts/client";import{ProviderStorageSubjects as y}from"@makaio/framework/services/settings/storage";import{ExtensionSubjects as b}from"@makaio/framework/kernel";import{AdapterSubsystemSubjects as x}from"@makaio/framework/services/adapter-subsystem";import{ModelRegistryProviderNotFoundError as ie,ModelRegistrySubjects as S}from"@makaio/framework/services/model-registry";function C(e){return e?{...e}:void 0}function w(e){return e?{...e}:void 0}function T(e){return e?structuredClone(e):void 0}function E(e,t){let n=[];for(let[r,i]of t.providerConfigs){let t=e.providerConfigs.get(r);t!==i&&n.push({kind:`write-provider`,key:`provider:${r}`,id:r,next:i,previous:t})}for(let[r,i]of t.adapters){let t=e.adapters.get(r);t!==i&&n.push({kind:`write-adapter`,key:`adapter:${r}`,name:r,next:i,previous:t})}for(let[r,i]of e.providerConfigs)t.providerConfigs.has(r)||n.push({kind:`delete-provider`,key:`provider-delete:${r}`,id:r,previous:i});return n}async function ae(e,t){switch(t.kind){case`write-provider`:await e.writeProviderConfig(t.id,t.next);return;case`write-adapter`:await e.writeAdapterFile(t.name,t.next);return;case`delete-provider`:if(!await e.deleteProviderConfig(t.id))throw Error(`Provider config file missing during delete: ${t.id}`);return}}async function oe(e,t){switch(t.kind){case`write-provider`:if(t.previous){await e.writeProviderConfig(t.id,t.previous);return}await e.deleteProviderConfig(t.id);return;case`write-adapter`:if(t.previous){await e.writeAdapterFile(t.name,t.previous);return}await e.deleteAdapterFile(t.name);return;case`delete-provider`:await e.writeProviderConfig(t.id,t.previous);return}}async function se(e,t,n){let r=E(t,n);if(r.length===0)return;let i=[];try{for(let t of r)i.push(t),await ae(e,t)}catch(t){try{await ce(e,i)}catch(e){throw AggregateError([t,e],`Adapter subsystem snapshot commit failed and rollback could not restore the previous state.`,{cause:e})}throw t}}async function ce(e,t){let n=[];for(let r of[...t].reverse())try{await oe(e,r)}catch(e){n.push(e instanceof Error?Error(`[${r.key}] ${e.message}`,{cause:e}):Error(`[${r.key}] ${String(e)}`))}if(n.length>0)throw AggregateError(n,`Snapshot rollback failed.`)}function le(e,t){let n=t.credentials!==void 0&&Object.keys(t.credentials).length>0,r=de(t.credentials);return{id:e,definitionId:t.definitionId,name:t.name??t.definitionId,...t.endpointOverrides?{endpointOverrides:{...t.endpointOverrides}}:{},...t.modelVisibility?{modelVisibility:{...t.modelVisibility}}:{},modelFilterMode:t.modelFilterMode??`show-all`,isDefault:t.isDefault??!1,enabled:t.enabled??!0,isSentinel:t.isSentinel??!1,hasCredentials:n,...r?{sourceRef:r}:{}}}function D(e,t){return(t??[]).map(t=>({adapterName:e,providerConfigId:t.providerConfigId,isDefault:t.isDefault??!1}))}function ue(e,t,n){return{name:e,enabled:t.enabled??!0,...t.displayName===void 0?{}:{displayName:t.displayName},...t.description===void 0?{}:{description:t.description},...t.helpLinks===void 0?{}:{helpLinks:t.helpLinks.map(e=>({...e}))},...t.instructions===void 0?{}:{instructions:t.instructions},...t.clientId===void 0?{}:{clientId:t.clientId},...t.protocol===void 0?{}:{protocol:t.protocol},...t.providerDefinitionIds===void 0?{}:{providerDefinitionIds:[...t.providerDefinitionIds]},...t.settings?{settings:structuredClone(t.settings)}:{},bindings:n.map(e=>({...e}))}}function de(e){if(e){for(let t of Object.values(e))if(te(t))return t}}function fe(e,t){let n=[],r=new Set;for(let i of e){let e=t.get(i.providerConfigId);!e||r.has(e.definitionId)||(r.add(e.definitionId),n.push(e.definitionId))}return n}function pe(e){let t=new Map,n=new Map,r=new Map;for(let[i,a]of e.providerConfigs){let e=le(i,a);t.set(i,e),n.set(_(e.name),i);let o=r.get(e.definitionId)??[];o.push(i),r.set(e.definitionId,o)}let i=new Map,a=new Map,o=new Map,s=new Map;for(let[n,r]of e.adapters){let e=D(n,r.bindings),c=ue(n,r,e),l=e.filter(e=>t.get(e.providerConfigId)?.enabled);i.set(n,c),a.set(n,e),s.set(n,l.find(e=>e.isDefault)??l[0]??null);for(let t of e){let e=o.get(t.providerConfigId)??[];e.push(t),o.set(t.providerConfigId,e)}}return{providerConfigRecords:t,providerConfigSlugToId:n,providerConfigIdsByDefinition:r,adapterRecords:i,bindingsByAdapter:a,bindingsByConfig:o,defaultBindingByAdapter:s,adapterNames:new Set(i.keys())}}function O(e,t){return e.get(t)?.enabled??!1}function k(e,t){return e.some(e=>O(t,e.providerConfigId))}function A(e,t){let n=e.find(e=>O(t,e.providerConfigId));return{bindings:e.map(e=>({...e,isDefault:e.providerConfigId===n?.providerConfigId})),...n?{promoted:{...n,isDefault:!0}}:{}}}function j(e,t,n){let r=[...n.entries()].filter(([n,r])=>n!==t&&r.definitionId===e).map(([e,t])=>({id:e,config:t})),i=r.find(({id:e})=>O(n,e))?.id??null;for(let{id:e,config:t}of r)n.set(e,{...t,isDefault:i!==null&&e===i});return i}async function M(e,t,n){let{provider:r}=await e.request(y.get,{id:n.definitionId});if(!r)throw Error(`ProviderDefinition '${n.definitionId}' not found for config '${t}'`);let i=await N(e,r),a={...r.endpoints??{},...n.endpointOverrides??{}},o=P(i);return{providerConfigId:t,definitionId:r.id,...Object.keys(a).length>0?{endpointOverrides:a}:{},credentialRefs:h(n.credentials)??{},...r.credentialEnvVars?{credentialEnvVars:{...r.credentialEnvVars}}:{},...o.length>0?{ambientCredentialEnvVars:o}:{},...r.capabilities?{capabilities:r.capabilities}:{}}}async function N(e,t){try{let n=await e.requestOptional(y.list,{});if(!n.handled)return[t];let r=n.data.providers;return r.some(e=>e.id===t.id)?r:[t,...r]}catch(e){return console.debug(`[AdapterSubsystem] Provider list unavailable for ambient credential discovery`,e),[t]}}function P(e){return[...new Set(e.flatMap(e=>e.credentialEnvVars?Object.values(e.credentialEnvVars):[]))]}var F=class{tail=Promise.resolve();async run(e){let t=this.tail.then(e,e);return this.tail=t.then(()=>void 0,()=>void 0),await t}},I=class{configRepository;bus;snapshot={providerConfigs:new Map,adapters:new Map};providerConfigRecords=new Map;providerConfigSlugToId=new Map;adapterRecords=new Map;bindingsByAdapter=new Map;bindingsByConfig=new Map;defaultBindingByAdapter=new Map;providerConfigIdsByDefinition=new Map;knownAdapterNames=new Set;logImportProviderKeysPromise=null;snapshotMutationQueue=new F;constructor(e){this.configRepository=e.configRepository,this.bus=e.bus}async loadSnapshot(){let[e,t]=await Promise.all([this.configRepository.loadProviderConfigs(),this.configRepository.loadAdapterConfigs()]);this.replaceSnapshot({providerConfigs:new Map(e.configs),adapters:new Map(t.configs)})}registerListeners(e){let t=()=>{this.logImportProviderKeysPromise=null};e(this.bus.on(a.register,t,{filter:{capabilityId:`log-import`}})),e(this.bus.on(a.unregister,t,{filter:{capabilityId:`log-import`}}))}clear(){this.snapshot={providerConfigs:new Map,adapters:new Map},this.providerConfigRecords.clear(),this.providerConfigSlugToId.clear(),this.adapterRecords.clear(),this.bindingsByAdapter.clear(),this.bindingsByConfig.clear(),this.defaultBindingByAdapter.clear(),this.providerConfigIdsByDefinition.clear(),this.knownAdapterNames.clear(),this.logImportProviderKeysPromise=null}replaceSnapshot(e){this.snapshot=e,this.applyDerivedState()}cloneSnapshot(){return{providerConfigs:new Map(this.snapshot.providerConfigs),adapters:new Map(this.snapshot.adapters)}}async commitSnapshotMutation(e,t){return await this.snapshotMutationQueue.run(async()=>{let n=this.cloneSnapshot();return await e(n),await this.commitSnapshot(n),await t?.()})}async commitSnapshot(e){await se(this.configRepository,this.snapshot,e),this.replaceSnapshot(e)}applyDerivedState(){let e=pe(this.snapshot);this.providerConfigRecords=e.providerConfigRecords,this.providerConfigSlugToId=e.providerConfigSlugToId,this.providerConfigIdsByDefinition=e.providerConfigIdsByDefinition,this.adapterRecords=e.adapterRecords,this.bindingsByAdapter=e.bindingsByAdapter,this.bindingsByConfig=e.bindingsByConfig,this.defaultBindingByAdapter=e.defaultBindingByAdapter,(e.adapterNames.size!==this.knownAdapterNames.size||[...e.adapterNames].some(e=>!this.knownAdapterNames.has(e)))&&(this.knownAdapterNames=e.adapterNames,this.logImportProviderKeysPromise=null)}getProviderConfig(e){let t=this.providerConfigRecords.get(e);return t?structuredClone(t):null}requireProviderConfig(e,t){let n=this.getProviderConfig(e);if(!n)throw Error(`Provider config could not be loaded after ${t}: ${e}`);return n}getAdapterConfig(e){let t=this.adapterRecords.get(e);return t?structuredClone(t):null}requireAdapterConfig(e,t){let n=this.getAdapterConfig(e);if(!n)throw Error(`Adapter config could not be loaded after ${t}: ${e}`);return n}isAdapterEnabled(e){return this.getAdapterConfig(e)?.enabled??!1}listProviderConfigs(e){let t=[...this.providerConfigRecords.values()].map(e=>structuredClone(e));return e===void 0?t:t.filter(t=>t.enabled===e)}listProviderConfigsByDefinition(e){return this.getProviderConfigIdsByDefinition(e).map(e=>this.getProviderConfig(e)).filter(e=>e!==null)}listAdapterConfigs(){return[...this.adapterRecords.values()].map(e=>structuredClone(e))}listBindings(e){return structuredClone(this.bindingsByAdapter.get(e)??[])}listBindingsByConfig(e){return structuredClone(this.bindingsByConfig.get(e)??[])}getDefaultBinding(e){let t=this.defaultBindingByAdapter.get(e)??null;return t?structuredClone(t):null}findConfigForDefinitionAndAdapter(e,t){let n=new Set((this.bindingsByAdapter.get(t)??[]).map(e=>e.providerConfigId)),r=this.getProviderConfigIdsByDefinition(e).map(e=>this.providerConfigRecords.get(e)).filter(e=>e!==void 0&&e.enabled&&n.has(e.id)),i=r.find(e=>e.isDefault)??r[0]??null;return i?structuredClone(i):null}getRawProviderConfig(e){return this.snapshot.providerConfigs.get(e)}getProviderConfigIdsByDefinition(e){return[...this.providerConfigIdsByDefinition.get(e)??[]]}assertProviderConfigNameUnique(e,t){let n=_(e),r=this.providerConfigSlugToId.get(n);if(r!==void 0&&r!==t){let t=this.providerConfigRecords.get(r)?.name??r;throw Error(`Provider config name "${e}" conflicts with existing config "${t}": both slugify to "${n}". Choose a different name.`)}}async setAdapterConfig(e,t){return{config:await this.commitSnapshotMutation(n=>{let r=n.adapters.get(e);n.adapters.set(e,this.buildNextAdapterFile(r,t))},()=>this.requireAdapterConfig(e,`update`))}}buildNextAdapterFile(e,t){return{...e??{},$schema:ee,...this.applyAdapterPatch(e,t),bindings:e?.bindings}}applyAdapterPatch(e,t){let n=e??{},r=t.helpLinks?.map(e=>({...e}))??n.helpLinks,i=t.providerDefinitionIds?[...t.providerDefinitionIds]:n.providerDefinitionIds;return{enabled:t.enabled??n.enabled??!0,displayName:t.displayName??n.displayName,description:t.description??n.description,helpLinks:r,instructions:t.instructions??n.instructions,clientId:t.clientId??n.clientId,protocol:t.protocol??n.protocol,providerDefinitionIds:i,settings:t.settings===void 0?n.settings:T(t.settings)}}async setAdapterEnabled(e,t){await this.setAdapterConfig(e,{enabled:t})}async buildEffectiveAdapters(){let e=await this.getLogImportProviderKeys();return[...this.adapterRecords.values()].map(t=>{let n=this.bindingsByAdapter.get(t.name)??[],r=n.filter(e=>this.providerConfigRecords.get(e.providerConfigId)?.enabled),i=[...t.providerDefinitionIds??fe(n,this.providerConfigRecords)];return{name:t.name,displayName:t.displayName??t.name,...t.description===void 0?{}:{description:t.description},enabled:t.enabled,configCount:n.length,readiness:r.length>0?`ready`:`needs-setup`,supportsLogImport:e.has(t.name),...t.helpLinks===void 0?{}:{helpLinks:t.helpLinks.map(e=>({...e}))},...t.instructions===void 0?{}:{instructions:t.instructions},...t.clientId===void 0?{}:{clientId:t.clientId},...t.protocol===void 0?{}:{protocol:t.protocol},...t.providerDefinitionIds!==void 0||i.length>0?{providerDefinitionIds:i}:{}}})}async getLogImportProviderKeys(){if(!this.logImportProviderKeysPromise){let e=this.bus.requestOptional(a.listProviders,{capabilityId:`log-import`}).then(t=>t.handled?new Set(t.data.providers.map(e=>e.providerKey??e.id)):(this.logImportProviderKeysPromise===e&&(this.logImportProviderKeysPromise=null),new Set)).catch(e=>{throw this.logImportProviderKeysPromise=null,e});this.logImportProviderKeysPromise=e}return await this.logImportProviderKeysPromise}async buildProviderContext(e){let t=this.snapshot.providerConfigs.get(e);return t?M(this.bus,e,t):null}removeBindingsForConfig(e,t,n){let r=new Map,i=[],a=[];for(let[o,s]of t){let t=D(o,s.bindings),c=t.findIndex(t=>t.providerConfigId===e);if(c===-1)continue;let[l]=t.splice(c,1);if(l&&i.push(l),l?.isDefault&&t.length>0){let e=A(t,n);t.splice(0,t.length,...e.bindings),e.promoted&&a.push({adapterName:o,providerConfigId:e.promoted.providerConfigId})}r.set(o,{...s,bindings:t.map(({adapterName:e,...t})=>t)})}return{changedAdapters:r,deletedBindings:i,defaultChangedBindings:a}}promoteProviderConfigDefault(e,t,n){return j(e,t,n)}};const L=process.env.MAKAIO_SKIP_CLIENT_VERSION_CHECK===`1`;function R(e){if(!(e===void 0||e.length===0))return e.map(e=>({...e}))}function z(e,t){return e.clientId!==void 0&&t?.some(t=>t.id===e.clientId)?e.clientId:t?.[0]?.id}async function B(e,t,n,r,i={}){if(t===void 0||t.length===0)return;let a=new Map(n.map(e=>[e.definition.id,e.definition]));for(let n of t){let t=a.get(n.id);if(t===void 0)throw Error(`Adapter "${e}" references missing client "${n.id}"`);me(t.version,n.version,`Adapter "${e}" client "${n.id}" definition version ${t.version}`)}if(i.checkBinaryVersions===!1)return;let o=t.filter(e=>e.binaryVersion!==void 0);await Promise.all(o.map(async t=>{if(l(t.binaryVersion))return;let n=await r.requestOptional(re.resolveBinary,{clientId:t.id});if(!n.handled){if(L){console.warn(`[SKIP_VERSION_CHECK] Adapter "${e}" client "${t.id}" declares binaryVersion ${t.binaryVersion}, but no client.resolveBinary handler is registered — check bypassed`);return}throw Error(`Adapter "${e}" client "${t.id}" declares binaryVersion ${t.binaryVersion}, but no client.resolveBinary handler is registered`)}let i=n.data.version;if(i===null){if(L){console.warn(`[SKIP_VERSION_CHECK] Adapter "${e}" client "${t.id}" binary did not report a version; requires ${t.binaryVersion} — check bypassed`);return}throw Error(`Adapter "${e}" client "${t.id}" binary did not report a version; requires ${t.binaryVersion}`)}if(!u(i,t.binaryVersion)){let n=`Adapter "${e}" client "${t.id}" binary version ${i}`;if(L){console.warn(`[SKIP_VERSION_CHECK] ${n} does not satisfy ${t.binaryVersion} — check bypassed`);return}throw Error(`${n} does not satisfy ${t.binaryVersion}`)}}))}function me(e,t,n){if(!u(e,t))throw Error(`${n} does not satisfy ${t}`)}function he(e){let t=e.split(`/`).pop()?.replace(/^ai-adapters-/,``)?.trim();return t&&t.length>0?t:e}function V(e){let t=z(e.options,e.clients);return{name:e.name,displayName:e.displayName??e.name,description:e.description,helpLinks:e.helpLinks?.map(e=>({...e})),instructions:e.instructions,clientId:t,protocol:e.protocol,providerDefinitionIds:[...e.providerDefinitionIds]}}async function H(e){for(let[t,n]of e){let e=n;if(typeof e.shutdown==`function`)try{await e.shutdown()}catch(e){console.error(`[adapter-runtime] Error shutting down adapter ${t}:`,e)}}e.clear()}async function ge(e,t,n){try{let e=t;typeof e.shutdown==`function`&&await e.shutdown()}finally{n.delete(e)}}async function _e(e,t){let{config:n}=await e.request(x.getAdapterConfig,{name:t});return n?.enabled??!1}function ve(e,t){return e.options.adapterId??v(t,e.name)}async function U(e,t,n,r,a){let o=[];for(let s of n)try{if(!await _e(e,s.name)){console.info(`Skipping disabled adapter: ${s.name}`);continue}let n=ve(s,t),o=z(s.options,s.clients),c=await s.factory({...s.options,adapterId:n,platformDefaults:a,definitionProviders:s.providers,clientId:o,globalBus:e});if(c.adapterId!==n)throw Error(`Adapter '${s.name}' initialized with mismatched adapterId (expected '${n}', got '${c.adapterId}')`);r.set(n,c);let l=c;try{await e.emit(i.initialized,{adapterId:n,adapterName:s.name,capabilities:[...l.capabilities??[]],...l.nativeTools===void 0?{}:{nativeTools:[...l.nativeTools]}})}catch(e){try{await ge(n,c,r)}catch(e){console.error(`[adapter-runtime] Error rolling back adapter ${s.name}:`,e)}throw e}console.info(`Initialized adapter: ${s.name} (${s.packageName})`)}catch(e){o.push({adapterName:s.name,error:e})}if(o.length>0){let e=o.map(({adapterName:e,error:t})=>`${e}: ${t instanceof Error?t.message:String(t)}`).join(`; `);throw Error(`Failed to initialize enabled adapters: ${e}`)}}async function ye(e,t){await t.request(x.ensureReady,{});let n=await Promise.all(e.map(async e=>({adapter:e,config:(await t.request(x.getAdapterConfig,{name:e.name})).config})));await Promise.all(n.filter(({config:e})=>!e).map(({adapter:e})=>t.request(x.setAdapterConfig,{name:e.name,patch:{displayName:e.displayName,description:e.description,helpLinks:e.helpLinks?.map(e=>({...e})),instructions:e.instructions,clientId:z(e.options,e.clients),protocol:e.protocol,providerDefinitionIds:[...e.providerDefinitionIds],enabled:!1}})))}var be=class{bus;machineId;loadedAdapters=new Map;adapterInstances=new Map;packageAdapters=new Map;publicationChain=Promise.resolve();constructor(e){this.bus=e.bus,this.machineId=e.machineId}getLoadedAdapters(){return[...this.loadedAdapters.values()]}getAdapterInstances(){return this.adapterInstances}hasAdapterInstance(e){return this.adapterInstances.has(e.options.adapterId??v(this.machineId,e.name))}getSettingsAvailableAdapters(){return[...this.loadedAdapters.values()].map(V)}registerAdapter(e,t){let n=this.loadedAdapters.get(e.name);if(n)throw Error(`Duplicate adapter name '${e.name}' from owners '${n.packageName}' and '${t}'.`);this.loadedAdapters.set(e.name,e);let r=this.packageAdapters.get(t)??[];this.packageAdapters.set(t,[...r,e.name])}updateAdapterProviders(e,t){let n=this.loadedAdapters.get(e);if(!n)return;let r={...n,providers:t};return this.loadedAdapters.set(e,r),r}async deregisterAdapter(e){let t=this.loadedAdapters.get(e);if(t){let n=t.options.adapterId??v(this.machineId,e),r=this.adapterInstances.get(n);if(r){let e=r;typeof e.shutdown==`function`&&await e.shutdown(),this.adapterInstances.delete(n)}}this.loadedAdapters.delete(e)}removePackageTracking(e){this.packageAdapters.delete(e)}async deregisterPackage(e){let t=this.packageAdapters.get(e);if(t?.length){for(let e of t)try{await this.deregisterAdapter(e)}catch(t){console.error(`[AdapterRuntimeRegistry] Error shutting down adapter "${e}":`,t)}this.packageAdapters.delete(e)}}publishAdapterRegistered(e){let{adapterName:t,displayName:n,packageName:r,enabled:i,adapterId:a,providerDefinitionIds:o}=e,s=this.adapterInstances.has(a),c=this.publicationChain.catch(()=>void 0).then(()=>this.bus.emit(x.adapter.registered,{adapterName:t,displayName:n??t,packageName:r,enabled:i,initialized:s,providerDefinitionIds:[...o]}));return this.publicationChain=c.catch(()=>void 0),c}async initializeAdapter(e,t){await U(this.bus,this.machineId,[e],this.adapterInstances,t)}async shutdownAll(){await H(this.adapterInstances),this.loadedAdapters.clear(),this.packageAdapters.clear()}},xe=class{configStore;bus;constructor(e){this.configStore=e.configStore,this.bus=e.bus}async createProviderConfig(e){let t=await this.resolveProviderConfigName(e.definitionId,e.name),n=_(t),r=this.cloneCreateCredentialRefs(e),i=C(e.endpointOverrides),a=w(e.modelVisibility),o=await this.configStore.commitSnapshotMutation(o=>{if(this.configStore.assertProviderConfigNameUnique(t),o.providerConfigs.has(n))throw Error(`Provider config already exists: ${n}`);o.providerConfigs.set(n,{$schema:p,definitionId:e.definitionId,name:t,credentials:r,endpointOverrides:i,modelVisibility:a,modelFilterMode:e.modelFilterMode??`show-all`,isDefault:![...o.providerConfigs.values()].some(t=>t.definitionId===e.definitionId),enabled:!0,isSentinel:e.isSentinel??!1})},()=>this.configStore.requireProviderConfig(n,`creation`));return await this.bus.emit(x.providerConfig.created,o),{config:o}}async updateProviderConfig(e,t){let n=await this.configStore.commitSnapshotMutation(n=>{let r=n.providerConfigs.get(e);if(!r)throw Error(`Provider config not found: ${e}`);let i=t.name??r.name??r.definitionId;t.name!==void 0&&this.configStore.assertProviderConfigNameUnique(i,e),n.providerConfigs.set(e,{...r,name:i,endpointOverrides:t.endpointOverrides===null?void 0:t.endpointOverrides===void 0?r.endpointOverrides:C(t.endpointOverrides),modelVisibility:t.modelVisibility===void 0?r.modelVisibility:w(t.modelVisibility),enabled:t.enabled??r.enabled})},()=>this.configStore.requireProviderConfig(e,`update`));return await this.bus.emit(x.providerConfig.updated,n),{config:n}}async setProviderConfigCredentialRefs(e,t){let n=this.normalizeCredentialRefs(t),r=await this.configStore.commitSnapshotMutation(t=>{let r=t.providerConfigs.get(e);if(!r)throw Error(`Provider config not found: ${e}`);t.providerConfigs.set(e,{...r,credentials:n})},()=>this.configStore.requireProviderConfig(e,`credential update`));return await this.bus.emit(x.providerConfig.updated,r),{config:r}}async deleteProviderConfig(e){let t=!1,n,r=``,i=!1,a=null,o={changedAdapters:new Map,deletedBindings:[],defaultChangedBindings:[]},s=await this.configStore.commitSnapshotMutation(s=>{let c=s.providerConfigs.get(e);if(c){if(c.isSentinel){c.enabled&&(s.providerConfigs.set(e,{...c,enabled:!1}),n=e);return}o=this.configStore.removeBindingsForConfig(e,s.adapters,s.providerConfigs),i=c.isDefault??!1,r=c.definitionId,t=!0,s.providerConfigs.delete(e),a=i?this.configStore.promoteProviderConfigDefault(c.definitionId,e,s.providerConfigs):null;for(let[e,t]of o.changedAdapters)s.adapters.set(e,t)}},()=>n?this.configStore.requireProviderConfig(e,`sentinel disable`):null);if(!t)return n&&await this.bus.emit(x.providerConfig.updated,s),{deleted:!1};await this.cleanupDeletedProviderCredentials(e);for(let e of o.deletedBindings)await this.bus.emit(x.binding.deleted,e);for(let e of o.defaultChangedBindings)await this.bus.emit(x.binding.defaultChanged,e);return await this.bus.emit(x.providerConfig.deleted,{id:e}),i&&await this.bus.emit(x.providerConfig.defaultChanged,{definitionId:r,configId:a}),{deleted:!0}}async setDefaultProviderConfig(e){let t=``,n=await this.configStore.commitSnapshotMutation(n=>{let r=n.providerConfigs.get(e);if(!r)throw Error(`Provider config not found: ${e}`);if(!(r.enabled??!0))throw Error(`Disabled provider config cannot be default: ${e}`);t=r.definitionId;for(let[r,i]of n.providerConfigs)i.definitionId===t&&n.providerConfigs.set(r,{...i,isDefault:r===e})},()=>this.configStore.requireProviderConfig(e,`setDefault`));return await this.bus.emit(x.providerConfig.updated,n),await this.bus.emit(x.providerConfig.defaultChanged,{definitionId:t,configId:e}),{config:n}}async setModelFilterMode(e,t,n){let r=await this.configStore.commitSnapshotMutation(async r=>{let i=r.providerConfigs.get(e);if(!i)throw Error(`Provider config not found: ${e}`);let a=i.modelVisibility;if(t===`allowlist`){let e=await this.selectAllowlistKeeper(i.definitionId,i,n);e&&(a={...i.modelVisibility??{},[e]:`visible`})}r.providerConfigs.set(e,{...i,modelFilterMode:t,modelVisibility:a})},()=>this.configStore.requireProviderConfig(e,`setModelFilterMode`));return await this.bus.emit(x.providerConfig.updated,r),{config:r}}normalizeCredentialRefs(e){if(!(!e||Object.keys(e).length===0))return h(e)}cloneCreateCredentialRefs(e){return this.normalizeCredentialRefs(e.credentialRefs)}async cleanupDeletedProviderCredentials(e){try{await this.bus.requestOptional(o.delete,{configId:e})}catch(t){console.warn(`[AdapterProviderConfigService] Failed to delete credentials for removed provider config "${e}":`,t)}}async resolveProviderConfigName(e,t){let n=g({requestedName:t,providerName:(await this.getProviderDefinitionOrThrow(e)).name,definitionId:e});if(n)return n;throw Error(`Unable to derive a canonical provider config name for definition: ${e}`)}async getProviderDefinitionOrThrow(e){let{provider:t}=await this.bus.request(y.get,{id:e});if(!t)throw Error(`Provider definition not found: ${e}`);return t}async selectAllowlistKeeper(e,t,n){let{provider:r}=await this.bus.request(y.get,{id:e}),i=[n,...r?.availableModels?.map(e=>e.name)??[],...Object.keys(t.modelVisibility??{})].filter(e=>typeof e==`string`&&e.length>0);for(let e of i){let n=ne(e,`allowlist`,t.modelVisibility);if(n===`enabled`||n===`visible`)return}return i[0]}},Se=class{configStore;bus;constructor(e){this.configStore=e.configStore,this.bus=e.bus}async bind(e,t){let n,r=!1;if(await this.configStore.commitSnapshotMutation(i=>{let a=i.providerConfigs.get(t);if(!a)throw Error(`Provider config not found: ${t}`);let o=i.adapters.get(e);if(!o)throw Error(`Adapter config not found: ${e}`);let s=D(e,o.bindings),c=s.find(e=>e.providerConfigId===t);if(c){n={...c};return}r=!0,n={adapterName:e,providerConfigId:t,isDefault:(a.enabled??!0)&&!k(s,i.providerConfigs)};let l=[...s,n];i.adapters.set(e,{...o,bindings:l.map(({adapterName:e,...t})=>t)})}),!n)throw Error(`Binding could not be loaded after bind: ${e}/${t}`);return r&&await this.bus.emit(x.binding.created,n),n}async unbind(e,t){let n,r=!1;await this.configStore.commitSnapshotMutation(i=>{let a=i.adapters.get(e);if(!a)return;let o=D(e,a.bindings),s=o.findIndex(e=>e.providerConfigId===t);if(s===-1)return;let[c]=o.splice(s,1);if(r=!0,c?.isDefault&&o.length>0){let e=A(o,i.providerConfigs);n=e.promoted,o.splice(0,o.length,...e.bindings)}i.adapters.set(e,{...a,bindings:o.map(({adapterName:e,...t})=>t)})}),r&&(await this.bus.emit(x.binding.deleted,{adapterName:e,providerConfigId:t}),n&&await this.bus.emit(x.binding.defaultChanged,{adapterName:e,providerConfigId:n.providerConfigId}))}async setDefaultBinding(e,t){let n=!1;await this.configStore.commitSnapshotMutation(r=>{let i=r.adapters.get(e);if(!i)throw Error(`Adapter config not found: ${e}`);let a=D(e,i.bindings),o=a.find(e=>e.providerConfigId===t);if(!o)throw Error(`Binding not found for adapter ${e} and provider config ${t}`);if(!O(r.providerConfigs,o.providerConfigId))throw Error(`Disabled provider config cannot be default binding: ${t}`);o.isDefault||(n=!0,r.adapters.set(e,{...i,bindings:a.map(({adapterName:e,...n})=>({...n,isDefault:n.providerConfigId===t}))}))}),n&&await this.bus.emit(x.binding.defaultChanged,{adapterName:e,providerConfigId:t})}};function W(e){return e.map(e=>({...e}))}function G(e){if(e instanceof ie)return!0;if(typeof e!=`object`||!e)return!1;let t=e;return t.name===`ModelRegistryProviderNotFoundError`&&typeof t.providerId==`string`||e instanceof Error&&/^Request to "getProviderModels" failed: Provider ".+" is not present in the model registry$/.test(e.message)||e instanceof Error&&/^Provider ".+" is not present in the model registry$/.test(e.message)?!0:G(t.cause)}async function K(e,t,n,r,i,a){let o=a;if(!o){o=new Map;let t=await e.request(b.contributions.catalog,{});for(let e of t.providers)o.set(e.definition.id,e)}let s=[],c=[];for(let e of t){let t=o.get(e.definitionId);if(!t){c.push(e.definitionId);continue}s.push({definition:t.definition,providerPackageName:t.packageName,configSchema:e.configSchema??r,credentialSchema:e.credentialSchema??i})}return c.length>0&&console.warn(`[AdapterContributionProcessor] Adapter "${n}" declares providers [${c.join(`, `)}] but no active extension registers them. These providers will be unavailable until their extensions are loaded.`),s}async function q(e,t,n,r){return Promise.all(n.map(async n=>{let i=n.definition.id;try{let t=r.get(i);if(t===void 0){let a=await e.requestOptional(S.getProviderModels,{providerId:i});t=a.handled?a.data.models:n.definition.availableModels??[],r.set(i,t)}return{...n,definition:{...n.definition,availableModels:W(t)}}}catch(e){return G(e)||console.warn(`[AdapterContributionProcessor] Failed to populate available models for provider "${i}" on adapter "${t}". Falling back to declared provider models.`,e),{...n,definition:{...n.definition,availableModels:W(n.definition.availableModels??[])}}}}))}async function Ce(e,t,n,r){let i=await K(t,e.providerRefs,e.name,e.providerConfigSchema,e.providerCredentialSchema,r);return q(t,e.name,i,n)}function we(e){let t=new Set;for(let n of e){if(typeof n==`string`){(n===`anthropic`||n===`openai`)&&t.add(n);continue}n.anthropic!==void 0&&t.add(`anthropic`),n.openai!==void 0&&t.add(`openai`)}return[...t]}function Te(e,t,n){let r=we(n);if(t!==void 0){if(!r.includes(t))throw Error(`Adapter "${e}" definition protocol "${t}" must be declared in manifest.protocols [${r.join(`, `)}].`);return t}return r.length===1?r[0]:void 0}var Ee=class{configStore;registry;coordinator;machineId;platformDefaults;constructor(e){this.configStore=e.configStore,this.registry=e.registry,this.coordinator=e.coordinator,this.machineId=e.machineId,this.platformDefaults=e.platformDefaults}register(e){e(this.coordinator.registerContributionProcessor({filter:e=>!!e.adapters?.length||!!e.providers?.length,processActivated:async(e,t,n)=>{await this.onPackageActivated(e,t,n)},processStopped:async e=>{await this.onPackageStopped(e)}}))}async onPackageActivated(e,t,n){let r=t.adapters??[],i=[],a=[],o=new Map,s=await n.bus.request(b.contributions.catalog,{}),c=new Map;for(let e of s.providers)c.set(e.definition.id,e);for(let n of t.providers??[])c.set(n.id,{packageName:e,definition:n});let l=s.clients;try{for(let t of r){let r=await this.activateAdapterContribution(e,t,n.bus,o,c,l);i.push(t.definition.name),a.push(r)}}catch(t){for(let e of i.reverse())try{await this.registry.deregisterAdapter(e)}catch(t){console.error(`[AdapterContributionProcessor] Rollback error for adapter "${e}":`,t)}throw this.registry.removePackageTracking(e),t}await this.publishActivatedAdapters(a);let u=await this.initializeAdaptersWaitingForProviders(n.bus,o,c);await this.publishActivatedAdapters(u)}async processAdapterContribution(e,t,n=r){let i=await this.activateAdapterContribution(e,t,n,new Map);await this.publishActivatedAdapters([i])}async activateAdapterContribution(e,t,n,r,i,a){let o=await this.buildLoadedAdapter(e,t,n,r,i,a),s=!1;try{await this.ensureAdapterConfig(o);let t=this.configStore.isAdapterEnabled(o.name);t&&await this.validateEnabledAdapterClientRefs(o,n,a),this.registry.registerAdapter(o,e),s=!0,t&&(this.getMissingProviderDefinitionIds(o).length>0?console.info(`[AdapterContributionProcessor] Deferring adapter "${o.name}" initialization until declared providers are active.`):(await this.registry.initializeAdapter(o,this.platformDefaults),console.info(`[AdapterContributionProcessor] Initialized adapter: ${o.name} (${o.packageName})`)))}catch(e){if(s)try{await this.registry.deregisterAdapter(o.name)}catch(e){console.error(`[AdapterContributionProcessor] Rollback error for adapter "${o.name}":`,e)}throw e}return o}async initializeAdaptersWaitingForProviders(e,t,n){let r=[];for(let i of this.registry.getLoadedAdapters())try{if(this.registry.hasAdapterInstance(i)||!this.configStore.isAdapterEnabled(i.name)||this.getMissingProviderDefinitionIds(i).length===0)continue;let a=await Ce(i,e,t,n),o=this.registry.updateAdapterProviders(i.name,a);if(!o||this.getMissingProviderDefinitionIds(o).length>0)continue;await this.registry.initializeAdapter(o,this.platformDefaults),console.info(`[AdapterContributionProcessor] Initialized adapter: ${o.name} (${o.packageName}) after provider activation`),r.push(o)}catch(e){console.error(`[AdapterContributionProcessor] Deferred initialization failed for adapter "${i.name}".`,e)}return r}getMissingProviderDefinitionIds(e){let t=new Set(e.providers.map(e=>e.definition.id));return e.providerDefinitionIds.filter(e=>!t.has(e))}async validateEnabledAdapterClientRefs(e,t,n){if(e.clients===void 0||e.clients.length===0)return;let r=n??(await t.request(b.contributions.catalog,{})).clients;await B(e.name,e.clients,r,t)}async buildLoadedAdapter(e,t,n=r,i=new Map,a,o){let s=t.definition,c=t.manifest,l=s.name,u=o??(await n.request(b.contributions.catalog,{})).clients;await B(l,c.clients,u,n,{checkBinaryVersions:!1});let d=await q(n,l,await K(n,s.providers,l,s.providerConfigSchema,s.providerCredentialSchema,a),i);return{name:l,displayName:s.displayName??c.displayName,description:s.description,packageName:e,factory:s.createAdapter,options:{adapterId:v(this.machineId,l)},adapterConfigSchema:s.adapterConfigSchema,providerDefinitionIds:s.providers.map(e=>e.definitionId),providerRefs:[...s.providers],providers:d,providerConfigSchema:s.providerConfigSchema,providerCredentialSchema:s.providerCredentialSchema,helpLinks:s.helpLinks,instructions:s.instructions,defaultPresetId:s.defaultPresetId,clients:R(c.clients),protocol:Te(l,s.protocol,c.protocols)}}async ensureAdapterConfig(e){this.configStore.getAdapterConfig(e.name)||await this.configStore.setAdapterConfig(e.name,{displayName:e.displayName,description:e.description,helpLinks:e.helpLinks?.map(e=>({...e})),instructions:e.instructions,clientId:z(e.options,e.clients),protocol:e.protocol,providerDefinitionIds:[...e.providerDefinitionIds],enabled:!1})}async onPackageStopped(e){await this.registry.deregisterPackage(e)}publishAdapterRegistered(e){let t=this.configStore.isAdapterEnabled(e.name),n=e.options.adapterId??v(this.machineId,e.name);return this.registry.publishAdapterRegistered({adapterName:e.name,displayName:e.displayName,packageName:e.packageName,enabled:t,adapterId:n,providerDefinitionIds:e.providerDefinitionIds})}async publishActivatedAdapters(e){for(let t of e)try{await this.publishAdapterRegistered(t)}catch(e){console.error(`[AdapterContributionProcessor] Failed to publish adapter "${t.name}" registration:`,e)}}};const J=-100;function De(e,t){let n=e.on(y.get,async n=>{let r=(await Y(e,t())).get(n.payload.id)??null;n.setResult({provider:r})},{priority:J}),r=e.on(y.list,async n=>{n.setResult({providers:[...(await Y(e,t())).values()]})},{priority:J}),i=e.on(y.listByProtocol,async n=>{let r=[...(await Y(e,t())).values()].filter(e=>e.endpoints!==void 0&&n.payload.protocol in e.endpoints);n.setResult({providers:r})},{priority:J});return()=>{n(),r(),i()}}async function Y(e,t){let n=new Map,r=new Set;for(let e of t){for(let t of e.providerDefinitionIds)r.add(t);for(let t of e.providers)X(n,t.providerPackageName,t.definition)}let i=[...r].filter(e=>!n.has(e));if(i.length>0){let t=await e.request(b.contributions.catalog,{});for(let e of t.providers)i.includes(e.definition.id)&&X(n,e.packageName,e.definition)}return n}function X(e,t,n){let r=s.parse(n);e.has(r.id)||e.set(r.id,{id:r.id,packageName:t,name:r.name,...r.description===void 0?{}:{description:r.description},...r.endpoints===void 0?{}:{endpoints:r.endpoints},...r.defaultModel===void 0?{}:{defaultModel:r.defaultModel},...r.fastModel===void 0?{}:{fastModel:r.fastModel},availableModels:r.availableModels,defaultModelFilterMode:r.defaultModelFilterMode??`show-all`,...r.credentialEnvVars===void 0?{}:{credentialEnvVars:r.credentialEnvVars},...r.capabilities===void 0?{}:{capabilities:r.capabilities},enabled:!0,createdAt:0,updatedAt:0})}var Z=class extends d{configStore;registry;providerConfigService;bindingService;contributionProcessor;constructor(e){super(e.bus),this.configStore=new I({configRepository:e.configRepository,bus:e.bus}),this.registry=new be({bus:e.bus,machineId:e.machineId}),this.providerConfigService=new xe({configStore:this.configStore,bus:e.bus}),this.bindingService=new Se({configStore:this.configStore,bus:e.bus}),this.contributionProcessor=new Ee({configStore:this.configStore,registry:this.registry,coordinator:e.coordinator,machineId:e.machineId,platformDefaults:e.platformDefaults})}async onInit(){await this.configStore.loadSnapshot(),this.configStore.registerListeners(e=>this.addCleanup(e)),this.registerBusHandlers(),await this.bus.emit(x.ready,{})}registerBusHandlers(){this.addCleanup(De(this.bus,()=>this.registry.getLoadedAdapters())),this.registerReadHandlers(),this.registerMutationHandlers()}registerReadHandlers(){this.registerHandler(x.getAdapterConfig,e=>{e.setResult({config:this.configStore.getAdapterConfig(e.payload.name)})}),this.registerHandler(x.listAdapterConfigs,e=>{e.setResult({configs:this.configStore.listAdapterConfigs()})}),this.registerHandler(x.getProviderConfig,e=>{e.setResult({config:this.configStore.getProviderConfig(e.payload.id)})}),this.registerHandler(x.listProviderConfigs,e=>{e.setResult({configs:this.configStore.listProviderConfigs(e.payload.enabled)})}),this.registerHandler(x.listProviderConfigsByDefinition,e=>{e.setResult({configs:this.configStore.listProviderConfigsByDefinition(e.payload.definitionId)})}),this.registerHandler(x.listBindings,e=>{e.setResult({bindings:this.configStore.listBindings(e.payload.adapterName)})}),this.registerHandler(x.listBindingsByConfig,e=>{e.setResult({bindings:this.configStore.listBindingsByConfig(e.payload.providerConfigId)})}),this.registerHandler(x.getDefaultBinding,e=>{e.setResult({binding:this.configStore.getDefaultBinding(e.payload.adapterName)})}),this.registerHandler(x.findConfigForDefinitionAndAdapter,e=>{e.setResult({config:this.configStore.findConfigForDefinitionAndAdapter(e.payload.definitionId,e.payload.adapterName)})}),this.registerHandler(x.buildProviderContext,async e=>{e.setResult({context:await this.configStore.buildProviderContext(e.payload.providerConfigId)})}),this.registerHandler(x.listAdapters,async e=>{e.setResult({adapters:await this.configStore.buildEffectiveAdapters()})}),this.registerHandler(x.getProviderDefinitionsByAdapter,async e=>{let t=this.registry.getLoadedAdapters().find(t=>t.name===e.payload.adapterName),n=new Map((t?.providers??[]).map(e=>[e.definition.id,e.definition])),r=(t?.providerDefinitionIds??[]).filter(e=>!n.has(e));if(r.length>0){let e=await this.bus.request(b.contributions.catalog,{});for(let t of e.providers)r.includes(t.definition.id)&&n.set(t.definition.id,t.definition)}let i=(t?.providerDefinitionIds??[]).flatMap(e=>{let t=n.get(e);return t===void 0?[]:[s.parse(t)]});e.setResult({definitions:i})}),this.registerHandler(x.ensureReady,e=>{e.setResult({ready:!0})})}registerMutationHandlers(){this.registerHandler(x.createProviderConfig,async e=>{e.setResult(await this.providerConfigService.createProviderConfig(e.payload))}),this.registerHandler(x.updateProviderConfig,async e=>{e.setResult(await this.providerConfigService.updateProviderConfig(e.payload.id,e.payload.patch))}),this.registerHandler(x.setProviderConfigCredentialRefs,async e=>{e.setResult(await this.providerConfigService.setProviderConfigCredentialRefs(e.payload.id,e.payload.credentialRefs))}),this.registerHandler(x.deleteProviderConfig,async e=>{e.setResult(await this.providerConfigService.deleteProviderConfig(e.payload.id))}),this.registerHandler(x.setDefaultProviderConfig,async e=>{e.setResult(await this.providerConfigService.setDefaultProviderConfig(e.payload.id))}),this.registerHandler(x.setModelFilterMode,async e=>{e.setResult(await this.providerConfigService.setModelFilterMode(e.payload.id,e.payload.modelFilterMode,e.payload.preferredModel))}),this.registerHandler(x.setAdapterConfig,async e=>{e.setResult(await this.configStore.setAdapterConfig(e.payload.name,e.payload.patch))}),this.registerHandler(x.setAdapterEnabled,async e=>{await this.configStore.setAdapterEnabled(e.payload.name,e.payload.enabled),e.setResult({success:!0})}),this.registerHandler(x.bind,async e=>{e.setResult({binding:await this.bindingService.bind(e.payload.adapterName,e.payload.providerConfigId)})}),this.registerHandler(x.unbind,async e=>{await this.bindingService.unbind(e.payload.adapterName,e.payload.providerConfigId),e.setResult({})}),this.registerHandler(x.setDefaultBinding,async e=>{await this.bindingService.setDefaultBinding(e.payload.adapterName,e.payload.providerConfigId),e.setResult({})})}async onDestroy(){await this.registry.shutdownAll(),this.configStore.clear()}getLoadedAdapters(){return this.registry.getLoadedAdapters()}getAdapterInstances(){return this.registry.getAdapterInstances()}getSettingsAvailableAdapters(){return this.registry.getSettingsAvailableAdapters()}async processAdapterContributions(e,t,n){await this.contributionProcessor.onPackageActivated(e,t,n)}async stopAdapterContributions(e){await this.contributionProcessor.onPackageStopped(e)}};const Q=`.json`;var Oe=class{providerConfigsDir;adaptersDir;constructor(e){this.providerConfigsDir=e.providerConfigsDir,this.adaptersDir=e.adaptersDir}async loadAdapterConfigs(){let e=new Map,t=await this.readJsonFiles(this.adaptersDir,`adapter`);for(let n of t){let t=this.getCanonicalLoadedStem(n.stem,`adapter`,n.filePath);if(!t)continue;let r=f.safeParse(n.jsonData);if(!r.success){this.warnInvalidFile(`adapter`,n.filePath);continue}e.set(t,r.data)}return{configs:e}}async loadProviderConfigs(){let e=new Map,t=await this.readJsonFiles(this.providerConfigsDir,`provider config`);for(let n of t){let t=this.getCanonicalLoadedStem(n.stem,`provider config`,n.filePath);if(!t)continue;let r=m.safeParse(n.jsonData);if(!r.success){this.warnInvalidFile(`provider config`,n.filePath);continue}e.set(t,r.data)}return{configs:e}}async writeProviderConfig(e,n){let r=this.assertCanonicalFileStem(e,`provider config id`),i=m.parse(n);await this.writeJsonFile(t.join(this.providerConfigsDir,`${r}${Q}`),i)}async deleteProviderConfig(e){let n=this.assertCanonicalFileStem(e,`provider config id`);try{return await this.unlinkFile(t.join(this.providerConfigsDir,`${n}${Q}`)),!0}catch(e){if(e.code===`ENOENT`)return!1;throw e}}async writeAdapterFile(e,n){let r=this.assertCanonicalFileStem(e,`adapter name`),i=f.parse(n);await this.writeJsonFile(t.join(this.adaptersDir,`${r}${Q}`),i)}async deleteAdapterFile(e){let n=this.assertCanonicalFileStem(e,`adapter name`);try{return await this.unlinkFile(t.join(this.adaptersDir,`${n}${Q}`)),!0}catch(e){if(e.code===`ENOENT`)return!1;throw e}}async readJsonFiles(n,r){try{let i=(await e.readdir(n,{withFileTypes:!0})).filter(e=>e.isFile()&&t.extname(e.name)===Q).sort((e,t)=>e.name.localeCompare(t.name));return(await Promise.all(i.map(async i=>{let a=t.join(n,i.name);try{let n=await e.readFile(a,`utf-8`);return{filePath:a,stem:t.parse(i.name).name,jsonData:JSON.parse(n)}}catch(e){if(e instanceof SyntaxError||e instanceof Error&&e.code===`ENOENT`)return this.warnInvalidFile(r,a),null;throw e}}))).filter(e=>e!==null)}catch(e){if(e.code===`ENOENT`)return[];throw e}}warnInvalidFile(e,t){console.warn(`[FileAdapterConfigRepository] Skipping invalid %s file: %s`,e,t)}getCanonicalLoadedStem(e,t,n){try{return this.assertCanonicalFileStem(e,`${t} file stem`)}catch{return this.warnInvalidFile(t,n),null}}async writeJsonFile(r,i){let a=t.dirname(r),o=t.join(a,`.${t.basename(r)}.${n()}.tmp`);await e.mkdir(a,{recursive:!0});try{await e.writeFile(o,`${JSON.stringify(i,null,2)}\n`,{encoding:`utf-8`,mode:384}),await this.replaceFile(o,r)}catch(e){throw await this.removeFileIfPresent(o),e}}async replaceFile(e,t){try{await this.renameFile(e,t);return}catch(e){let t=e;if(![`EEXIST`,`EPERM`,`EACCES`].includes(t.code??``))throw e}let r=`${t}.${n()}.bak`,i=!1;try{await this.renameFile(t,r),i=!0}catch(e){if(e.code!==`ENOENT`)throw e}try{await this.renameFile(e,t)}catch(e){throw i&&await this.renameFile(r,t).catch(()=>void 0),e}i&&await this.removeFileIfPresent(r)}async renameFile(t,n){await e.rename(t,n)}async unlinkFile(t){await e.unlink(t)}async removeFileIfPresent(t){try{await e.unlink(t)}catch(e){e.code!==`ENOENT`&&console.warn(`[FileAdapterConfigRepository] Failed to remove temp file: %s`,t,e)}}assertCanonicalFileStem(e,n){let r=e.trim(),i=t.basename(r);if(!r||e!==r||r!==i||!/^[a-z0-9._-]+$/.test(r)||r.includes(`/`)||r.includes(`\\`)||r.toLowerCase().endsWith(`.json`)||r===`.`||r===`..`)throw Error(`Invalid canonical ${n}: ${e}`);return r}};function ke(e){return{filter:e=>!!e.adapters?.length||!!e.providers?.length,async processActivated(t,n,r){let i=e.getAdapterSubsystemService();if(!i)throw Error(`AdapterSubsystemService is not available. Ensure the adapter subsystem package starts before adapter-contributing packages.`);await i.processAdapterContributions(t,n,r)},async processStopped(t){let n=e.getAdapterSubsystemService();n&&await n.stopAdapterContributions(t)}}}const $=c(`adapter-subsystem`);function Ae(e){return{name:$.name,displayName:`Adapter Subsystem`,version:`0.1.0`,provides:[`adapters`],critical:!0,create:t=>new Z({bus:t.bus,configRepository:e.configRepository,coordinator:e.coordinator,machineId:t.machineId,platformDefaults:e.platformDefaults})}}export{Z as AdapterSubsystemService,$ as AdapterSubsystemToken,Oe as FileAdapterConfigRepository,ke as createAdapterSubsystemContributionProcessor,Ae as createAdapterSubsystemPackage,ye as ensureAdapterConfigs,he as extractAdapterIdFromPackageName,U as initializeEnabledAdapters,H as shutdownAdapterInstances,V as toAvailableAdapter};
1
+ import*as e from"node:fs/promises";import*as t from"node:path";import{randomUUID as n}from"node:crypto";import{MakaioBus as r}from"@makaio/framework/bus";import{AdapterSubjects as i,CapabilitySubjects as a,CredentialSubjects as o,ProviderDefinitionSchema as s,extensionToken as c,isUniversalRange as l,versionSatisfies as u}from"@makaio/framework/contracts";import{BaseService as d}from"@makaio/framework/service-base";import{ADAPTER_FILE_SCHEMA_VERSION as f,AdapterFileSchema as p,PROVIDER_CONFIG_SCHEMA_VERSION as ee,ProviderConfigFileSchema as m,brandCredentialRecord as h,isAccountManagerRef as te,resolveCanonicalProviderConfigName as ne,slugifyProviderConfigName as g}from"@makaio/framework/contracts/config";import{resolveModelVisibility as _}from"@makaio/framework/contracts/provider";import{buildDeterministicAdapterId as v}from"@makaio/framework/services/adapter-runtime";import{ClientSubjects as re}from"@makaio/framework/contracts/client";import{ProviderStorageSubjects as y}from"@makaio/framework/services/settings/storage";import{ExtensionSubjects as b}from"@makaio/framework/kernel";import{AdapterSubsystemSubjects as x}from"@makaio/framework/services/adapter-subsystem";import{ModelRegistryProviderNotFoundError as ie,ModelRegistrySubjects as S}from"@makaio/framework/services/model-registry";function C(e){return e?{...e}:void 0}function w(e){return e?{...e}:void 0}function T(e){return e?structuredClone(e):void 0}function ae(e,t){let n=[];for(let[r,i]of t.providerConfigs){let t=e.providerConfigs.get(r);t!==i&&n.push({kind:`write-provider`,key:`provider:${r}`,id:r,next:i,previous:t})}for(let[r,i]of t.adapters){let t=e.adapters.get(r);t!==i&&n.push({kind:`write-adapter`,key:`adapter:${r}`,name:r,next:i,previous:t})}for(let[r,i]of e.providerConfigs)t.providerConfigs.has(r)||n.push({kind:`delete-provider`,key:`provider-delete:${r}`,id:r,previous:i});return n}async function oe(e,t){switch(t.kind){case`write-provider`:await e.writeProviderConfig(t.id,t.next);return;case`write-adapter`:await e.writeAdapterFile(t.name,t.next);return;case`delete-provider`:if(!await e.deleteProviderConfig(t.id))throw Error(`Provider config file missing during delete: ${t.id}`);return}}async function se(e,t){switch(t.kind){case`write-provider`:if(t.previous){await e.writeProviderConfig(t.id,t.previous);return}await e.deleteProviderConfig(t.id);return;case`write-adapter`:if(t.previous){await e.writeAdapterFile(t.name,t.previous);return}await e.deleteAdapterFile(t.name);return;case`delete-provider`:await e.writeProviderConfig(t.id,t.previous);return}}async function ce(e,t,n){let r=ae(t,n);if(r.length===0)return;let i=[];try{for(let t of r)i.push(t),await oe(e,t)}catch(t){try{await le(e,i)}catch(e){throw AggregateError([t,e],`Adapter subsystem snapshot commit failed and rollback could not restore the previous state.`,{cause:e})}throw t}}async function le(e,t){let n=[];for(let r of[...t].reverse())try{await se(e,r)}catch(e){n.push(e instanceof Error?Error(`[${r.key}] ${e.message}`,{cause:e}):Error(`[${r.key}] ${String(e)}`))}if(n.length>0)throw AggregateError(n,`Snapshot rollback failed.`)}function ue(e,t){let n=t.credentials!==void 0&&Object.keys(t.credentials).length>0,r=fe(t.credentials);return{id:e,definitionId:t.definitionId,name:t.name??t.definitionId,...t.endpointOverrides?{endpointOverrides:{...t.endpointOverrides}}:{},...t.modelVisibility?{modelVisibility:{...t.modelVisibility}}:{},modelFilterMode:t.modelFilterMode??`show-all`,isDefault:t.isDefault??!1,enabled:t.enabled??!0,isSentinel:t.isSentinel??!1,hasCredentials:n,...r?{sourceRef:r}:{}}}function E(e,t){return(t??[]).map(t=>({adapterName:e,providerConfigId:t.providerConfigId,isDefault:t.isDefault??!1}))}function de(e,t,n){return{name:e,enabled:t.enabled??!0,...t.displayName===void 0?{}:{displayName:t.displayName},...t.description===void 0?{}:{description:t.description},...t.helpLinks===void 0?{}:{helpLinks:t.helpLinks.map(e=>({...e}))},...t.instructions===void 0?{}:{instructions:t.instructions},...t.clientId===void 0?{}:{clientId:t.clientId},...t.protocol===void 0?{}:{protocol:t.protocol},...t.providerDefinitionIds===void 0?{}:{providerDefinitionIds:[...t.providerDefinitionIds]},...t.settings?{settings:structuredClone(t.settings)}:{},bindings:n.map(e=>({...e}))}}function fe(e){if(e){for(let t of Object.values(e))if(te(t))return t}}function pe(e,t){let n=[],r=new Set;for(let i of e){let e=t.get(i.providerConfigId);!e||r.has(e.definitionId)||(r.add(e.definitionId),n.push(e.definitionId))}return n}function me(e){let t=new Map,n=new Map,r=new Map;for(let[i,a]of e.providerConfigs){let e=ue(i,a);t.set(i,e),n.set(g(e.name),i);let o=r.get(e.definitionId)??[];o.push(i),r.set(e.definitionId,o)}let i=new Map,a=new Map,o=new Map,s=new Map;for(let[n,r]of e.adapters){let e=E(n,r.bindings),c=de(n,r,e),l=e.filter(e=>t.get(e.providerConfigId)?.enabled);i.set(n,c),a.set(n,e),s.set(n,l.find(e=>e.isDefault)??l[0]??null);for(let t of e){let e=o.get(t.providerConfigId)??[];e.push(t),o.set(t.providerConfigId,e)}}return{providerConfigRecords:t,providerConfigSlugToId:n,providerConfigIdsByDefinition:r,adapterRecords:i,bindingsByAdapter:a,bindingsByConfig:o,defaultBindingByAdapter:s,adapterNames:new Set(i.keys())}}function D(e,t){return e.get(t)?.enabled??!1}function O(e,t){return e.some(e=>D(t,e.providerConfigId))}function k(e,t){let n=e.find(e=>D(t,e.providerConfigId));return{bindings:e.map(e=>({...e,isDefault:e.providerConfigId===n?.providerConfigId})),...n?{promoted:{...n,isDefault:!0}}:{}}}function A(e,t,n){let r=[...n.entries()].filter(([n,r])=>n!==t&&r.definitionId===e).map(([e,t])=>({id:e,config:t})),i=r.find(({id:e})=>D(n,e))?.id??null;for(let{id:e,config:t}of r)n.set(e,{...t,isDefault:i!==null&&e===i});return i}async function j(e,t,n){let{provider:r}=await e.request(y.get,{id:n.definitionId});if(!r)throw Error(`ProviderDefinition '${n.definitionId}' not found for config '${t}'`);let i=await M(e,r),a={...r.endpoints??{},...n.endpointOverrides??{}},o=N(i);return{providerConfigId:t,definitionId:r.id,...Object.keys(a).length>0?{endpointOverrides:a}:{},credentialRefs:h(n.credentials)??{},...r.credentialEnvVars?{credentialEnvVars:{...r.credentialEnvVars}}:{},...o.length>0?{ambientCredentialEnvVars:o}:{},...r.capabilities?{capabilities:r.capabilities}:{}}}async function M(e,t){try{let n=await e.requestOptional(y.list,{});if(!n.handled)return[t];let r=n.data.providers;return r.some(e=>e.id===t.id)?r:[t,...r]}catch(e){return console.debug(`[AdapterSubsystem] Provider list unavailable for ambient credential discovery`,e),[t]}}function N(e){return[...new Set(e.flatMap(e=>e.credentialEnvVars?Object.values(e.credentialEnvVars):[]))]}var P=class{tail=Promise.resolve();async run(e){let t=this.tail.then(e,e);return this.tail=t.then(()=>void 0,()=>void 0),await t}},F=class{configRepository;bus;snapshot={providerConfigs:new Map,adapters:new Map};providerConfigRecords=new Map;providerConfigSlugToId=new Map;adapterRecords=new Map;bindingsByAdapter=new Map;bindingsByConfig=new Map;defaultBindingByAdapter=new Map;providerConfigIdsByDefinition=new Map;knownAdapterNames=new Set;logImportProviderKeysPromise=null;snapshotMutationQueue=new P;constructor(e){this.configRepository=e.configRepository,this.bus=e.bus}async loadSnapshot(){let[e,t]=await Promise.all([this.configRepository.loadProviderConfigs(),this.configRepository.loadAdapterConfigs()]);this.replaceSnapshot({providerConfigs:new Map(e.configs),adapters:new Map(t.configs)})}registerListeners(e){let t=()=>{this.logImportProviderKeysPromise=null};e(this.bus.on(a.register,t,{filter:{capabilityId:`log-import`}})),e(this.bus.on(a.unregister,t,{filter:{capabilityId:`log-import`}}))}clear(){this.snapshot={providerConfigs:new Map,adapters:new Map},this.providerConfigRecords.clear(),this.providerConfigSlugToId.clear(),this.adapterRecords.clear(),this.bindingsByAdapter.clear(),this.bindingsByConfig.clear(),this.defaultBindingByAdapter.clear(),this.providerConfigIdsByDefinition.clear(),this.knownAdapterNames.clear(),this.logImportProviderKeysPromise=null}replaceSnapshot(e){this.snapshot=e,this.applyDerivedState()}cloneSnapshot(){return{providerConfigs:new Map(this.snapshot.providerConfigs),adapters:new Map(this.snapshot.adapters)}}async commitSnapshotMutation(e,t){return await this.snapshotMutationQueue.run(async()=>{let n=this.cloneSnapshot();return await e(n),await this.commitSnapshot(n),await t?.()})}async commitSnapshot(e){await ce(this.configRepository,this.snapshot,e),this.replaceSnapshot(e)}applyDerivedState(){let e=me(this.snapshot);this.providerConfigRecords=e.providerConfigRecords,this.providerConfigSlugToId=e.providerConfigSlugToId,this.providerConfigIdsByDefinition=e.providerConfigIdsByDefinition,this.adapterRecords=e.adapterRecords,this.bindingsByAdapter=e.bindingsByAdapter,this.bindingsByConfig=e.bindingsByConfig,this.defaultBindingByAdapter=e.defaultBindingByAdapter,(e.adapterNames.size!==this.knownAdapterNames.size||[...e.adapterNames].some(e=>!this.knownAdapterNames.has(e)))&&(this.knownAdapterNames=e.adapterNames,this.logImportProviderKeysPromise=null)}getProviderConfig(e){let t=this.providerConfigRecords.get(e);return t?structuredClone(t):null}requireProviderConfig(e,t){let n=this.getProviderConfig(e);if(!n)throw Error(`Provider config could not be loaded after ${t}: ${e}`);return n}getAdapterConfig(e){let t=this.adapterRecords.get(e);return t?structuredClone(t):null}requireAdapterConfig(e,t){let n=this.getAdapterConfig(e);if(!n)throw Error(`Adapter config could not be loaded after ${t}: ${e}`);return n}isAdapterEnabled(e){return this.getAdapterConfig(e)?.enabled??!1}listProviderConfigs(e){let t=[...this.providerConfigRecords.values()].map(e=>structuredClone(e));return e===void 0?t:t.filter(t=>t.enabled===e)}listProviderConfigsByDefinition(e){return this.getProviderConfigIdsByDefinition(e).map(e=>this.getProviderConfig(e)).filter(e=>e!==null)}listAdapterConfigs(){return[...this.adapterRecords.values()].map(e=>structuredClone(e))}listBindings(e){return structuredClone(this.bindingsByAdapter.get(e)??[])}listBindingsByConfig(e){return structuredClone(this.bindingsByConfig.get(e)??[])}getDefaultBinding(e){let t=this.defaultBindingByAdapter.get(e)??null;return t?structuredClone(t):null}findConfigForDefinitionAndAdapter(e,t){let n=new Set((this.bindingsByAdapter.get(t)??[]).map(e=>e.providerConfigId)),r=this.getProviderConfigIdsByDefinition(e).map(e=>this.providerConfigRecords.get(e)).filter(e=>e!==void 0&&e.enabled&&n.has(e.id)),i=r.find(e=>e.isDefault)??r[0]??null;return i?structuredClone(i):null}getRawProviderConfig(e){return this.snapshot.providerConfigs.get(e)}getProviderConfigIdsByDefinition(e){return[...this.providerConfigIdsByDefinition.get(e)??[]]}assertProviderConfigNameUnique(e,t){let n=g(e),r=this.providerConfigSlugToId.get(n);if(r!==void 0&&r!==t){let t=this.providerConfigRecords.get(r)?.name??r;throw Error(`Provider config name "${e}" conflicts with existing config "${t}": both slugify to "${n}". Choose a different name.`)}}async setAdapterConfig(e,t){return{config:await this.commitSnapshotMutation(n=>{let r=n.adapters.get(e);n.adapters.set(e,this.buildNextAdapterFile(r,t))},()=>this.requireAdapterConfig(e,`update`))}}buildNextAdapterFile(e,t){return{...e??{},$schema:f,...this.applyAdapterPatch(e,t),bindings:e?.bindings}}applyAdapterPatch(e,t){let n=e??{},r=t.helpLinks?.map(e=>({...e}))??n.helpLinks,i=t.providerDefinitionIds?[...t.providerDefinitionIds]:n.providerDefinitionIds;return{enabled:t.enabled??n.enabled??!0,displayName:t.displayName??n.displayName,description:t.description??n.description,helpLinks:r,instructions:t.instructions??n.instructions,clientId:t.clientId??n.clientId,protocol:t.protocol??n.protocol,providerDefinitionIds:i,settings:t.settings===void 0?n.settings:T(t.settings)}}async setAdapterEnabled(e,t){await this.setAdapterConfig(e,{enabled:t})}async buildEffectiveAdapters(){let e=await this.getLogImportProviderKeys();return[...this.adapterRecords.values()].map(t=>{let n=this.bindingsByAdapter.get(t.name)??[],r=n.filter(e=>this.providerConfigRecords.get(e.providerConfigId)?.enabled),i=[...t.providerDefinitionIds??pe(n,this.providerConfigRecords)];return{name:t.name,displayName:t.displayName??t.name,...t.description===void 0?{}:{description:t.description},enabled:t.enabled,configCount:n.length,readiness:r.length>0?`ready`:`needs-setup`,supportsLogImport:e.has(t.name),...t.helpLinks===void 0?{}:{helpLinks:t.helpLinks.map(e=>({...e}))},...t.instructions===void 0?{}:{instructions:t.instructions},...t.clientId===void 0?{}:{clientId:t.clientId},...t.protocol===void 0?{}:{protocol:t.protocol},...t.providerDefinitionIds!==void 0||i.length>0?{providerDefinitionIds:i}:{}}})}async getLogImportProviderKeys(){if(!this.logImportProviderKeysPromise){let e=this.bus.requestOptional(a.listProviders,{capabilityId:`log-import`}).then(t=>t.handled?new Set(t.data.providers.map(e=>e.providerKey??e.id)):(this.logImportProviderKeysPromise===e&&(this.logImportProviderKeysPromise=null),new Set)).catch(e=>{throw this.logImportProviderKeysPromise=null,e});this.logImportProviderKeysPromise=e}return await this.logImportProviderKeysPromise}async buildProviderContext(e){let t=this.snapshot.providerConfigs.get(e);return t?j(this.bus,e,t):null}removeBindingsForConfig(e,t,n){let r=new Map,i=[],a=[];for(let[o,s]of t){let t=E(o,s.bindings),c=t.findIndex(t=>t.providerConfigId===e);if(c===-1)continue;let[l]=t.splice(c,1);if(l&&i.push(l),l?.isDefault&&t.length>0){let e=k(t,n);t.splice(0,t.length,...e.bindings),e.promoted&&a.push({adapterName:o,providerConfigId:e.promoted.providerConfigId})}r.set(o,{...s,bindings:t.map(({adapterName:e,...t})=>t)})}return{changedAdapters:r,deletedBindings:i,defaultChangedBindings:a}}promoteProviderConfigDefault(e,t,n){return A(e,t,n)}};const I=process.env.MAKAIO_SKIP_CLIENT_VERSION_CHECK===`1`;function L(e){if(!(e===void 0||e.length===0))return e.map(e=>({...e}))}function R(e,t){return e.clientId!==void 0&&t?.some(t=>t.id===e.clientId)?e.clientId:t?.[0]?.id}async function z(e,t,n,r,i={}){if(t===void 0||t.length===0)return;let a=new Map(n.map(e=>[e.definition.id,e.definition]));for(let n of t){let t=a.get(n.id);if(t===void 0)throw Error(`Adapter "${e}" references missing client "${n.id}"`);he(t.version,n.version,`Adapter "${e}" client "${n.id}" definition version ${t.version}`)}if(i.checkBinaryVersions===!1)return;let o=t.filter(e=>e.binaryVersion!==void 0);await Promise.all(o.map(async t=>{if(l(t.binaryVersion))return;let n=await r.requestOptional(re.resolveBinary,{clientId:t.id});if(!n.handled){if(I){console.warn(`[SKIP_VERSION_CHECK] Adapter "${e}" client "${t.id}" declares binaryVersion ${t.binaryVersion}, but no client.resolveBinary handler is registered — check bypassed`);return}throw Error(`Adapter "${e}" client "${t.id}" declares binaryVersion ${t.binaryVersion}, but no client.resolveBinary handler is registered`)}let i=n.data.version;if(i===null){if(I){console.warn(`[SKIP_VERSION_CHECK] Adapter "${e}" client "${t.id}" binary did not report a version; requires ${t.binaryVersion} — check bypassed`);return}throw Error(`Adapter "${e}" client "${t.id}" binary did not report a version; requires ${t.binaryVersion}`)}if(!u(i,t.binaryVersion)){let n=`Adapter "${e}" client "${t.id}" binary version ${i}`;if(I){console.warn(`[SKIP_VERSION_CHECK] ${n} does not satisfy ${t.binaryVersion} — check bypassed`);return}throw Error(`${n} does not satisfy ${t.binaryVersion}`)}}))}function he(e,t,n){if(!u(e,t))throw Error(`${n} does not satisfy ${t}`)}function ge(e){let t=e.split(`/`).pop()?.replace(/^ai-adapters-/,``)?.trim();return t&&t.length>0?t:e}function B(e){let t=R(e.options,e.clients);return{name:e.name,displayName:e.displayName??e.name,description:e.description,helpLinks:e.helpLinks?.map(e=>({...e})),instructions:e.instructions,clientId:t,protocol:e.protocol,providerDefinitionIds:[...e.providerDefinitionIds]}}async function V(e){for(let[t,n]of e){let e=n;if(typeof e.shutdown==`function`)try{await e.shutdown()}catch(e){console.error(`[adapter-runtime] Error shutting down adapter ${t}:`,e)}}e.clear()}async function _e(e,t,n){try{let e=t;typeof e.shutdown==`function`&&await e.shutdown()}finally{n.delete(e)}}async function ve(e,t){let{config:n}=await e.request(x.getAdapterConfig,{name:t});return n?.enabled??!1}function ye(e,t){return e.options.adapterId??v(t,e.name)}async function H(e,t,n,r,a){let o=[];for(let s of n)try{if(!await ve(e,s.name)){console.info(`Skipping disabled adapter: ${s.name}`);continue}let n=ye(s,t),o=R(s.options,s.clients),c=await s.factory({...s.options,adapterId:n,platformDefaults:a,definitionProviders:s.providers,clientId:o,globalBus:e});if(c.adapterId!==n)throw Error(`Adapter '${s.name}' initialized with mismatched adapterId (expected '${n}', got '${c.adapterId}')`);r.set(n,c);let l=c;try{await e.emit(i.initialized,{adapterId:n,adapterName:s.name,capabilities:[...l.capabilities??[]],...l.nativeTools===void 0?{}:{nativeTools:[...l.nativeTools]}})}catch(e){try{await _e(n,c,r)}catch(e){console.error(`[adapter-runtime] Error rolling back adapter ${s.name}:`,e)}throw e}console.info(`Initialized adapter: ${s.name} (${s.packageName})`)}catch(e){o.push({adapterName:s.name,error:e})}if(o.length>0){let e=o.map(({adapterName:e,error:t})=>`${e}: ${t instanceof Error?t.message:String(t)}`).join(`; `);throw Error(`Failed to initialize enabled adapters: ${e}`)}}async function be(e,t){await t.request(x.ensureReady,{});let n=await Promise.all(e.map(async e=>({adapter:e,config:(await t.request(x.getAdapterConfig,{name:e.name})).config})));await Promise.all(n.filter(({config:e})=>!e).map(({adapter:e})=>t.request(x.setAdapterConfig,{name:e.name,patch:{displayName:e.displayName,description:e.description,helpLinks:e.helpLinks?.map(e=>({...e})),instructions:e.instructions,clientId:R(e.options,e.clients),protocol:e.protocol,providerDefinitionIds:[...e.providerDefinitionIds],enabled:!1}})))}var xe=class{bus;machineId;loadedAdapters=new Map;adapterInstances=new Map;packageAdapters=new Map;publicationChain=Promise.resolve();constructor(e){this.bus=e.bus,this.machineId=e.machineId}getLoadedAdapters(){return[...this.loadedAdapters.values()]}getAdapterInstances(){return this.adapterInstances}hasAdapterInstance(e){return this.adapterInstances.has(e.options.adapterId??v(this.machineId,e.name))}getSettingsAvailableAdapters(){return[...this.loadedAdapters.values()].map(B)}registerAdapter(e,t){let n=this.loadedAdapters.get(e.name);if(n)throw Error(`Duplicate adapter name '${e.name}' from owners '${n.packageName}' and '${t}'.`);this.loadedAdapters.set(e.name,e);let r=this.packageAdapters.get(t)??[];this.packageAdapters.set(t,[...r,e.name])}updateAdapterProviders(e,t){let n=this.loadedAdapters.get(e);if(!n)return;let r={...n,providers:t};return this.loadedAdapters.set(e,r),r}async deregisterAdapter(e){let t=this.loadedAdapters.get(e);if(t){let n=t.options.adapterId??v(this.machineId,e),r=this.adapterInstances.get(n);if(r){let e=r;typeof e.shutdown==`function`&&await e.shutdown(),this.adapterInstances.delete(n)}}this.loadedAdapters.delete(e)}removePackageTracking(e){this.packageAdapters.delete(e)}async deregisterPackage(e){let t=this.packageAdapters.get(e);if(t?.length){for(let e of t)try{await this.deregisterAdapter(e)}catch(t){console.error(`[AdapterRuntimeRegistry] Error shutting down adapter "${e}":`,t)}this.packageAdapters.delete(e)}}publishAdapterRegistered(e){let{adapterName:t,displayName:n,packageName:r,enabled:i,adapterId:a,providerDefinitionIds:o}=e,s=this.adapterInstances.has(a),c=this.publicationChain.catch(()=>void 0).then(()=>this.bus.emit(x.adapter.registered,{adapterName:t,displayName:n??t,packageName:r,enabled:i,initialized:s,providerDefinitionIds:[...o]}));return this.publicationChain=c.catch(()=>void 0),c}async initializeAdapter(e,t){await H(this.bus,this.machineId,[e],this.adapterInstances,t)}async shutdownAll(){await V(this.adapterInstances),this.loadedAdapters.clear(),this.packageAdapters.clear()}},Se=class{configStore;bus;constructor(e){this.configStore=e.configStore,this.bus=e.bus}async createProviderConfig(e){let t=await this.resolveProviderConfigName(e.definitionId,e.name),n=g(t),r=this.cloneCreateCredentialRefs(e),i=C(e.endpointOverrides),a=w(e.modelVisibility),o=await this.configStore.commitSnapshotMutation(o=>{if(this.configStore.assertProviderConfigNameUnique(t),o.providerConfigs.has(n))throw Error(`Provider config already exists: ${n}`);o.providerConfigs.set(n,{$schema:ee,definitionId:e.definitionId,name:t,credentials:r,endpointOverrides:i,modelVisibility:a,modelFilterMode:e.modelFilterMode??`show-all`,isDefault:![...o.providerConfigs.values()].some(t=>t.definitionId===e.definitionId),enabled:!0,isSentinel:e.isSentinel??!1})},()=>this.configStore.requireProviderConfig(n,`creation`));return await this.bus.emit(x.providerConfig.created,o),{config:o}}async updateProviderConfig(e,t){let n=await this.configStore.commitSnapshotMutation(n=>{let r=n.providerConfigs.get(e);if(!r)throw Error(`Provider config not found: ${e}`);let i=t.name??r.name??r.definitionId;t.name!==void 0&&this.configStore.assertProviderConfigNameUnique(i,e),n.providerConfigs.set(e,{...r,name:i,endpointOverrides:t.endpointOverrides===null?void 0:t.endpointOverrides===void 0?r.endpointOverrides:C(t.endpointOverrides),modelVisibility:t.modelVisibility===void 0?r.modelVisibility:w(t.modelVisibility),enabled:t.enabled??r.enabled})},()=>this.configStore.requireProviderConfig(e,`update`));return await this.bus.emit(x.providerConfig.updated,n),{config:n}}async setProviderConfigCredentialRefs(e,t){let n=this.normalizeCredentialRefs(t),r=await this.configStore.commitSnapshotMutation(t=>{let r=t.providerConfigs.get(e);if(!r)throw Error(`Provider config not found: ${e}`);t.providerConfigs.set(e,{...r,credentials:n})},()=>this.configStore.requireProviderConfig(e,`credential update`));return await this.bus.emit(x.providerConfig.updated,r),{config:r}}async deleteProviderConfig(e){let t=!1,n,r=``,i=!1,a=null,o={changedAdapters:new Map,deletedBindings:[],defaultChangedBindings:[]},s=await this.configStore.commitSnapshotMutation(s=>{let c=s.providerConfigs.get(e);if(c){if(c.isSentinel){c.enabled&&(s.providerConfigs.set(e,{...c,enabled:!1}),n=e);return}o=this.configStore.removeBindingsForConfig(e,s.adapters,s.providerConfigs),i=c.isDefault??!1,r=c.definitionId,t=!0,s.providerConfigs.delete(e),a=i?this.configStore.promoteProviderConfigDefault(c.definitionId,e,s.providerConfigs):null;for(let[e,t]of o.changedAdapters)s.adapters.set(e,t)}},()=>n?this.configStore.requireProviderConfig(e,`sentinel disable`):null);if(!t)return n&&await this.bus.emit(x.providerConfig.updated,s),{deleted:!1};await this.cleanupDeletedProviderCredentials(e);for(let e of o.deletedBindings)await this.bus.emit(x.binding.deleted,e);for(let e of o.defaultChangedBindings)await this.bus.emit(x.binding.defaultChanged,e);return await this.bus.emit(x.providerConfig.deleted,{id:e}),i&&await this.bus.emit(x.providerConfig.defaultChanged,{definitionId:r,configId:a}),{deleted:!0}}async setDefaultProviderConfig(e){let t=``,n=await this.configStore.commitSnapshotMutation(n=>{let r=n.providerConfigs.get(e);if(!r)throw Error(`Provider config not found: ${e}`);if(!(r.enabled??!0))throw Error(`Disabled provider config cannot be default: ${e}`);t=r.definitionId;for(let[r,i]of n.providerConfigs)i.definitionId===t&&n.providerConfigs.set(r,{...i,isDefault:r===e})},()=>this.configStore.requireProviderConfig(e,`setDefault`));return await this.bus.emit(x.providerConfig.updated,n),await this.bus.emit(x.providerConfig.defaultChanged,{definitionId:t,configId:e}),{config:n}}async setModelFilterMode(e,t,n){let r=await this.configStore.commitSnapshotMutation(async r=>{let i=r.providerConfigs.get(e);if(!i)throw Error(`Provider config not found: ${e}`);let a=i.modelVisibility;if(t===`allowlist`){let e=await this.selectAllowlistKeeper(i.definitionId,i,n);e&&(a={...i.modelVisibility??{},[e]:`visible`})}r.providerConfigs.set(e,{...i,modelFilterMode:t,modelVisibility:a})},()=>this.configStore.requireProviderConfig(e,`setModelFilterMode`));return await this.bus.emit(x.providerConfig.updated,r),{config:r}}normalizeCredentialRefs(e){if(!(!e||Object.keys(e).length===0))return h(e)}cloneCreateCredentialRefs(e){return this.normalizeCredentialRefs(e.credentialRefs)}async cleanupDeletedProviderCredentials(e){try{await this.bus.requestOptional(o.delete,{configId:e})}catch(t){console.warn(`[AdapterProviderConfigService] Failed to delete credentials for removed provider config "${e}":`,t)}}async resolveProviderConfigName(e,t){let n=ne({requestedName:t,providerName:(await this.getProviderDefinitionOrThrow(e)).name,definitionId:e});if(n)return n;throw Error(`Unable to derive a canonical provider config name for definition: ${e}`)}async getProviderDefinitionOrThrow(e){let{provider:t}=await this.bus.request(y.get,{id:e});if(!t)throw Error(`Provider definition not found: ${e}`);return t}async selectAllowlistKeeper(e,t,n){let{provider:r}=await this.bus.request(y.get,{id:e}),i=[n,...r?.availableModels?.map(e=>e.name)??[],...Object.keys(t.modelVisibility??{})].filter(e=>typeof e==`string`&&e.length>0);for(let e of i){let n=_(e,`allowlist`,t.modelVisibility);if(n===`enabled`||n===`visible`)return}return i[0]}},Ce=class{configStore;bus;constructor(e){this.configStore=e.configStore,this.bus=e.bus}async bind(e,t){let n,r=!1;if(await this.configStore.commitSnapshotMutation(i=>{let a=i.providerConfigs.get(t);if(!a)throw Error(`Provider config not found: ${t}`);let o=i.adapters.get(e);if(!o)throw Error(`Adapter config not found: ${e}`);let s=E(e,o.bindings),c=s.find(e=>e.providerConfigId===t);if(c){n={...c};return}r=!0,n={adapterName:e,providerConfigId:t,isDefault:(a.enabled??!0)&&!O(s,i.providerConfigs)};let l=[...s,n];i.adapters.set(e,{...o,bindings:l.map(({adapterName:e,...t})=>t)})}),!n)throw Error(`Binding could not be loaded after bind: ${e}/${t}`);return r&&await this.bus.emit(x.binding.created,n),n}async unbind(e,t){let n,r=!1;await this.configStore.commitSnapshotMutation(i=>{let a=i.adapters.get(e);if(!a)return;let o=E(e,a.bindings),s=o.findIndex(e=>e.providerConfigId===t);if(s===-1)return;let[c]=o.splice(s,1);if(r=!0,c?.isDefault&&o.length>0){let e=k(o,i.providerConfigs);n=e.promoted,o.splice(0,o.length,...e.bindings)}i.adapters.set(e,{...a,bindings:o.map(({adapterName:e,...t})=>t)})}),r&&(await this.bus.emit(x.binding.deleted,{adapterName:e,providerConfigId:t}),n&&await this.bus.emit(x.binding.defaultChanged,{adapterName:e,providerConfigId:n.providerConfigId}))}async setDefaultBinding(e,t){let n=!1;await this.configStore.commitSnapshotMutation(r=>{let i=r.adapters.get(e);if(!i)throw Error(`Adapter config not found: ${e}`);let a=E(e,i.bindings),o=a.find(e=>e.providerConfigId===t);if(!o)throw Error(`Binding not found for adapter ${e} and provider config ${t}`);if(!D(r.providerConfigs,o.providerConfigId))throw Error(`Disabled provider config cannot be default binding: ${t}`);o.isDefault||(n=!0,r.adapters.set(e,{...i,bindings:a.map(({adapterName:e,...n})=>({...n,isDefault:n.providerConfigId===t}))}))}),n&&await this.bus.emit(x.binding.defaultChanged,{adapterName:e,providerConfigId:t})}};function U(e){return e.map(e=>({...e}))}function W(e){if(e instanceof ie)return!0;if(typeof e!=`object`||!e)return!1;let t=e;return t.name===`ModelRegistryProviderNotFoundError`&&typeof t.providerId==`string`||e instanceof Error&&/^Request to "getProviderModels" failed: Provider ".+" is not present in the model registry$/.test(e.message)||e instanceof Error&&/^Provider ".+" is not present in the model registry$/.test(e.message)?!0:W(t.cause)}async function G(e,t,n,r,i,a){let o=a;if(!o){o=new Map;let t=await e.request(b.contributions.catalog,{});for(let e of t.providers)o.set(e.definition.id,e)}let s=[],c=[];for(let e of t){let t=o.get(e.definitionId);if(!t){c.push(e.definitionId);continue}s.push({definition:t.definition,providerPackageName:t.packageName,configSchema:e.configSchema??r,credentialSchema:e.credentialSchema??i})}return c.length>0&&console.warn(`[AdapterContributionProcessor] Adapter "${n}" declares providers [${c.join(`, `)}] but no active extension registers them. These providers will be unavailable until their extensions are loaded.`),s}async function K(e,t,n,r){return Promise.all(n.map(async n=>{let i=n.definition.id;try{let t=r.get(i);if(t===void 0){let a=await e.requestOptional(S.getProviderModels,{providerId:i});t=a.handled?a.data.models:n.definition.availableModels??[],r.set(i,t)}return{...n,definition:{...n.definition,availableModels:U(t)}}}catch(e){return W(e)||console.warn(`[AdapterContributionProcessor] Failed to populate available models for provider "${i}" on adapter "${t}". Falling back to declared provider models.`,e),{...n,definition:{...n.definition,availableModels:U(n.definition.availableModels??[])}}}}))}async function we(e,t,n,r){let i=await G(t,e.providerRefs,e.name,e.providerConfigSchema,e.providerCredentialSchema,r);return K(t,e.name,i,n)}function Te(e){let t=new Set;for(let n of e){if(typeof n==`string`){(n===`anthropic`||n===`openai`)&&t.add(n);continue}n.anthropic!==void 0&&t.add(`anthropic`),n.openai!==void 0&&t.add(`openai`)}return[...t]}function Ee(e,t,n){let r=Te(n);if(t!==void 0){if(!r.includes(t))throw Error(`Adapter "${e}" definition protocol "${t}" must be declared in manifest.protocols [${r.join(`, `)}].`);return t}return r.length===1?r[0]:void 0}var q=class{configStore;registry;coordinator;machineId;platformDefaults;constructor(e){this.configStore=e.configStore,this.registry=e.registry,this.coordinator=e.coordinator,this.machineId=e.machineId,this.platformDefaults=e.platformDefaults}register(e){e(this.coordinator.registerContributionProcessor({filter:e=>!!e.adapters?.length||!!e.providers?.length,processActivated:async(e,t,n)=>{await this.onPackageActivated(e,t,n)},processStopped:async e=>{await this.onPackageStopped(e)}}))}async onPackageActivated(e,t,n){let r=t.adapters??[],i=[],a=[],o=new Map,s=await n.bus.request(b.contributions.catalog,{}),c=new Map;for(let e of s.providers)c.set(e.definition.id,e);for(let n of t.providers??[])c.set(n.id,{packageName:e,definition:n});let l=s.clients,u=this.coordinator.getLoadedProviderDefinitionIds();try{for(let t of r){let r=await this.activateAdapterContribution(e,t,n.bus,o,c,l,u);i.push(t.definition.name),a.push(r)}}catch(t){for(let e of i.reverse())try{await this.registry.deregisterAdapter(e)}catch(t){console.error(`[AdapterContributionProcessor] Rollback error for adapter "${e}":`,t)}throw this.registry.removePackageTracking(e),t}await this.publishActivatedAdapters(a);let d=await this.initializeAdaptersWaitingForProviders(n.bus,o,c,u);await this.publishActivatedAdapters(d)}async processAdapterContribution(e,t,n=r){let i=this.coordinator.getLoadedProviderDefinitionIds(),a=await this.activateAdapterContribution(e,t,n,new Map,void 0,void 0,i);await this.publishActivatedAdapters([a])}async activateAdapterContribution(e,t,n,r,i,a,o){let s=await this.buildLoadedAdapter(e,t,n,r,i,a),c=!1;try{await this.ensureAdapterConfig(s);let t=this.configStore.isAdapterEnabled(s.name);t&&await this.validateEnabledAdapterClientRefs(s,n,a),this.registry.registerAdapter(s,e),c=!0,t&&(this.getMissingProviderDefinitionIds(s,o??new Set).length>0?console.info(`[AdapterContributionProcessor] Deferring adapter "${s.name}" initialization until declared providers are active.`):(await this.registry.initializeAdapter(s,this.platformDefaults),console.info(`[AdapterContributionProcessor] Initialized adapter: ${s.name} (${s.packageName})`)))}catch(e){if(c)try{await this.registry.deregisterAdapter(s.name)}catch(e){console.error(`[AdapterContributionProcessor] Rollback error for adapter "${s.name}":`,e)}throw e}return s}async initializeAdaptersWaitingForProviders(e,t,n,r){let i=[];for(let a of this.registry.getLoadedAdapters())try{if(this.registry.hasAdapterInstance(a)||!this.configStore.isAdapterEnabled(a.name)||this.getMissingProviderDefinitionIds(a,r).length===0)continue;let o=await we(a,e,t,n),s=this.registry.updateAdapterProviders(a.name,o);if(!s||this.getMissingProviderDefinitionIds(s,r).length>0)continue;await this.registry.initializeAdapter(s,this.platformDefaults),console.info(`[AdapterContributionProcessor] Initialized adapter: ${s.name} (${s.packageName}) after provider activation`),i.push(s)}catch(e){console.error(`[AdapterContributionProcessor] Deferred initialization failed for adapter "${a.name}".`,e)}return i}getMissingProviderDefinitionIds(e,t){let n=new Set(e.providers.map(e=>e.definition.id));return e.providerDefinitionIds.filter(e=>!n.has(e)&&t.has(e))}async validateEnabledAdapterClientRefs(e,t,n){if(e.clients===void 0||e.clients.length===0)return;let r=n??(await t.request(b.contributions.catalog,{})).clients;await z(e.name,e.clients,r,t)}async buildLoadedAdapter(e,t,n=r,i=new Map,a,o){let s=t.definition,c=t.manifest,l=s.name,u=o??(await n.request(b.contributions.catalog,{})).clients;await z(l,c.clients,u,n,{checkBinaryVersions:!1});let d=await K(n,l,await G(n,s.providers,l,s.providerConfigSchema,s.providerCredentialSchema,a),i);return{name:l,displayName:s.displayName??c.displayName,description:s.description,packageName:e,factory:s.createAdapter,options:{adapterId:v(this.machineId,l)},adapterConfigSchema:s.adapterConfigSchema,providerDefinitionIds:s.providers.map(e=>e.definitionId),providerRefs:[...s.providers],providers:d,providerConfigSchema:s.providerConfigSchema,providerCredentialSchema:s.providerCredentialSchema,helpLinks:s.helpLinks,instructions:s.instructions,defaultPresetId:s.defaultPresetId,clients:L(c.clients),protocol:Ee(l,s.protocol,c.protocols)}}async ensureAdapterConfig(e){this.configStore.getAdapterConfig(e.name)||await this.configStore.setAdapterConfig(e.name,{displayName:e.displayName,description:e.description,helpLinks:e.helpLinks?.map(e=>({...e})),instructions:e.instructions,clientId:R(e.options,e.clients),protocol:e.protocol,providerDefinitionIds:[...e.providerDefinitionIds],enabled:!1})}async onPackageStopped(e){await this.registry.deregisterPackage(e)}publishAdapterRegistered(e){let t=this.configStore.isAdapterEnabled(e.name),n=e.options.adapterId??v(this.machineId,e.name);return this.registry.publishAdapterRegistered({adapterName:e.name,displayName:e.displayName,packageName:e.packageName,enabled:t,adapterId:n,providerDefinitionIds:e.providerDefinitionIds})}async publishActivatedAdapters(e){for(let t of e)try{await this.publishAdapterRegistered(t)}catch(e){console.error(`[AdapterContributionProcessor] Failed to publish adapter "${t.name}" registration:`,e)}}};const J=-100;function De(e,t){let n=e.on(y.get,async n=>{let r=(await Y(e,t())).get(n.payload.id)??null;n.setResult({provider:r})},{priority:J}),r=e.on(y.list,async n=>{n.setResult({providers:[...(await Y(e,t())).values()]})},{priority:J}),i=e.on(y.listByProtocol,async n=>{let r=[...(await Y(e,t())).values()].filter(e=>e.endpoints!==void 0&&n.payload.protocol in e.endpoints);n.setResult({providers:r})},{priority:J});return()=>{n(),r(),i()}}async function Y(e,t){let n=new Map,r=new Set;for(let e of t){for(let t of e.providerDefinitionIds)r.add(t);for(let t of e.providers)X(n,t.providerPackageName,t.definition)}let i=[...r].filter(e=>!n.has(e));if(i.length>0){let t=await e.request(b.contributions.catalog,{});for(let e of t.providers)i.includes(e.definition.id)&&X(n,e.packageName,e.definition)}return n}function X(e,t,n){let r=s.parse(n);e.has(r.id)||e.set(r.id,{id:r.id,packageName:t,name:r.name,...r.description===void 0?{}:{description:r.description},...r.endpoints===void 0?{}:{endpoints:r.endpoints},...r.defaultModel===void 0?{}:{defaultModel:r.defaultModel},...r.fastModel===void 0?{}:{fastModel:r.fastModel},availableModels:r.availableModels,defaultModelFilterMode:r.defaultModelFilterMode??`show-all`,...r.credentialEnvVars===void 0?{}:{credentialEnvVars:r.credentialEnvVars},...r.capabilities===void 0?{}:{capabilities:r.capabilities},enabled:!0,createdAt:0,updatedAt:0})}var Z=class extends d{configStore;registry;providerConfigService;bindingService;contributionProcessor;constructor(e){super(e.bus),this.configStore=new F({configRepository:e.configRepository,bus:e.bus}),this.registry=new xe({bus:e.bus,machineId:e.machineId}),this.providerConfigService=new Se({configStore:this.configStore,bus:e.bus}),this.bindingService=new Ce({configStore:this.configStore,bus:e.bus}),this.contributionProcessor=new q({configStore:this.configStore,registry:this.registry,coordinator:e.coordinator,machineId:e.machineId,platformDefaults:e.platformDefaults})}async onInit(){await this.configStore.loadSnapshot(),this.configStore.registerListeners(e=>this.addCleanup(e)),this.registerBusHandlers(),await this.bus.emit(x.ready,{})}registerBusHandlers(){this.addCleanup(De(this.bus,()=>this.registry.getLoadedAdapters())),this.registerReadHandlers(),this.registerMutationHandlers()}registerReadHandlers(){this.registerHandler(x.getAdapterConfig,e=>{e.setResult({config:this.configStore.getAdapterConfig(e.payload.name)})}),this.registerHandler(x.listAdapterConfigs,e=>{e.setResult({configs:this.configStore.listAdapterConfigs()})}),this.registerHandler(x.getProviderConfig,e=>{e.setResult({config:this.configStore.getProviderConfig(e.payload.id)})}),this.registerHandler(x.listProviderConfigs,e=>{e.setResult({configs:this.configStore.listProviderConfigs(e.payload.enabled)})}),this.registerHandler(x.listProviderConfigsByDefinition,e=>{e.setResult({configs:this.configStore.listProviderConfigsByDefinition(e.payload.definitionId)})}),this.registerHandler(x.listBindings,e=>{e.setResult({bindings:this.configStore.listBindings(e.payload.adapterName)})}),this.registerHandler(x.listBindingsByConfig,e=>{e.setResult({bindings:this.configStore.listBindingsByConfig(e.payload.providerConfigId)})}),this.registerHandler(x.getDefaultBinding,e=>{e.setResult({binding:this.configStore.getDefaultBinding(e.payload.adapterName)})}),this.registerHandler(x.findConfigForDefinitionAndAdapter,e=>{e.setResult({config:this.configStore.findConfigForDefinitionAndAdapter(e.payload.definitionId,e.payload.adapterName)})}),this.registerHandler(x.buildProviderContext,async e=>{e.setResult({context:await this.configStore.buildProviderContext(e.payload.providerConfigId)})}),this.registerHandler(x.listAdapters,async e=>{e.setResult({adapters:await this.configStore.buildEffectiveAdapters()})}),this.registerHandler(x.getProviderDefinitionsByAdapter,async e=>{let t=this.registry.getLoadedAdapters().find(t=>t.name===e.payload.adapterName),n=new Map((t?.providers??[]).map(e=>[e.definition.id,e.definition])),r=(t?.providerDefinitionIds??[]).filter(e=>!n.has(e));if(r.length>0){let e=await this.bus.request(b.contributions.catalog,{});for(let t of e.providers)r.includes(t.definition.id)&&n.set(t.definition.id,t.definition)}let i=(t?.providerDefinitionIds??[]).flatMap(e=>{let t=n.get(e);return t===void 0?[]:[s.parse(t)]});e.setResult({definitions:i})}),this.registerHandler(x.ensureReady,e=>{e.setResult({ready:!0})})}registerMutationHandlers(){this.registerHandler(x.createProviderConfig,async e=>{e.setResult(await this.providerConfigService.createProviderConfig(e.payload))}),this.registerHandler(x.updateProviderConfig,async e=>{e.setResult(await this.providerConfigService.updateProviderConfig(e.payload.id,e.payload.patch))}),this.registerHandler(x.setProviderConfigCredentialRefs,async e=>{e.setResult(await this.providerConfigService.setProviderConfigCredentialRefs(e.payload.id,e.payload.credentialRefs))}),this.registerHandler(x.deleteProviderConfig,async e=>{e.setResult(await this.providerConfigService.deleteProviderConfig(e.payload.id))}),this.registerHandler(x.setDefaultProviderConfig,async e=>{e.setResult(await this.providerConfigService.setDefaultProviderConfig(e.payload.id))}),this.registerHandler(x.setModelFilterMode,async e=>{e.setResult(await this.providerConfigService.setModelFilterMode(e.payload.id,e.payload.modelFilterMode,e.payload.preferredModel))}),this.registerHandler(x.setAdapterConfig,async e=>{e.setResult(await this.configStore.setAdapterConfig(e.payload.name,e.payload.patch))}),this.registerHandler(x.setAdapterEnabled,async e=>{await this.configStore.setAdapterEnabled(e.payload.name,e.payload.enabled),e.setResult({success:!0})}),this.registerHandler(x.bind,async e=>{e.setResult({binding:await this.bindingService.bind(e.payload.adapterName,e.payload.providerConfigId)})}),this.registerHandler(x.unbind,async e=>{await this.bindingService.unbind(e.payload.adapterName,e.payload.providerConfigId),e.setResult({})}),this.registerHandler(x.setDefaultBinding,async e=>{await this.bindingService.setDefaultBinding(e.payload.adapterName,e.payload.providerConfigId),e.setResult({})})}async onDestroy(){await this.registry.shutdownAll(),this.configStore.clear()}getLoadedAdapters(){return this.registry.getLoadedAdapters()}getAdapterInstances(){return this.registry.getAdapterInstances()}getSettingsAvailableAdapters(){return this.registry.getSettingsAvailableAdapters()}async processAdapterContributions(e,t,n){await this.contributionProcessor.onPackageActivated(e,t,n)}async stopAdapterContributions(e){await this.contributionProcessor.onPackageStopped(e)}};const Q=`.json`;var Oe=class{providerConfigsDir;adaptersDir;constructor(e){this.providerConfigsDir=e.providerConfigsDir,this.adaptersDir=e.adaptersDir}async loadAdapterConfigs(){let e=new Map,t=await this.readJsonFiles(this.adaptersDir,`adapter`);for(let n of t){let t=this.getCanonicalLoadedStem(n.stem,`adapter`,n.filePath);if(!t)continue;let r=p.safeParse(n.jsonData);if(!r.success){this.warnInvalidFile(`adapter`,n.filePath);continue}e.set(t,r.data)}return{configs:e}}async loadProviderConfigs(){let e=new Map,t=await this.readJsonFiles(this.providerConfigsDir,`provider config`);for(let n of t){let t=this.getCanonicalLoadedStem(n.stem,`provider config`,n.filePath);if(!t)continue;let r=m.safeParse(n.jsonData);if(!r.success){this.warnInvalidFile(`provider config`,n.filePath);continue}e.set(t,r.data)}return{configs:e}}async writeProviderConfig(e,n){let r=this.assertCanonicalFileStem(e,`provider config id`),i=m.parse(n);await this.writeJsonFile(t.join(this.providerConfigsDir,`${r}${Q}`),i)}async deleteProviderConfig(e){let n=this.assertCanonicalFileStem(e,`provider config id`);try{return await this.unlinkFile(t.join(this.providerConfigsDir,`${n}${Q}`)),!0}catch(e){if(e.code===`ENOENT`)return!1;throw e}}async writeAdapterFile(e,n){let r=this.assertCanonicalFileStem(e,`adapter name`),i=p.parse(n);await this.writeJsonFile(t.join(this.adaptersDir,`${r}${Q}`),i)}async deleteAdapterFile(e){let n=this.assertCanonicalFileStem(e,`adapter name`);try{return await this.unlinkFile(t.join(this.adaptersDir,`${n}${Q}`)),!0}catch(e){if(e.code===`ENOENT`)return!1;throw e}}async readJsonFiles(n,r){try{let i=(await e.readdir(n,{withFileTypes:!0})).filter(e=>e.isFile()&&t.extname(e.name)===Q).sort((e,t)=>e.name.localeCompare(t.name));return(await Promise.all(i.map(async i=>{let a=t.join(n,i.name);try{let n=await e.readFile(a,`utf-8`);return{filePath:a,stem:t.parse(i.name).name,jsonData:JSON.parse(n)}}catch(e){if(e instanceof SyntaxError||e instanceof Error&&e.code===`ENOENT`)return this.warnInvalidFile(r,a),null;throw e}}))).filter(e=>e!==null)}catch(e){if(e.code===`ENOENT`)return[];throw e}}warnInvalidFile(e,t){console.warn(`[FileAdapterConfigRepository] Skipping invalid %s file: %s`,e,t)}getCanonicalLoadedStem(e,t,n){try{return this.assertCanonicalFileStem(e,`${t} file stem`)}catch{return this.warnInvalidFile(t,n),null}}async writeJsonFile(r,i){let a=t.dirname(r),o=t.join(a,`.${t.basename(r)}.${n()}.tmp`);await e.mkdir(a,{recursive:!0});try{await e.writeFile(o,`${JSON.stringify(i,null,2)}\n`,{encoding:`utf-8`,mode:384}),await this.replaceFile(o,r)}catch(e){throw await this.removeFileIfPresent(o),e}}async replaceFile(e,t){try{await this.renameFile(e,t);return}catch(e){let t=e;if(![`EEXIST`,`EPERM`,`EACCES`].includes(t.code??``))throw e}let r=`${t}.${n()}.bak`,i=!1;try{await this.renameFile(t,r),i=!0}catch(e){if(e.code!==`ENOENT`)throw e}try{await this.renameFile(e,t)}catch(e){throw i&&await this.renameFile(r,t).catch(()=>void 0),e}i&&await this.removeFileIfPresent(r)}async renameFile(t,n){await e.rename(t,n)}async unlinkFile(t){await e.unlink(t)}async removeFileIfPresent(t){try{await e.unlink(t)}catch(e){e.code!==`ENOENT`&&console.warn(`[FileAdapterConfigRepository] Failed to remove temp file: %s`,t,e)}}assertCanonicalFileStem(e,n){let r=e.trim(),i=t.basename(r);if(!r||e!==r||r!==i||!/^[a-z0-9._-]+$/.test(r)||r.includes(`/`)||r.includes(`\\`)||r.toLowerCase().endsWith(`.json`)||r===`.`||r===`..`)throw Error(`Invalid canonical ${n}: ${e}`);return r}};function ke(e){return{filter:e=>!!e.adapters?.length||!!e.providers?.length,async processActivated(t,n,r){let i=e.getAdapterSubsystemService();if(!i)throw Error(`AdapterSubsystemService is not available. Ensure the adapter subsystem package starts before adapter-contributing packages.`);await i.processAdapterContributions(t,n,r)},async processStopped(t){let n=e.getAdapterSubsystemService();n&&await n.stopAdapterContributions(t)}}}const $=c(`adapter-subsystem`);function Ae(e){return{name:$.name,displayName:`Adapter Subsystem`,version:`0.1.0`,provides:[`adapters`],critical:!0,create:t=>new Z({bus:t.bus,configRepository:e.configRepository,coordinator:e.coordinator,machineId:t.machineId,platformDefaults:e.platformDefaults})}}export{Z as AdapterSubsystemService,$ as AdapterSubsystemToken,Oe as FileAdapterConfigRepository,ke as createAdapterSubsystemContributionProcessor,Ae as createAdapterSubsystemPackage,be as ensureAdapterConfigs,ge as extractAdapterIdFromPackageName,H as initializeEnabledAdapters,V as shutdownAdapterInstances,B as toAvailableAdapter};
@@ -4004,8 +4004,8 @@ interface TurnTrackerSerializedState {
4004
4004
  declare const TurnTrackerSerializedStateSchema: z.ZodDefault<z.ZodObject<{
4005
4005
  sessions: z.ZodRecord<z.ZodString, z.ZodObject<{
4006
4006
  state: z.ZodEnum<{
4007
- active: "active";
4008
4007
  idle: "idle";
4008
+ active: "active";
4009
4009
  }>;
4010
4010
  currentTurnId: z.ZodOptional<z.ZodString>;
4011
4011
  }, z.core.$strip>>;
@@ -1,3 +1,3 @@
1
- import { C as AdapterNamespace, S as AdapterSchemas, _ as StartAgentRequest, a as AgentSelection, b as AdapterRuntimeOptions, c as AgentSelectionKindMap, d as SessionDiscoveredSchema, f as SessionUsage, g as RehydrateAgentSchema, h as RehydrateAgentResponse, i as AdapterSelectionSchema, l as AgentSelectionSchema, m as RehydrateAgentRequest, n as ProviderContextSchema, o as AgentSelectionBase, p as SessionUsageSchema, r as AdapterSelection, s as AgentSelectionBaseSchema, t as ProviderContext, u as SessionDiscovered, v as StartAgentResponse, w as AdapterSubjects, x as AdapterRuntimeOptionsSchema, y as StartAgentSchema } from "../../index-DBxYWBvw.mjs";
1
+ import { C as AdapterNamespace, S as AdapterSchemas, _ as StartAgentRequest, a as AgentSelection, b as AdapterRuntimeOptions, c as AgentSelectionKindMap, d as SessionDiscoveredSchema, f as SessionUsage, g as RehydrateAgentSchema, h as RehydrateAgentResponse, i as AdapterSelectionSchema, l as AgentSelectionSchema, m as RehydrateAgentRequest, n as ProviderContextSchema, o as AgentSelectionBase, p as SessionUsageSchema, r as AdapterSelection, s as AgentSelectionBaseSchema, t as ProviderContext, u as SessionDiscovered, v as StartAgentResponse, w as AdapterSubjects, x as AdapterRuntimeOptionsSchema, y as StartAgentSchema } from "../../index-CUSOL0X_.mjs";
2
2
  import { a as ROOT_SESSION_LINEAGE_KIND, c as SUBAGENT_SESSION_LINEAGE_KIND, d as SessionLineageKindSchema, f as SessionLineageSchema, i as ForkSessionLineageSchema, l as SessionLineage, n as CompressSessionLineageSchema, o as RootSessionLineageSchema, p as SubagentSessionLineageSchema, r as FORK_SESSION_LINEAGE_KIND, s as SESSION_LINEAGE_KINDS, t as COMPRESS_SESSION_LINEAGE_KIND, u as SessionLineageKind } from "../../session-lineage-DR-9DU-U.mjs";
3
3
  export { AdapterNamespace, AdapterRuntimeOptions, AdapterRuntimeOptionsSchema, AdapterSchemas, AdapterSelection, AdapterSelectionSchema, AdapterSubjects, AgentSelection, AgentSelectionBase, AgentSelectionBaseSchema, AgentSelectionKindMap, AgentSelectionSchema, COMPRESS_SESSION_LINEAGE_KIND, CompressSessionLineageSchema, FORK_SESSION_LINEAGE_KIND, ForkSessionLineageSchema, ProviderContext, ProviderContextSchema, ROOT_SESSION_LINEAGE_KIND, RehydrateAgentRequest, RehydrateAgentResponse, RehydrateAgentSchema, RootSessionLineageSchema, SESSION_LINEAGE_KINDS, SUBAGENT_SESSION_LINEAGE_KIND, SessionDiscovered, SessionDiscoveredSchema, SessionLineage, SessionLineageKind, SessionLineageKindSchema, SessionLineageSchema, SessionUsage, SessionUsageSchema, StartAgentRequest, StartAgentResponse, StartAgentSchema, SubagentSessionLineageSchema };
@@ -1,2 +1,2 @@
1
- import { $ as ArtifactObservationSchema, A as ArtifactDraft, B as BeforeArtifactHookRegistration, C as ArtifactStatusChangedPayload, Ct as ConfidenceMetadataSchema, D as ArtifactKindDefinition, Dt as LocalRefSchema, E as ArtifactDataOf, Et as LocalRef, F as ArtifactLifecycleHookRegistration, G as ArtifactCompareRequestSchema, H as ArtifactActor, I as ArtifactLifecycleSemanticEvent, J as ArtifactConflictPolicy, K as ArtifactCompareResponse, L as ArtifactReactionHookContext, M as ArtifactHookFilter, N as ArtifactLifecycleHookDefinition, O as ArtifactOf, Ot as RelationTypeRegistration, P as ArtifactLifecycleHookEvent, Q as ArtifactObservation, R as ArtifactReactionHookRegistration, S as ArtifactSchemas, St as ConfidenceMetadata, T as AnyArtifactKindDefinition, Tt as EvidenceRefSchema, U as ArtifactActorSchema, V as defineArtifactLifecycleHooks, W as ArtifactCompareRequest, X as ArtifactKindRegistration, Y as ArtifactConflictPolicySchema, Z as ArtifactKindRegistrationSchema, _ as ArtifactResolveRequest, _t as ArtifactScopeSchema, a as ArtifactKindListRequest, at as ArtifactRefSchema, b as ArtifactReviseResponse, bt as ConfidenceLevel, c as ArtifactKindRegisterResponse, ct as ArtifactRelationQueryTargetSchema, d as ArtifactQueryResponse, dt as ArtifactRelationTargetSchema, et as ArtifactQueryRequest, f as ArtifactRelationAddedPayload, ft as ArtifactRepresentations, g as ArtifactRelationTypeRegisterResponse, gt as ArtifactScope, h as ArtifactRelationTypeRegisterRequest, ht as ArtifactRevisionSchema, i as ArtifactKindChangedPayload, it as ArtifactRef, j as ArtifactDraftPatch, k as defineArtifactKind, kt as RelationTypeRegistrationSchema, l as ArtifactNamespace, lt as ArtifactRelationSchema, m as ArtifactRelationTypeListResponse, mt as ArtifactRevision, n as ArtifactCreateResponse, nt as ArtifactQueryScope, o as ArtifactKindListResponse, ot as ArtifactRelation, p as ArtifactRelationTypeListRequest, pt as ArtifactRepresentationsSchema, q as ArtifactCompareResponseSchema, r as ArtifactCreatedPayload, rt as ArtifactQueryScopeSchema, s as ArtifactKindRegisterRequest, st as ArtifactRelationQueryTarget, t as ArtifactCreateRequest, tt as ArtifactQueryRequestSchema, u as ArtifactObservationAddedPayload, ut as ArtifactRelationTarget, v as ArtifactResolveResponse, vt as ConfidenceBasis, w as ArtifactSubjects, wt as EvidenceRef, x as ArtifactRevisedPayload, xt as ConfidenceLevelSchema, y as ArtifactReviseRequest, yt as ConfidenceBasisSchema, z as BeforeArtifactHookContext } from "../../index-DImePakw.mjs";
1
+ import { $ as ArtifactObservationSchema, A as ArtifactDraft, B as BeforeArtifactHookRegistration, C as ArtifactStatusChangedPayload, Ct as ConfidenceMetadataSchema, D as ArtifactKindDefinition, Dt as LocalRefSchema, E as ArtifactDataOf, Et as LocalRef, F as ArtifactLifecycleHookRegistration, G as ArtifactCompareRequestSchema, H as ArtifactActor, I as ArtifactLifecycleSemanticEvent, J as ArtifactConflictPolicy, K as ArtifactCompareResponse, L as ArtifactReactionHookContext, M as ArtifactHookFilter, N as ArtifactLifecycleHookDefinition, O as ArtifactOf, Ot as RelationTypeRegistration, P as ArtifactLifecycleHookEvent, Q as ArtifactObservation, R as ArtifactReactionHookRegistration, S as ArtifactSchemas, St as ConfidenceMetadata, T as AnyArtifactKindDefinition, Tt as EvidenceRefSchema, U as ArtifactActorSchema, V as defineArtifactLifecycleHooks, W as ArtifactCompareRequest, X as ArtifactKindRegistration, Y as ArtifactConflictPolicySchema, Z as ArtifactKindRegistrationSchema, _ as ArtifactResolveRequest, _t as ArtifactScopeSchema, a as ArtifactKindListRequest, at as ArtifactRefSchema, b as ArtifactReviseResponse, bt as ConfidenceLevel, c as ArtifactKindRegisterResponse, ct as ArtifactRelationQueryTargetSchema, d as ArtifactQueryResponse, dt as ArtifactRelationTargetSchema, et as ArtifactQueryRequest, f as ArtifactRelationAddedPayload, ft as ArtifactRepresentations, g as ArtifactRelationTypeRegisterResponse, gt as ArtifactScope, h as ArtifactRelationTypeRegisterRequest, ht as ArtifactRevisionSchema, i as ArtifactKindChangedPayload, it as ArtifactRef, j as ArtifactDraftPatch, k as defineArtifactKind, kt as RelationTypeRegistrationSchema, l as ArtifactNamespace, lt as ArtifactRelationSchema, m as ArtifactRelationTypeListResponse, mt as ArtifactRevision, n as ArtifactCreateResponse, nt as ArtifactQueryScope, o as ArtifactKindListResponse, ot as ArtifactRelation, p as ArtifactRelationTypeListRequest, pt as ArtifactRepresentationsSchema, q as ArtifactCompareResponseSchema, r as ArtifactCreatedPayload, rt as ArtifactQueryScopeSchema, s as ArtifactKindRegisterRequest, st as ArtifactRelationQueryTarget, t as ArtifactCreateRequest, tt as ArtifactQueryRequestSchema, u as ArtifactObservationAddedPayload, ut as ArtifactRelationTarget, v as ArtifactResolveResponse, vt as ConfidenceBasis, w as ArtifactSubjects, wt as EvidenceRef, x as ArtifactRevisedPayload, xt as ConfidenceLevelSchema, y as ArtifactReviseRequest, yt as ConfidenceBasisSchema, z as BeforeArtifactHookContext } from "../../index-CcAggMuC.mjs";
2
2
  export { AnyArtifactKindDefinition, ArtifactActor, ArtifactActorSchema, ArtifactCompareRequest, ArtifactCompareRequestSchema, ArtifactCompareResponse, ArtifactCompareResponseSchema, ArtifactConflictPolicy, ArtifactConflictPolicySchema, ArtifactCreateRequest, ArtifactCreateResponse, ArtifactCreatedPayload, ArtifactDataOf, ArtifactDraft, ArtifactDraftPatch, ArtifactHookFilter, ArtifactKindChangedPayload, ArtifactKindDefinition, ArtifactKindListRequest, ArtifactKindListResponse, ArtifactKindRegisterRequest, ArtifactKindRegisterResponse, ArtifactKindRegistration, ArtifactKindRegistrationSchema, ArtifactLifecycleHookDefinition, ArtifactLifecycleHookEvent, ArtifactLifecycleHookRegistration, ArtifactLifecycleSemanticEvent, ArtifactNamespace, ArtifactObservation, ArtifactObservationAddedPayload, ArtifactObservationSchema, ArtifactOf, ArtifactQueryRequest, ArtifactQueryRequestSchema, ArtifactQueryResponse, ArtifactQueryScope, ArtifactQueryScopeSchema, ArtifactReactionHookContext, ArtifactReactionHookRegistration, ArtifactRef, ArtifactRefSchema, ArtifactRelation, ArtifactRelationAddedPayload, ArtifactRelationQueryTarget, ArtifactRelationQueryTargetSchema, ArtifactRelationSchema, ArtifactRelationTarget, ArtifactRelationTargetSchema, ArtifactRelationTypeListRequest, ArtifactRelationTypeListResponse, ArtifactRelationTypeRegisterRequest, ArtifactRelationTypeRegisterResponse, ArtifactRepresentations, ArtifactRepresentationsSchema, ArtifactResolveRequest, ArtifactResolveResponse, ArtifactReviseRequest, ArtifactReviseResponse, ArtifactRevisedPayload, ArtifactRevision, ArtifactRevisionSchema, ArtifactSchemas, ArtifactScope, ArtifactScopeSchema, ArtifactStatusChangedPayload, ArtifactSubjects, BeforeArtifactHookContext, BeforeArtifactHookRegistration, ConfidenceBasis, ConfidenceBasisSchema, ConfidenceLevel, ConfidenceLevelSchema, ConfidenceMetadata, ConfidenceMetadataSchema, EvidenceRef, EvidenceRefSchema, LocalRef, LocalRefSchema, RelationTypeRegistration, RelationTypeRegistrationSchema, defineArtifactKind, defineArtifactLifecycleHooks };
@@ -1,3 +1,3 @@
1
1
  import { C as PostInstallDescriptorSchema, D as VersionCommandSchema, E as VersionCommand, S as PostInstallDescriptor, T as SignedBinaryBucketInstallDescriptorSchema, _ as LogSourceDefinitionSchema, a as ClientDefinitionSchema, b as NpmInstallDescriptor, c as ClientRuntimeCapabilities, d as ClientToolCapabilityAnnotationSchema, f as ClientToolDefinition, g as LogSourceDefinition, h as ConfigIsolationSchema, i as ClientDefinitionInput, l as ClientRuntimeCapabilitiesSchema, m as ConfigIsolation, n as ClientBinaryCompatibilitySchema, o as ClientHookEventDeclaration, p as ClientToolDefinitionSchema, r as ClientDefinition, s as ClientHookEventDeclarationSchema, t as ClientBinaryCompatibility, u as ClientToolCapabilityAnnotation, v as ManagedInstallDescriptor, w as SignedBinaryBucketInstallDescriptor, x as NpmInstallDescriptorSchema, y as ManagedInstallDescriptorSchema } from "../../definition-CuJvtYeG.mjs";
2
- import { $ as ClientSessionTurnCompletedSchema, $t as ClientIdentifierStrength, A as SessionConfigIdSchema, At as ClientSetActiveResponse, B as SessionConfigTeardownResponseSchema, Bt as InstallError, C as SessionConfigCleanupRequest, Cn as ClientExecutionContext, Ct as ClientInstallRequest, D as SessionConfigDestroyRequest, Dn as ClientResolveBinarySchema, Dt as ClientListResponse, E as SessionConfigCreateResponse, En as ClientResolveBinaryResponse, Et as ClientListRequest, F as SessionConfigSetupResponse, Ft as ClientUpdateRequest, G as ClientSessionObservedBaseSchema, Gt as InstalledVersionEntrySchema, H as ClientNamespace, Ht as InstallStage, I as SessionConfigSetupResponseSchema, It as ClientUpdateResponse, J as ClientSessionToolPost, Jt as ClientAccountIdentifier, K as ClientSessionStarted, Kt as ManagedInstallStrategy, L as SessionConfigTeardownRequest, Lt as ClientUpdateSchema, M as SessionConfigInheritanceSchema, Mt as ClientUninstallRequest, N as SessionConfigSetupRequest, Nt as ClientUninstallResponse, O as SessionConfigDestroyResponse, Ot as ClientListSchema, P as SessionConfigSetupRequestSchema, Pt as ClientUninstallSchema, Q as ClientSessionTurnCompleted, Qt as ClientAccountObserveSchema, R as SessionConfigTeardownRequestSchema, Rt as ClientVersionChanged, S as ProfileUpdateResponse, Sn as ClientSchemas, St as ClientInstallProgressSchema, T as SessionConfigCreateRequest, Tn as ClientResolveBinaryRequest, Tt as ClientInstallSchema, U as ClientSubjects, Ut as InstallStageSchema, V as createClientDefinition, Vt as InstallErrorSchema, W as ClientSessionObservedBase, Wt as InstalledVersionEntry, X as ClientSessionToolPre, Xt as ClientAccountObserveRequest, Y as ClientSessionToolPostSchema, Yt as ClientAccountIdentifierSchema, Z as ClientSessionToolPreSchema, Zt as ClientAccountObserveResponse, _ as ProfileListRequest, _n as ClientUsageSnapshotSchema, _t as ClientBinaryListEntry, a as ClientConfigPrimeSchema, an as ClientScanResultSchema, at as ClientWiringEntrySchema, b as ProfileSetDefaultResponse, bn as ClientUsageWindows, bt as ClientInstallCompletedSchema, c as ClientProfileSchema, cn as ClientSessionAccountObserveRequest, ct as ClientRuntimeObserveRequest, d as ProfileCreateRequest, dn as ClientSessionLocator, dt as ClientRuntimeSource, en as ClientIdentifierStrengthSchema, et as ClientSessionTurnStarted, f as ProfileCreateResponse, fn as ClientSessionLocatorSchema, ft as ClientRuntimeSourceLayer, g as ProfileGetResponse, gn as ClientUsageSnapshot, gt as ClientRuntimeStartedSchema, h as ProfileGetRequest, hn as ClientUsageIngestSchema, ht as ClientRuntimeStarted, i as ClientConfigPrimeResponse, in as ClientScanResult, it as ClientWiringEntry, j as SessionConfigInheritance, jt as ClientSetActiveSchema, k as SessionConfigEnvSchema, kt as ClientSetActiveRequest, l as ClientProfileSchemas, ln as ClientSessionAccountObserveResponse, lt as ClientRuntimeObserveResponse, m as ProfileDeleteResponse, mn as ClientUsageIngestResponse, mt as ClientRuntimeSourceSchema, n as ClientConfigPrimePhaseSchema, nn as ClientIdentityObservationSchema, nt as ClientSessionUserPromptSubmitted, o as ClientProfile, on as ClientScanTarget, ot as ClientRuntimeEvidenceBase, p as ProfileDeleteRequest, pn as ClientUsageIngestRequest, pt as ClientRuntimeSourceLayerSchema, q as ClientSessionStartedSchema, qt as ManagedInstallStrategySchema, r as ClientConfigPrimeRequest, rn as ClientMetadataSchema, rt as ClientSessionUserPromptSubmittedSchema, s as ClientProfileNameSchema, sn as ClientScanTargetSchema, st as ClientRuntimeEvidenceBaseSchema, t as ClientConfigPrimePhase, tn as ClientIdentityObservation, tt as ClientSessionTurnStartedSchema, u as ClientSessionConfigSchemas, un as ClientSessionAccountObserveSchema, ut as ClientRuntimeObserveSchema, v as ProfileListResponse, vn as ClientUsageWindow, vt as ClientBinaryListEntrySchema, w as SessionConfigCleanupResponse, wn as ClientExecutionContextSchema, wt as ClientInstallResponse, x as ProfileUpdateRequest, xn as ClientUsageWindowsSchema, xt as ClientInstallProgress, y as ProfileSetDefaultRequest, yn as ClientUsageWindowSchema, yt as ClientInstallCompleted, z as SessionConfigTeardownResponse, zt as ClientVersionChangedSchema } from "../../index-CTEsbp9H.mjs";
2
+ import { $ as ClientSessionTurnCompletedSchema, $t as ClientIdentifierStrength, A as SessionConfigIdSchema, At as ClientSetActiveResponse, B as SessionConfigTeardownResponseSchema, Bt as InstallError, C as SessionConfigCleanupRequest, Cn as ClientExecutionContext, Ct as ClientInstallRequest, D as SessionConfigDestroyRequest, Dn as ClientResolveBinarySchema, Dt as ClientListResponse, E as SessionConfigCreateResponse, En as ClientResolveBinaryResponse, Et as ClientListRequest, F as SessionConfigSetupResponse, Ft as ClientUpdateRequest, G as ClientSessionObservedBaseSchema, Gt as InstalledVersionEntrySchema, H as ClientNamespace, Ht as InstallStage, I as SessionConfigSetupResponseSchema, It as ClientUpdateResponse, J as ClientSessionToolPost, Jt as ClientAccountIdentifier, K as ClientSessionStarted, Kt as ManagedInstallStrategy, L as SessionConfigTeardownRequest, Lt as ClientUpdateSchema, M as SessionConfigInheritanceSchema, Mt as ClientUninstallRequest, N as SessionConfigSetupRequest, Nt as ClientUninstallResponse, O as SessionConfigDestroyResponse, Ot as ClientListSchema, P as SessionConfigSetupRequestSchema, Pt as ClientUninstallSchema, Q as ClientSessionTurnCompleted, Qt as ClientAccountObserveSchema, R as SessionConfigTeardownRequestSchema, Rt as ClientVersionChanged, S as ProfileUpdateResponse, Sn as ClientSchemas, St as ClientInstallProgressSchema, T as SessionConfigCreateRequest, Tn as ClientResolveBinaryRequest, Tt as ClientInstallSchema, U as ClientSubjects, Ut as InstallStageSchema, V as createClientDefinition, Vt as InstallErrorSchema, W as ClientSessionObservedBase, Wt as InstalledVersionEntry, X as ClientSessionToolPre, Xt as ClientAccountObserveRequest, Y as ClientSessionToolPostSchema, Yt as ClientAccountIdentifierSchema, Z as ClientSessionToolPreSchema, Zt as ClientAccountObserveResponse, _ as ProfileListRequest, _n as ClientUsageSnapshotSchema, _t as ClientBinaryListEntry, a as ClientConfigPrimeSchema, an as ClientScanResultSchema, at as ClientWiringEntrySchema, b as ProfileSetDefaultResponse, bn as ClientUsageWindows, bt as ClientInstallCompletedSchema, c as ClientProfileSchema, cn as ClientSessionAccountObserveRequest, ct as ClientRuntimeObserveRequest, d as ProfileCreateRequest, dn as ClientSessionLocator, dt as ClientRuntimeSource, en as ClientIdentifierStrengthSchema, et as ClientSessionTurnStarted, f as ProfileCreateResponse, fn as ClientSessionLocatorSchema, ft as ClientRuntimeSourceLayer, g as ProfileGetResponse, gn as ClientUsageSnapshot, gt as ClientRuntimeStartedSchema, h as ProfileGetRequest, hn as ClientUsageIngestSchema, ht as ClientRuntimeStarted, i as ClientConfigPrimeResponse, in as ClientScanResult, it as ClientWiringEntry, j as SessionConfigInheritance, jt as ClientSetActiveSchema, k as SessionConfigEnvSchema, kt as ClientSetActiveRequest, l as ClientProfileSchemas, ln as ClientSessionAccountObserveResponse, lt as ClientRuntimeObserveResponse, m as ProfileDeleteResponse, mn as ClientUsageIngestResponse, mt as ClientRuntimeSourceSchema, n as ClientConfigPrimePhaseSchema, nn as ClientIdentityObservationSchema, nt as ClientSessionUserPromptSubmitted, o as ClientProfile, on as ClientScanTarget, ot as ClientRuntimeEvidenceBase, p as ProfileDeleteRequest, pn as ClientUsageIngestRequest, pt as ClientRuntimeSourceLayerSchema, q as ClientSessionStartedSchema, qt as ManagedInstallStrategySchema, r as ClientConfigPrimeRequest, rn as ClientMetadataSchema, rt as ClientSessionUserPromptSubmittedSchema, s as ClientProfileNameSchema, sn as ClientScanTargetSchema, st as ClientRuntimeEvidenceBaseSchema, t as ClientConfigPrimePhase, tn as ClientIdentityObservation, tt as ClientSessionTurnStartedSchema, u as ClientSessionConfigSchemas, un as ClientSessionAccountObserveSchema, ut as ClientRuntimeObserveSchema, v as ProfileListResponse, vn as ClientUsageWindow, vt as ClientBinaryListEntrySchema, w as SessionConfigCleanupResponse, wn as ClientExecutionContextSchema, wt as ClientInstallResponse, x as ProfileUpdateRequest, xn as ClientUsageWindowsSchema, xt as ClientInstallProgress, y as ProfileSetDefaultRequest, yn as ClientUsageWindowSchema, yt as ClientInstallCompleted, z as SessionConfigTeardownResponse, zt as ClientVersionChangedSchema } from "../../index-D2WJ0Zpt.mjs";
3
3
  export { ClientAccountIdentifier, ClientAccountIdentifierSchema, ClientAccountObserveRequest, ClientAccountObserveResponse, ClientAccountObserveSchema, ClientBinaryCompatibility, ClientBinaryCompatibilitySchema, ClientBinaryListEntry, ClientBinaryListEntrySchema, ClientConfigPrimePhase, ClientConfigPrimePhaseSchema, ClientConfigPrimeRequest, ClientConfigPrimeResponse, ClientConfigPrimeSchema, ClientDefinition, ClientDefinitionInput, ClientDefinitionSchema, ClientExecutionContext, ClientExecutionContextSchema, ClientHookEventDeclaration, ClientHookEventDeclarationSchema, ClientIdentifierStrength, ClientIdentifierStrengthSchema, ClientIdentityObservation, ClientIdentityObservationSchema, ClientInstallCompleted, ClientInstallCompletedSchema, ClientInstallProgress, ClientInstallProgressSchema, ClientInstallRequest, ClientInstallResponse, ClientInstallSchema, ClientListRequest, ClientListResponse, ClientListSchema, ClientMetadataSchema, ClientNamespace, ClientProfile, ClientProfileNameSchema, ClientProfileSchema, ClientProfileSchemas, ClientResolveBinaryRequest, ClientResolveBinaryResponse, ClientResolveBinarySchema, ClientRuntimeCapabilities, ClientRuntimeCapabilitiesSchema, ClientRuntimeEvidenceBase, ClientRuntimeEvidenceBaseSchema, ClientRuntimeObserveRequest, ClientRuntimeObserveResponse, ClientRuntimeObserveSchema, ClientRuntimeSource, ClientRuntimeSourceLayer, ClientRuntimeSourceLayerSchema, ClientRuntimeSourceSchema, ClientRuntimeStarted, ClientRuntimeStartedSchema, ClientScanResult, ClientScanResultSchema, ClientScanTarget, ClientScanTargetSchema, ClientSchemas, ClientSessionAccountObserveRequest, ClientSessionAccountObserveResponse, ClientSessionAccountObserveSchema, ClientSessionConfigSchemas, ClientSessionLocator, ClientSessionLocatorSchema, ClientSessionObservedBase, ClientSessionObservedBaseSchema, ClientSessionStarted, ClientSessionStartedSchema, ClientSessionToolPost, ClientSessionToolPostSchema, ClientSessionToolPre, ClientSessionToolPreSchema, ClientSessionTurnCompleted, ClientSessionTurnCompletedSchema, ClientSessionTurnStarted, ClientSessionTurnStartedSchema, ClientSessionUserPromptSubmitted, ClientSessionUserPromptSubmittedSchema, ClientSetActiveRequest, ClientSetActiveResponse, ClientSetActiveSchema, ClientSubjects, ClientToolCapabilityAnnotation, ClientToolCapabilityAnnotationSchema, ClientToolDefinition, ClientToolDefinitionSchema, ClientUninstallRequest, ClientUninstallResponse, ClientUninstallSchema, ClientUpdateRequest, ClientUpdateResponse, ClientUpdateSchema, ClientUsageIngestRequest, ClientUsageIngestResponse, ClientUsageIngestSchema, ClientUsageSnapshot, ClientUsageSnapshotSchema, ClientUsageWindow, ClientUsageWindowSchema, ClientUsageWindows, ClientUsageWindowsSchema, ClientVersionChanged, ClientVersionChangedSchema, ClientWiringEntry, ClientWiringEntrySchema, ConfigIsolation, ConfigIsolationSchema, InstallError, InstallErrorSchema, InstallStage, InstallStageSchema, InstalledVersionEntry, InstalledVersionEntrySchema, LogSourceDefinition, LogSourceDefinitionSchema, ManagedInstallDescriptor, ManagedInstallDescriptorSchema, ManagedInstallStrategy, ManagedInstallStrategySchema, NpmInstallDescriptor, NpmInstallDescriptorSchema, PostInstallDescriptor, PostInstallDescriptorSchema, ProfileCreateRequest, ProfileCreateResponse, ProfileDeleteRequest, ProfileDeleteResponse, ProfileGetRequest, ProfileGetResponse, ProfileListRequest, ProfileListResponse, ProfileSetDefaultRequest, ProfileSetDefaultResponse, ProfileUpdateRequest, ProfileUpdateResponse, SessionConfigCleanupRequest, SessionConfigCleanupResponse, SessionConfigCreateRequest, SessionConfigCreateResponse, SessionConfigDestroyRequest, SessionConfigDestroyResponse, SessionConfigEnvSchema, SessionConfigIdSchema, SessionConfigInheritance, SessionConfigInheritanceSchema, SessionConfigSetupRequest, SessionConfigSetupRequestSchema, SessionConfigSetupResponse, SessionConfigSetupResponseSchema, SessionConfigTeardownRequest, SessionConfigTeardownRequestSchema, SessionConfigTeardownResponse, SessionConfigTeardownResponseSchema, SignedBinaryBucketInstallDescriptor, SignedBinaryBucketInstallDescriptorSchema, VersionCommand, VersionCommandSchema, createClientDefinition };
@@ -157,8 +157,8 @@ declare const ProviderConfigSchema: z.ZodObject<{
157
157
  }>>;
158
158
  modelVisibility: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
159
159
  enabled: "enabled";
160
- visible: "visible";
161
160
  disabled: "disabled";
161
+ visible: "visible";
162
162
  }>>>;
163
163
  isDefault: z.ZodDefault<z.ZodBoolean>;
164
164
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -249,8 +249,8 @@ declare const BaseAdapterConfigSchema: z.ZodObject<{
249
249
  }>>;
250
250
  modelVisibility: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
251
251
  enabled: "enabled";
252
- visible: "visible";
253
252
  disabled: "disabled";
253
+ visible: "visible";
254
254
  }>>>;
255
255
  isDefault: z.ZodDefault<z.ZodBoolean>;
256
256
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -285,8 +285,8 @@ declare const ProviderConfigFileSchema: z.ZodObject<{
285
285
  }>>;
286
286
  modelVisibility: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
287
287
  enabled: "enabled";
288
- visible: "visible";
289
288
  disabled: "disabled";
289
+ visible: "visible";
290
290
  }>>>;
291
291
  isDefault: z.ZodOptional<z.ZodBoolean>;
292
292
  enabled: z.ZodOptional<z.ZodBoolean>;
@@ -397,8 +397,8 @@ declare const AdaptersFileProviderSchema: z.ZodObject<{
397
397
  }>>;
398
398
  modelVisibility: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
399
399
  enabled: "enabled";
400
- visible: "visible";
401
400
  disabled: "disabled";
401
+ visible: "visible";
402
402
  }>>>;
403
403
  }, z.core.$strip>;
404
404
  /**
@@ -418,8 +418,8 @@ declare const AdaptersFileAdapterSchema: z.ZodObject<{
418
418
  }>>;
419
419
  modelVisibility: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
420
420
  enabled: "enabled";
421
- visible: "visible";
422
421
  disabled: "disabled";
422
+ visible: "visible";
423
423
  }>>>;
424
424
  }, z.core.$strip>>;
425
425
  }, z.core.$strip>;
@@ -442,8 +442,8 @@ declare const AdaptersFileSchema: z.ZodObject<{
442
442
  }>>;
443
443
  modelVisibility: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodEnum<{
444
444
  enabled: "enabled";
445
- visible: "visible";
446
445
  disabled: "disabled";
446
+ visible: "visible";
447
447
  }>>>;
448
448
  }, z.core.$strip>>;
449
449
  }, z.core.$strip>>;
@@ -1,4 +1,4 @@
1
- import { P as ArtifactLifecycleHookEvent } from "../../index-DImePakw.mjs";
2
- import { $ as PluginToolCallFormatterInput, $n as allMigrationsPaths, $t as SessionEventActionDeclaration, A as BootstrapImportResult, An as CliArgManifest, Ar as UiSurfaceFlagsSchema, At as GatheredEntry, B as LogImportContribution, Bn as RuntimeRequirement, Bt as ActionShortcutModifiers, C as BootstrapAsset, Cn as ExtensionWarningSeveritySchema, Cr as ProviderManifestSchema, Ct as UiContextValueMap, D as BootstrapExportContext, Dn as AdapterProviderRef, Dr as TriggerManifestSchema, Dt as UiScope, E as BootstrapDiscoverContext, En as AdapterProviderDefinitionContract, Er as TriggerManifest, Et as UiRuntimeNavigationLevel, F as ExtensionNamespaceContribution, Fn as CliSubcommandManifestSchema, Ft as HashTriggerStage, G as LoaderContext, Gn as StorageManifestSchema, Gt as ExecuteResult, H as ExtensionConfigComponentLoader, Hn as STORAGE_DIALECTS, Ht as EntrypointConfig, I as ExtensionSessionEventActionsContribution, In as ExtensionDependency, It as HashTriggerSuggestResult, J as MakaioWebUiComponentProps, Jn as WindowManifest, Jt as PickerConfig, K as MakaioWebUiAction, Kn as TrayManifest, Kt as MessageEventFilter, L as ExtensionToolsContribution, Ln as ExtensionDependencySchema, Lt as ActionCategory, M as ExtensionBootstrap, Mn as CliManifest, Mr as BrowserEntrypointSchema, Mt as HashTrigger, N as getBootstrapAssetKey, Nn as CliManifestSchema, Nt as HashTriggerContext, O as BootstrapExportResult, On as ExtensionToken, Or as TriggerStage, Ot as UiScopeMap, P as AdapterContribution, Pn as CliSubcommandManifest, Pt as HashTriggerMetadata, Q as PluginFormattedToolCallOutput, Qn as WindowStyle, Qt as SessionEventActionContext, R as ExtensionTriggersContribution, Rn as ExtensionManifest, Rt as ActionCategoryMap, S as MakaioNodeExtension, Sn as ExtensionWarningSeverity, Sr as ProviderManifest, St as UiContextSnapshot, T as BootstrapChoice, Tn as AdapterDefinitionContract, Tr as SessionEventActionManifestSchema, Tt as UiNavigationLevelMap, U as ExtensionConfigComponentProps, Un as StorageDialect, Ut as EventFilter, V as ExtensionWorkflowBlocksContribution, Vn as RuntimeRequirementSchema, Vt as CreateSessionEventActionResult, W as ExtensionFieldTypeLoader, Wn as StorageManifest, Wt as ExecuteContext, X as MakaioWebUiRoute, Xn as WindowParamSpec, Xt as SelectionChangeContext, Y as MakaioWebUiLoader, Yn as WindowManifestSchema, Yt as PickerOpenContext, Z as PromisifiedActions, Zn as WindowParamSpecSchema, Zt as SelectionFeedback, _ as ExtensionArtifactLifecycleHooksContribution, _n as ExtensionWarningAction, _r as LogImporterManifestSchema, _t as TileDeclaration, a as DetachedTransportSchema, an as ExtensionCliBeforeRunResult, ar as AdapterClientRef, at as PageMode, b as ExtensionRuntimeBootContribution, bn as ExtensionWarningEntrySchema, br as ProtocolRef, bt as TileRenderers, c as ExtensionDescriptorBase, cn as ExtensionCliInteractiveContext, cr as AdapterManifestSchema, ct as SlotId, d as ExtensionEntrypoints, dn as ExtensionContext, dr as ArtifactLifecycleHookManifestSchema, dt as WidgetDeclaration, en as SessionEventActionOptions, er as dep, et as PluginTransformedContent, f as ExtensionEntrypointsSchema, fn as NodeExtensionContext, fr as ClientManifest, ft as WidgetDefinition, g as ArtifactLifecycleHooksContributionContext, gn as ExtensionWarning, gr as LogImporterManifest, gt as TileCapabilities, h as safeParseExtensionDescriptor, hn as ExtensionServiceLifecycle, hr as ContributionManifestSchema, ht as WidgetSize$1, i as DetachedTransportConfig, in as ExtensionCliBeforeRunContext, ir as CapabilityTokenSchema, it as PageDeclaration, j as BootstrapResult, jn as CliArgManifestSchema, jr as BrowserEntrypoint, jt as HashSuggestion, k as BootstrapImportContext, kn as extensionToken, kr as UiSurfaceFlags, kt as GatheredContext, l as ExtensionDescriptorParseResult, ln as ExtensionCliOutputWriter, lr as ArtifactLifecycleHookEventSchema, lt as SlotPlacementDeclaration, m as parseExtensionDescriptor, mn as ExtensionService, mr as ContributionManifest, mt as WidgetRenderers, n as parseExtensionConfig, nn as WhenContext, nr as CapabilityToken, nt as ToolCallFormatterDeclaration, o as EmbeddedDescriptor, on as ExtensionCliContribution, or as AdapterClientRefSchema, ot as SlotContentDeclaration, p as isDetachedDescriptor, pn as ExtensionIdentity, pr as ClientManifestSchema, pt as WidgetProps, q as MakaioWebUiActions, qn as TrayManifestSchema, qt as MessageRole, r as DetachedDescriptor, rn as ExtensionRuntimeOwnership, rr as CapabilityTokenMap, rt as PageComponentProps, s as ExtensionDescriptor, sn as ExtensionCliHandlerContext, sr as AdapterManifest, st as SlotDeclaration, t as ExtensionConfigProvider, tn as StructuralEventFilter, tr as primaryMigrationsPath, tt as PluginTransformedContentType, u as ExtensionDescriptorSchema, un as ExtensionCliSubcommandEntry, ur as ArtifactLifecycleHookManifest, ut as WidgetSize, v as ExtensionContributionProcessor, vn as ExtensionWarningActionSchema, vr as ProtocolConfig, vt as TileIconLoader, w as BootstrapAssetKey, wn as getExtensionWarningActionLabel, wr as SessionEventActionManifest, wt as UiNavigationLevel, x as MakaioExtension, xn as ExtensionWarningSchema, xr as ProtocolRefSchema, xt as UiContextDimension, y as ExtensionRuntimeBootContext, yn as ExtensionWarningEntry, yr as ProtocolConfigSchema, yt as TileProps, z as ExtensionUiContribution, zn as ExtensionManifestSchema, zt as ActionShortcut } from "../../index-DeVMGLbP.mjs";
1
+ import { P as ArtifactLifecycleHookEvent } from "../../index-CcAggMuC.mjs";
2
+ import { $ as PluginToolCallFormatterInput, $n as allMigrationsPaths, $t as SessionEventActionDeclaration, A as BootstrapImportResult, An as CliArgManifest, Ar as UiSurfaceFlagsSchema, At as GatheredEntry, B as LogImportContribution, Bn as RuntimeRequirement, Bt as ActionShortcutModifiers, C as BootstrapAsset, Cn as ExtensionWarningSeveritySchema, Cr as ProviderManifestSchema, Ct as UiContextValueMap, D as BootstrapExportContext, Dn as AdapterProviderRef, Dr as TriggerManifestSchema, Dt as UiScope, E as BootstrapDiscoverContext, En as AdapterProviderDefinitionContract, Er as TriggerManifest, Et as UiRuntimeNavigationLevel, F as ExtensionNamespaceContribution, Fn as CliSubcommandManifestSchema, Ft as HashTriggerStage, G as LoaderContext, Gn as StorageManifestSchema, Gt as ExecuteResult, H as ExtensionConfigComponentLoader, Hn as STORAGE_DIALECTS, Ht as EntrypointConfig, I as ExtensionSessionEventActionsContribution, In as ExtensionDependency, It as HashTriggerSuggestResult, J as MakaioWebUiComponentProps, Jn as WindowManifest, Jt as PickerConfig, K as MakaioWebUiAction, Kn as TrayManifest, Kt as MessageEventFilter, L as ExtensionToolsContribution, Ln as ExtensionDependencySchema, Lt as ActionCategory, M as ExtensionBootstrap, Mn as CliManifest, Mr as BrowserEntrypointSchema, Mt as HashTrigger, N as getBootstrapAssetKey, Nn as CliManifestSchema, Nt as HashTriggerContext, O as BootstrapExportResult, On as ExtensionToken, Or as TriggerStage, Ot as UiScopeMap, P as AdapterContribution, Pn as CliSubcommandManifest, Pt as HashTriggerMetadata, Q as PluginFormattedToolCallOutput, Qn as WindowStyle, Qt as SessionEventActionContext, R as ExtensionTriggersContribution, Rn as ExtensionManifest, Rt as ActionCategoryMap, S as MakaioNodeExtension, Sn as ExtensionWarningSeverity, Sr as ProviderManifest, St as UiContextSnapshot, T as BootstrapChoice, Tn as AdapterDefinitionContract, Tr as SessionEventActionManifestSchema, Tt as UiNavigationLevelMap, U as ExtensionConfigComponentProps, Un as StorageDialect, Ut as EventFilter, V as ExtensionWorkflowBlocksContribution, Vn as RuntimeRequirementSchema, Vt as CreateSessionEventActionResult, W as ExtensionFieldTypeLoader, Wn as StorageManifest, Wt as ExecuteContext, X as MakaioWebUiRoute, Xn as WindowParamSpec, Xt as SelectionChangeContext, Y as MakaioWebUiLoader, Yn as WindowManifestSchema, Yt as PickerOpenContext, Z as PromisifiedActions, Zn as WindowParamSpecSchema, Zt as SelectionFeedback, _ as ExtensionArtifactLifecycleHooksContribution, _n as ExtensionWarningAction, _r as LogImporterManifestSchema, _t as TileDeclaration, a as DetachedTransportSchema, an as ExtensionCliBeforeRunResult, ar as AdapterClientRef, at as PageMode, b as ExtensionRuntimeBootContribution, bn as ExtensionWarningEntrySchema, br as ProtocolRef, bt as TileRenderers, c as ExtensionDescriptorBase, cn as ExtensionCliInteractiveContext, cr as AdapterManifestSchema, ct as SlotId, d as ExtensionEntrypoints, dn as ExtensionContext, dr as ArtifactLifecycleHookManifestSchema, dt as WidgetDeclaration, en as SessionEventActionOptions, er as dep, et as PluginTransformedContent, f as ExtensionEntrypointsSchema, fn as NodeExtensionContext, fr as ClientManifest, ft as WidgetDefinition, g as ArtifactLifecycleHooksContributionContext, gn as ExtensionWarning, gr as LogImporterManifest, gt as TileCapabilities, h as safeParseExtensionDescriptor, hn as ExtensionServiceLifecycle, hr as ContributionManifestSchema, ht as WidgetSize$1, i as DetachedTransportConfig, in as ExtensionCliBeforeRunContext, ir as CapabilityTokenSchema, it as PageDeclaration, j as BootstrapResult, jn as CliArgManifestSchema, jr as BrowserEntrypoint, jt as HashSuggestion, k as BootstrapImportContext, kn as extensionToken, kr as UiSurfaceFlags, kt as GatheredContext, l as ExtensionDescriptorParseResult, ln as ExtensionCliOutputWriter, lr as ArtifactLifecycleHookEventSchema, lt as SlotPlacementDeclaration, m as parseExtensionDescriptor, mn as ExtensionService, mr as ContributionManifest, mt as WidgetRenderers, n as parseExtensionConfig, nn as WhenContext, nr as CapabilityToken, nt as ToolCallFormatterDeclaration, o as EmbeddedDescriptor, on as ExtensionCliContribution, or as AdapterClientRefSchema, ot as SlotContentDeclaration, p as isDetachedDescriptor, pn as ExtensionIdentity, pr as ClientManifestSchema, pt as WidgetProps, q as MakaioWebUiActions, qn as TrayManifestSchema, qt as MessageRole, r as DetachedDescriptor, rn as ExtensionRuntimeOwnership, rr as CapabilityTokenMap, rt as PageComponentProps, s as ExtensionDescriptor, sn as ExtensionCliHandlerContext, sr as AdapterManifest, st as SlotDeclaration, t as ExtensionConfigProvider, tn as StructuralEventFilter, tr as primaryMigrationsPath, tt as PluginTransformedContentType, u as ExtensionDescriptorSchema, un as ExtensionCliSubcommandEntry, ur as ArtifactLifecycleHookManifest, ut as WidgetSize, v as ExtensionContributionProcessor, vn as ExtensionWarningActionSchema, vr as ProtocolConfig, vt as TileIconLoader, w as BootstrapAssetKey, wn as getExtensionWarningActionLabel, wr as SessionEventActionManifest, wt as UiNavigationLevel, x as MakaioExtension, xn as ExtensionWarningSchema, xr as ProtocolRefSchema, xt as UiContextDimension, y as ExtensionRuntimeBootContext, yn as ExtensionWarningEntry, yr as ProtocolConfigSchema, yt as TileProps, z as ExtensionUiContribution, zn as ExtensionManifestSchema, zt as ActionShortcut } from "../../index-pUYIAV_M.mjs";
3
3
  import { D as EntityUIConfig } from "../../index-CaerrEDH.mjs";
4
4
  export { ActionCategory, ActionCategoryMap, ActionShortcut, ActionShortcutModifiers, AdapterClientRef, AdapterClientRefSchema, AdapterContribution, AdapterDefinitionContract, AdapterManifest, AdapterManifestSchema, AdapterProviderDefinitionContract, AdapterProviderRef, ArtifactLifecycleHookEvent, ArtifactLifecycleHookEventSchema, ArtifactLifecycleHookManifest, ArtifactLifecycleHookManifestSchema, ArtifactLifecycleHooksContributionContext, BootstrapAsset, BootstrapAssetKey, BootstrapChoice, BootstrapDiscoverContext, BootstrapExportContext, BootstrapExportResult, BootstrapImportContext, BootstrapImportResult, BootstrapResult, BrowserEntrypoint, BrowserEntrypointSchema, CapabilityToken, CapabilityTokenMap, CapabilityTokenSchema, CliArgManifest, CliArgManifestSchema, CliManifest, CliManifestSchema, CliSubcommandManifest, CliSubcommandManifestSchema, ClientManifest, ClientManifestSchema, ContributionManifest, ContributionManifestSchema, CreateSessionEventActionResult, DetachedDescriptor, DetachedTransportConfig, DetachedTransportSchema, EmbeddedDescriptor, EntityUIConfig, EntrypointConfig, EventFilter, ExecuteContext, ExecuteResult, ExtensionArtifactLifecycleHooksContribution, ExtensionBootstrap, ExtensionCliBeforeRunContext, ExtensionCliBeforeRunResult, ExtensionCliContribution, ExtensionCliHandlerContext, ExtensionCliInteractiveContext, ExtensionCliOutputWriter, ExtensionCliSubcommandEntry, ExtensionConfigComponentLoader, ExtensionConfigComponentProps, ExtensionConfigProvider, ExtensionContext, ExtensionContributionProcessor, ExtensionDependency, ExtensionDependencySchema, ExtensionDescriptor, ExtensionDescriptorBase, ExtensionDescriptorParseResult, ExtensionDescriptorSchema, ExtensionEntrypoints, ExtensionEntrypointsSchema, ExtensionFieldTypeLoader, ExtensionIdentity, ExtensionManifest, ExtensionManifestSchema, ExtensionNamespaceContribution, ExtensionRuntimeBootContext, ExtensionRuntimeBootContribution, ExtensionRuntimeOwnership, ExtensionService, ExtensionServiceLifecycle, ExtensionSessionEventActionsContribution, ExtensionToken, ExtensionToolsContribution, ExtensionTriggersContribution, ExtensionUiContribution, ExtensionWarning, ExtensionWarningAction, ExtensionWarningActionSchema, ExtensionWarningEntry, ExtensionWarningEntrySchema, ExtensionWarningSchema, ExtensionWarningSeverity, ExtensionWarningSeveritySchema, ExtensionWorkflowBlocksContribution, GatheredContext, GatheredEntry, HashSuggestion, HashTrigger, HashTriggerContext, HashTriggerMetadata, HashTriggerStage, HashTriggerSuggestResult, LoaderContext, LogImportContribution, LogImporterManifest, LogImporterManifestSchema, MakaioExtension, MakaioNodeExtension, MakaioWebUiAction, MakaioWebUiActions, MakaioWebUiComponentProps, MakaioWebUiLoader, MakaioWebUiRoute, MessageEventFilter, MessageRole, NodeExtensionContext, PageComponentProps, PageDeclaration, PageMode, WidgetSize as PageWidgetSize, PickerConfig, PickerOpenContext, PluginFormattedToolCallOutput, PluginToolCallFormatterInput, PluginTransformedContent, PluginTransformedContentType, PromisifiedActions, ProtocolConfig, ProtocolConfigSchema, ProtocolRef, ProtocolRefSchema, ProviderManifest, ProviderManifestSchema, RuntimeRequirement, RuntimeRequirementSchema, STORAGE_DIALECTS, SelectionChangeContext, SelectionFeedback, SessionEventActionContext, SessionEventActionDeclaration, SessionEventActionManifest, SessionEventActionManifestSchema, SessionEventActionOptions, SlotContentDeclaration, SlotDeclaration, SlotId, SlotPlacementDeclaration, StorageDialect, StorageManifest, StorageManifestSchema, StructuralEventFilter, TileCapabilities, TileDeclaration, TileIconLoader, TileProps, TileRenderers, ToolCallFormatterDeclaration, TrayManifest, TrayManifestSchema, TriggerManifest, TriggerManifestSchema, TriggerStage, UiContextDimension, UiContextSnapshot, UiContextValueMap, UiNavigationLevel, UiNavigationLevelMap, UiRuntimeNavigationLevel, UiScope, UiScopeMap, UiSurfaceFlags, UiSurfaceFlagsSchema, WhenContext, WidgetDeclaration, WidgetDefinition, WidgetProps, WidgetRenderers, WidgetSize$1 as WidgetSize, WindowManifest, WindowManifestSchema, WindowParamSpec, WindowParamSpecSchema, WindowStyle, allMigrationsPaths, dep, extensionToken, getBootstrapAssetKey, getExtensionWarningActionLabel, isDetachedDescriptor, parseExtensionConfig, parseExtensionDescriptor, primaryMigrationsPath, safeParseExtensionDescriptor };
@@ -1,2 +1,2 @@
1
- import { _ as FacetNamespaceRegistration, a as FacetNamespaceRegisterRequest, c as FacetSubjects, d as FacetAppliesTo, f as FacetAppliesToSchema, g as FacetCardinalitySchema, h as FacetCardinality, i as FacetNamespaceListResponse, l as FacetNamespaceDefinition, m as FacetAuthoritySchema, n as FacetNamespaceChangedPayload, o as FacetNamespaceRegisterResponse, p as FacetAuthority, r as FacetNamespaceListRequest, s as FacetSchemas, t as FacetNamespace, u as defineFacetNamespace, v as FacetNamespaceRegistrationSchema } from "../../index-BW9kVuY2.mjs";
1
+ import { _ as FacetNamespaceRegistration, a as FacetNamespaceRegisterRequest, c as FacetSubjects, d as FacetAppliesTo, f as FacetAppliesToSchema, g as FacetCardinalitySchema, h as FacetCardinality, i as FacetNamespaceListResponse, l as FacetNamespaceDefinition, m as FacetAuthoritySchema, n as FacetNamespaceChangedPayload, o as FacetNamespaceRegisterResponse, p as FacetAuthority, r as FacetNamespaceListRequest, s as FacetSchemas, t as FacetNamespace, u as defineFacetNamespace, v as FacetNamespaceRegistrationSchema } from "../../index-BMbmoarE.mjs";
2
2
  export { FacetAppliesTo, FacetAppliesToSchema, FacetAuthority, FacetAuthoritySchema, FacetCardinality, FacetCardinalitySchema, FacetNamespace, FacetNamespaceChangedPayload, FacetNamespaceDefinition, FacetNamespaceListRequest, FacetNamespaceListResponse, FacetNamespaceRegisterRequest, FacetNamespaceRegisterResponse, FacetNamespaceRegistration, FacetNamespaceRegistrationSchema, FacetSchemas, FacetSubjects, defineFacetNamespace };
@@ -1,2 +1,2 @@
1
- import { A as HarnessDefinitionSchema, C as ApprovalPolicy, D as HarnessDefinitionBaseSchema, E as HarnessDefinition, M as ToolApprovalOverridesSchema, O as HarnessDefinitionCreate, S as HarnessSubjects, T as DefaultHarnessDefinition, a as OPENAI_NODE_REGISTRY_HARNESS, b as HarnessNamespace, c as ExpandCapabilitiesResult, d as expandProfileToolCapabilities, f as getToolCapabilities, i as GEMINI_SDK_REGISTRY_HARNESS, j as ToolApprovalOverrides, k as HarnessDefinitionCreateSchema, l as ProfileToolCapabilitiesConfig, n as CODEX_APP_SERVER_NATIVE_HARNESS, o as codexCapabilityMap, r as DEFAULT_HARNESSES, s as ExpandCapabilitiesParams, t as CLAUDE_CODE_REGISTRY_HARNESS, u as expandCapabilities, w as ApprovalPolicySchema, x as HarnessSchemas } from "../../index-Cx1Bm6WD.mjs";
1
+ import { A as HarnessDefinitionSchema, C as ApprovalPolicy, D as HarnessDefinitionBaseSchema, E as HarnessDefinition, M as ToolApprovalOverridesSchema, O as HarnessDefinitionCreate, S as HarnessSubjects, T as DefaultHarnessDefinition, a as OPENAI_NODE_REGISTRY_HARNESS, b as HarnessNamespace, c as ExpandCapabilitiesResult, d as expandProfileToolCapabilities, f as getToolCapabilities, i as GEMINI_SDK_REGISTRY_HARNESS, j as ToolApprovalOverrides, k as HarnessDefinitionCreateSchema, l as ProfileToolCapabilitiesConfig, n as CODEX_APP_SERVER_NATIVE_HARNESS, o as codexCapabilityMap, r as DEFAULT_HARNESSES, s as ExpandCapabilitiesParams, t as CLAUDE_CODE_REGISTRY_HARNESS, u as expandCapabilities, w as ApprovalPolicySchema, x as HarnessSchemas } from "../../index-BvjLe_w9.mjs";
2
2
  export { ApprovalPolicy, ApprovalPolicySchema, CLAUDE_CODE_REGISTRY_HARNESS, CODEX_APP_SERVER_NATIVE_HARNESS, DEFAULT_HARNESSES, DefaultHarnessDefinition, ExpandCapabilitiesParams, ExpandCapabilitiesResult, GEMINI_SDK_REGISTRY_HARNESS, HarnessDefinition, HarnessDefinitionBaseSchema, HarnessDefinitionCreate, HarnessDefinitionCreateSchema, HarnessDefinitionSchema, HarnessNamespace, HarnessSchemas, HarnessSubjects, OPENAI_NODE_REGISTRY_HARNESS, ProfileToolCapabilitiesConfig, ToolApprovalOverrides, ToolApprovalOverridesSchema, codexCapabilityMap, expandCapabilities, expandProfileToolCapabilities, getToolCapabilities };