@makaio/framework 1.0.0-dev-1781899284968 → 1.0.0-dev-1781983562538
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.makaio-build.json +2 -2
- package/dist/adapter-subsystem/index.mjs +1 -1
- package/dist/contracts/artifact/index.d.mts +1 -1
- package/dist/contracts/client/index.d.mts +1 -1
- package/dist/contracts/config/index.d.mts +6 -6
- package/dist/contracts/extension/index.d.mts +2 -2
- package/dist/contracts/facet/index.d.mts +1 -1
- package/dist/contracts/harness/index.d.mts +1 -1
- package/dist/contracts/index.d.mts +59 -59
- package/dist/contracts/materialization/index.d.mts +3 -3
- package/dist/contracts/provider/index.d.mts +1 -1
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/contracts/workflow/index.d.mts +2 -2
- package/dist/{definition-D_3U4OLJ.d.mts → definition-0EXM1tyu.d.mts} +1 -1
- package/dist/{index-B76e7m2R.d.mts → index-B5w-0Gg9.d.mts} +8 -8
- package/dist/{index-gKaw_TMU.d.mts → index-BAQ6QBcU.d.mts} +16 -16
- package/dist/{index-D2WJ0Zpt.d.mts → index-C8-zmOZK.d.mts} +4 -4
- package/dist/{index-DKs0sHne.d.mts → index-CDwc4Yjn.d.mts} +1 -1
- package/dist/{index-XeFiBam-.d.mts → index-CKlZwsf3.d.mts} +2 -2
- package/dist/{index-BNT7Ys9c.d.mts → index-CUgqdVBB.d.mts} +46 -46
- package/dist/{index-BAnDvAk4.d.mts → index-CYHWOXUm.d.mts} +1 -1
- package/dist/{index-wfSedMR9.d.mts → index-CfIW5biI.d.mts} +1 -1
- package/dist/{index-Bw_CfRNZ.d.mts → index-CgNhyMkL.d.mts} +12 -12
- package/dist/{index-CHy2TweG.d.mts → index-Ciw2wNzR.d.mts} +3 -3
- package/dist/{index-xyXYG5WO.d.mts → index-CuILCdip.d.mts} +8 -8
- package/dist/{index-CYu8kZek.d.mts → index-Czv4Fbj1.d.mts} +5 -5
- package/dist/{index-CF8ldAwM.d.mts → index-DOkPNhS0.d.mts} +40 -40
- package/dist/{index-q8nLr74m.d.mts → index-DnLf0YKC.d.mts} +6 -6
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/index.d.mts +2 -2
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/{namespace-Dybz75l5.d.mts → namespace-B95uYmZB.d.mts} +26 -26
- package/dist/{namespace-j7vFsmYL.d.mts → namespace-Cz9ME2yn.d.mts} +2 -2
- package/dist/{namespace-CMN1WR_2.d.mts → namespace-DeG6x2fd.d.mts} +1 -1
- package/dist/{namespace-MuyQDzjD.d.mts → namespace-XmDoz6Sz.d.mts} +22 -22
- package/dist/{namespace-65uwTpbg.d.mts → namespace-twXARP-X.d.mts} +6 -6
- package/dist/package.json +1 -1
- package/dist/{schema-CzrYmB9E.d.mts → schema-fZknEOha.d.mts} +1 -1
- package/dist/{schemas-D4zaFE2p.d.mts → schemas-BphR5vaS.d.mts} +6 -6
- package/dist/{schemas-CwgS7KoL2.d.mts → schemas-COginkIS2.d.mts} +4 -4
- package/dist/{schemas-DXjyGVpx.d.mts → schemas-DDaP5WkH.d.mts} +3 -3
- package/dist/{schemas-lnE9YoG7.d.mts → schemas-sJYw2ALb.d.mts} +3 -3
- package/dist/services/adapter-subsystem/index.d.mts +2 -2
- package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
- package/dist/services/execution-target/index.d.mts +2 -2
- package/dist/services/execution-target/namespace.d.mts +1 -1
- package/dist/services/execution-target/schemas.d.mts +1 -1
- package/dist/services/filesystem/namespace.d.mts +6 -6
- package/dist/services/filesystem/schemas.d.mts +3 -3
- package/dist/services/harness/index.d.mts +3 -3
- package/dist/services/index.d.mts +33 -33
- package/dist/services/log-import/browser.d.mts +2 -2
- package/dist/services/log-import/index.d.mts +2 -2
- package/dist/services/log-import/log-import.d.mts +1 -1
- package/dist/services/log-import/namespace.d.mts +2 -2
- package/dist/services/log-import/schemas.d.mts +1 -1
- package/dist/services/session/index.d.mts +4 -4
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/settings/namespace.d.mts +4 -4
- package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
- package/dist/services/subagent-template/index.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/services/tray-menu/index.d.mts +2 -2
- package/dist/services/tray-menu/namespace.d.mts +1 -1
- package/dist/services/tray-menu/schemas.d.mts +1 -1
- package/dist/{transition-DKMQs6eP.d.mts → transition-BUKCl8gP.d.mts} +1 -1
- package/dist/{types-InWSdi-V.d.mts → types-BslClRkH.d.mts} +1 -1
- package/dist/{types-QxCQtHQJ.d.mts → types-DcDvbHe5.d.mts} +11 -11
- package/package.json +1 -1
package/dist/.makaio-build.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
|
-
"fingerprint": "
|
|
4
|
-
"builtAt": "2026-06-
|
|
3
|
+
"fingerprint": "adc3493b55beb8b46ab013b74b01193c241619d2f3444fba3aaa1244964be7b3",
|
|
4
|
+
"builtAt": "2026-06-20T19:27:12.492Z"
|
|
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 f,AdapterFileSchema as p,PROVIDER_CONFIG_SCHEMA_VERSION as m,ProviderConfigFileSchema as h,brandCredentialRecord as g,isAccountManagerRef as _,resolveCanonicalProviderConfigName as ee,slugifyProviderConfigName as v}from"@makaio/framework/contracts/config";import{resolveModelVisibility as y}from"@makaio/framework/contracts/provider";import{buildDeterministicAdapterId as b}from"@makaio/framework/services/adapter-runtime";import{ClientSubjects as te}from"@makaio/framework/contracts/client";import{ProviderStorageSubjects as x}from"@makaio/framework/services/settings/storage";import{AdapterSubsystemSubjects as S}from"@makaio/framework/services/adapter-subsystem";import{ExtensionSubjects as C}from"@makaio/framework/kernel";import{ModelRegistryProviderNotFoundError as w,ModelRegistrySubjects as T}from"@makaio/framework/services/model-registry";function E(e){return e?{...e}:void 0}function D(e){return e?{...e}:void 0}function ne(e){return e?structuredClone(e):void 0}function re(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 ie(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 ae(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 oe(e,t,n){let r=re(t,n);if(r.length===0)return;let i=[];try{for(let t of r)i.push(t),await ie(e,t)}catch(t){try{await se(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 se(e,t){let n=[];for(let r of[...t].reverse())try{await ae(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 ce(e,t){let n=t.credentials!==void 0&&Object.keys(t.credentials).length>0,r=ue(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 O(e,t){return(t??[]).map(t=>({adapterName:e,providerConfigId:t.providerConfigId,isDefault:t.isDefault??!1}))}function le(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 ue(e){if(e){for(let t of Object.values(e))if(_(t))return t}}function de(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 k(e){let t=new Map,n=new Map,r=new Map;for(let[i,a]of e.providerConfigs){let e=ce(i,a);t.set(i,e),n.set(v(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=O(n,r.bindings),c=le(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 A(e,t){return e.get(t)?.enabled??!1}function j(e,t){return e.some(e=>A(t,e.providerConfigId))}function M(e,t){let n=e.find(e=>A(t,e.providerConfigId));return{bindings:e.map(e=>({...e,isDefault:e.providerConfigId===n?.providerConfigId})),...n?{promoted:{...n,isDefault:!0}}:{}}}function N(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})=>A(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 P(e,t,n){let{provider:r}=await e.request(x.get,{id:n.definitionId});if(!r)throw Error(`ProviderDefinition '${n.definitionId}' not found for config '${t}'`);let i=await F(e,r),a={...r.endpoints??{},...n.endpointOverrides??{}},o=I(i);return{providerConfigId:t,definitionId:r.id,...Object.keys(a).length>0?{endpointOverrides:a}:{},credentialRefs:g(n.credentials)??{},...r.credentialEnvVars?{credentialEnvVars:{...r.credentialEnvVars}}:{},...o.length>0?{ambientCredentialEnvVars:o}:{},...r.capabilities?{capabilities:r.capabilities}:{}}}async function F(e,t){try{let n=await e.requestOptional(x.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 I(e){return[...new Set(e.flatMap(e=>e.credentialEnvVars?Object.values(e.credentialEnvVars):[]))]}var L=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}},R=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 L;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 oe(this.configRepository,this.snapshot,e),this.replaceSnapshot(e)}applyDerivedState(){let e=k(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=v(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:ne(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??de(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?P(this.bus,e,t):null}removeBindingsForConfig(e,t,n){let r=new Map,i=[],a=[];for(let[o,s]of t){let t=O(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=M(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 N(e,t,n)}};const z=process.env.MAKAIO_SKIP_CLIENT_VERSION_CHECK===`1`;function B(e){if(!(e===void 0||e.length===0))return e.map(e=>({...e}))}function V(e,t){return e.clientId!==void 0&&t?.some(t=>t.id===e.clientId)?e.clientId:t?.[0]?.id}async function H(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}"`);fe(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(te.resolveBinary,{clientId:t.id});if(!n.handled){if(z){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(z){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(z){console.warn(`[SKIP_VERSION_CHECK] ${n} does not satisfy ${t.binaryVersion} — check bypassed`);return}throw Error(`${n} does not satisfy ${t.binaryVersion}`)}}))}function fe(e,t,n){if(!u(e,t))throw Error(`${n} does not satisfy ${t}`)}function pe(e){let t=e.split(`/`).pop()?.replace(/^ai-adapters-/,``)?.trim();return t&&t.length>0?t:e}function U(e){let t=V(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.providers.map(e=>e.definition.id)}}async function W(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 me(e,t,n){try{let e=t;typeof e.shutdown==`function`&&await e.shutdown()}finally{n.delete(e)}}async function he(e,t){let{config:n}=await e.request(S.getAdapterConfig,{name:t});return n?.enabled??!1}function ge(e,t){return e.options.adapterId??b(t,e.name)}async function G(e,t,n,r,a){let o=[];for(let s of n)try{if(!await he(e,s.name)){console.info(`Skipping disabled adapter: ${s.name}`);continue}let n=ge(s,t),o=V(s.options,s.clients),c=await s.factory({...s.options,adapterId:n,platformDefaults:a,definitionProviders:s.providers,clientId:o});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 me(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 _e(e,t){await t.request(S.ensureReady,{});let n=await Promise.all(e.map(async e=>({adapter:e,config:(await t.request(S.getAdapterConfig,{name:e.name})).config})));await Promise.all(n.filter(({config:e})=>!e).map(({adapter:e})=>t.request(S.setAdapterConfig,{name:e.name,patch:{displayName:e.displayName,description:e.description,helpLinks:e.helpLinks?.map(e=>({...e})),instructions:e.instructions,clientId:V(e.options,e.clients),protocol:e.protocol,providerDefinitionIds:e.providers.map(e=>e.definition.id),enabled:!1}})))}var ve=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}getSettingsAvailableAdapters(){return[...this.loadedAdapters.values()].map(U)}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])}async deregisterAdapter(e){let t=this.loadedAdapters.get(e);if(t){let n=t.options.adapterId??b(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(S.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 G(this.bus,this.machineId,[e],this.adapterInstances,t)}async shutdownAll(){await W(this.adapterInstances),this.loadedAdapters.clear(),this.packageAdapters.clear()}},ye=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=v(t),r=this.cloneCreateCredentialRefs(e),i=E(e.endpointOverrides),a=D(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:m,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(S.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:E(t.endpointOverrides),modelVisibility:t.modelVisibility===void 0?r.modelVisibility:D(t.modelVisibility),enabled:t.enabled??r.enabled})},()=>this.configStore.requireProviderConfig(e,`update`));return await this.bus.emit(S.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(S.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(S.providerConfig.updated,s),{deleted:!1};await this.cleanupDeletedProviderCredentials(e);for(let e of o.deletedBindings)await this.bus.emit(S.binding.deleted,e);for(let e of o.defaultChangedBindings)await this.bus.emit(S.binding.defaultChanged,e);return await this.bus.emit(S.providerConfig.deleted,{id:e}),i&&await this.bus.emit(S.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(S.providerConfig.updated,n),await this.bus.emit(S.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(S.providerConfig.updated,r),{config:r}}normalizeCredentialRefs(e){if(!(!e||Object.keys(e).length===0))return g(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=ee({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(x.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(x.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=y(e,`allowlist`,t.modelVisibility);if(n===`enabled`||n===`visible`)return}return i[0]}},be=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=O(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)&&!j(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(S.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=O(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=M(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(S.binding.deleted,{adapterName:e,providerConfigId:t}),n&&await this.bus.emit(S.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=O(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(!A(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(S.binding.defaultChanged,{adapterName:e,providerConfigId:t})}};function K(e){return e.map(e=>({...e}))}function q(e){if(e instanceof w)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:q(t.cause)}function xe(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 Se(e,t,n){let r=xe(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 Ce=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,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(C.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)}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&&(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 validateEnabledAdapterClientRefs(e,t,n){if(e.clients===void 0||e.clients.length===0)return;let r=n??(await t.request(C.contributions.catalog,{})).clients;await H(e.name,e.clients,r,t)}async resolveProviderDefinitions(e,t,n,r,i,a){let o=a;if(!o){o=new Map;let t=await e.request(C.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})}if(c.length>0)throw Error(`Adapter "${n}" declares providers [${c.join(`, `)}] but no active extension registers them. Ensure provider extensions are listed in the adapter's dependencies.`);return s}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(C.contributions.catalog,{})).clients;await H(l,c.clients,u,n,{checkBinaryVersions:!1});let d=await this.resolveProviderDefinitions(n,s.providers,l,s.providerConfigSchema,s.providerCredentialSchema,a),f=await Promise.all(d.map(async e=>{let t=e.definition.id;try{let r=i.get(t);if(r===void 0){let a=await n.requestOptional(T.getProviderModels,{providerId:t});r=a.handled?a.data.models:e.definition.availableModels??[],i.set(t,r)}return{...e,definition:{...e.definition,availableModels:K(r)}}}catch(n){if(q(n))return{...e,definition:{...e.definition,availableModels:K(e.definition.availableModels??[])}};throw Error(`[AdapterContributionProcessor] Failed to populate available models for provider "${t}" on adapter "${l}"`,{cause:n})}}));return{name:l,displayName:s.displayName??c.displayName,description:s.description,packageName:e,factory:s.createAdapter,options:{adapterId:b(this.machineId,l)},adapterConfigSchema:s.adapterConfigSchema,providers:f,helpLinks:s.helpLinks,instructions:s.instructions,defaultPresetId:s.defaultPresetId,clients:B(c.clients),protocol:Se(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:V(e.options,e.clients),protocol:e.protocol,providerDefinitionIds:e.providers.map(e=>e.definition.id),enabled:!1})}async onPackageStopped(e){await this.registry.deregisterPackage(e)}publishAdapterRegistered(e){let t=this.configStore.isAdapterEnabled(e.name),n=e.options.adapterId??b(this.machineId,e.name),r=e.providers.map(e=>e.definition.id);return this.registry.publishAdapterRegistered({adapterName:e.name,displayName:e.displayName,packageName:e.packageName,enabled:t,adapterId:n,providerDefinitionIds:r})}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 we(e,t){let n=e.on(x.get,e=>{let n=Y(t()).get(e.payload.id)??null;e.setResult({provider:n})},{priority:J}),r=e.on(x.list,e=>{e.setResult({providers:[...Y(t()).values()]})},{priority:J}),i=e.on(x.listByProtocol,e=>{let n=[...Y(t()).values()].filter(t=>t.endpoints!==void 0&&e.payload.protocol in t.endpoints);e.setResult({providers:n})},{priority:J});return()=>{n(),r(),i()}}function Y(e){let t=new Map;for(let n of e)for(let e of n.providers){let n=s.parse(e.definition);t.has(n.id)||t.set(n.id,{id:n.id,packageName:e.providerPackageName,name:n.name,...n.description===void 0?{}:{description:n.description},...n.endpoints===void 0?{}:{endpoints:n.endpoints},...n.defaultModel===void 0?{}:{defaultModel:n.defaultModel},...n.fastModel===void 0?{}:{fastModel:n.fastModel},availableModels:n.availableModels,defaultModelFilterMode:n.defaultModelFilterMode??`show-all`,...n.credentialEnvVars===void 0?{}:{credentialEnvVars:n.credentialEnvVars},...n.capabilities===void 0?{}:{capabilities:n.capabilities},enabled:!0,createdAt:0,updatedAt:0})}return t}var X=class extends d{configStore;registry;providerConfigService;bindingService;contributionProcessor;constructor(e){super(e.bus),this.configStore=new R({configRepository:e.configRepository,bus:e.bus}),this.registry=new ve({bus:e.bus,machineId:e.machineId}),this.providerConfigService=new ye({configStore:this.configStore,bus:e.bus}),this.bindingService=new be({configStore:this.configStore,bus:e.bus}),this.contributionProcessor=new Ce({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(S.ready,{})}registerBusHandlers(){this.addCleanup(we(this.bus,()=>this.registry.getLoadedAdapters())),this.registerReadHandlers(),this.registerMutationHandlers()}registerReadHandlers(){this.registerHandler(S.getAdapterConfig,e=>{e.setResult({config:this.configStore.getAdapterConfig(e.payload.name)})}),this.registerHandler(S.listAdapterConfigs,e=>{e.setResult({configs:this.configStore.listAdapterConfigs()})}),this.registerHandler(S.getProviderConfig,e=>{e.setResult({config:this.configStore.getProviderConfig(e.payload.id)})}),this.registerHandler(S.listProviderConfigs,e=>{e.setResult({configs:this.configStore.listProviderConfigs(e.payload.enabled)})}),this.registerHandler(S.listProviderConfigsByDefinition,e=>{e.setResult({configs:this.configStore.listProviderConfigsByDefinition(e.payload.definitionId)})}),this.registerHandler(S.listBindings,e=>{e.setResult({bindings:this.configStore.listBindings(e.payload.adapterName)})}),this.registerHandler(S.listBindingsByConfig,e=>{e.setResult({bindings:this.configStore.listBindingsByConfig(e.payload.providerConfigId)})}),this.registerHandler(S.getDefaultBinding,e=>{e.setResult({binding:this.configStore.getDefaultBinding(e.payload.adapterName)})}),this.registerHandler(S.findConfigForDefinitionAndAdapter,e=>{e.setResult({config:this.configStore.findConfigForDefinitionAndAdapter(e.payload.definitionId,e.payload.adapterName)})}),this.registerHandler(S.buildProviderContext,async e=>{e.setResult({context:await this.configStore.buildProviderContext(e.payload.providerConfigId)})}),this.registerHandler(S.listAdapters,async e=>{e.setResult({adapters:await this.configStore.buildEffectiveAdapters()})}),this.registerHandler(S.getProviderDefinitionsByAdapter,e=>{let t=(this.registry.getLoadedAdapters().find(t=>t.name===e.payload.adapterName)?.providers??[]).map(e=>s.parse(e.definition));e.setResult({definitions:t})}),this.registerHandler(S.ensureReady,e=>{e.setResult({ready:!0})})}registerMutationHandlers(){this.registerHandler(S.createProviderConfig,async e=>{e.setResult(await this.providerConfigService.createProviderConfig(e.payload))}),this.registerHandler(S.updateProviderConfig,async e=>{e.setResult(await this.providerConfigService.updateProviderConfig(e.payload.id,e.payload.patch))}),this.registerHandler(S.setProviderConfigCredentialRefs,async e=>{e.setResult(await this.providerConfigService.setProviderConfigCredentialRefs(e.payload.id,e.payload.credentialRefs))}),this.registerHandler(S.deleteProviderConfig,async e=>{e.setResult(await this.providerConfigService.deleteProviderConfig(e.payload.id))}),this.registerHandler(S.setDefaultProviderConfig,async e=>{e.setResult(await this.providerConfigService.setDefaultProviderConfig(e.payload.id))}),this.registerHandler(S.setModelFilterMode,async e=>{e.setResult(await this.providerConfigService.setModelFilterMode(e.payload.id,e.payload.modelFilterMode,e.payload.preferredModel))}),this.registerHandler(S.setAdapterConfig,async e=>{e.setResult(await this.configStore.setAdapterConfig(e.payload.name,e.payload.patch))}),this.registerHandler(S.setAdapterEnabled,async e=>{await this.configStore.setAdapterEnabled(e.payload.name,e.payload.enabled),e.setResult({success:!0})}),this.registerHandler(S.bind,async e=>{e.setResult({binding:await this.bindingService.bind(e.payload.adapterName,e.payload.providerConfigId)})}),this.registerHandler(S.unbind,async e=>{await this.bindingService.unbind(e.payload.adapterName,e.payload.providerConfigId),e.setResult({})}),this.registerHandler(S.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 Z=`.json`;var Q=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=h.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=h.parse(n);await this.writeJsonFile(t.join(this.providerConfigsDir,`${r}${Z}`),i)}async deleteProviderConfig(e){let n=this.assertCanonicalFileStem(e,`provider config id`);try{return await this.unlinkFile(t.join(this.providerConfigsDir,`${n}${Z}`)),!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}${Z}`),i)}async deleteAdapterFile(e){let n=this.assertCanonicalFileStem(e,`adapter name`);try{return await this.unlinkFile(t.join(this.adaptersDir,`${n}${Z}`)),!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)===Z).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 Te(e){return{filter:e=>!!e.adapters?.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 Ee(e){return{name:$.name,displayName:`Adapter Subsystem`,version:`0.1.0`,provides:[`adapters`],critical:!0,create:t=>new X({bus:t.bus,configRepository:e.configRepository,coordinator:e.coordinator,machineId:t.machineId,platformDefaults:e.platformDefaults})}}export{X as AdapterSubsystemService,$ as AdapterSubsystemToken,Q as FileAdapterConfigRepository,Te as createAdapterSubsystemContributionProcessor,Ee as createAdapterSubsystemPackage,_e as ensureAdapterConfigs,pe as extractAdapterIdFromPackageName,G as initializeEnabledAdapters,W as shutdownAdapterInstances,U 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 m,ProviderConfigFileSchema as h,brandCredentialRecord as g,isAccountManagerRef as _,resolveCanonicalProviderConfigName as ee,slugifyProviderConfigName as v}from"@makaio/framework/contracts/config";import{resolveModelVisibility as y}from"@makaio/framework/contracts/provider";import{buildDeterministicAdapterId as b}from"@makaio/framework/services/adapter-runtime";import{ClientSubjects as te}from"@makaio/framework/contracts/client";import{ProviderStorageSubjects as x}from"@makaio/framework/services/settings/storage";import{AdapterSubsystemSubjects as S}from"@makaio/framework/services/adapter-subsystem";import{ExtensionSubjects as C}from"@makaio/framework/kernel";import{ModelRegistryProviderNotFoundError as w,ModelRegistrySubjects as T}from"@makaio/framework/services/model-registry";function E(e){return e?{...e}:void 0}function D(e){return e?{...e}:void 0}function ne(e){return e?structuredClone(e):void 0}function re(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 ie(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 ae(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 oe(e,t,n){let r=re(t,n);if(r.length===0)return;let i=[];try{for(let t of r)i.push(t),await ie(e,t)}catch(t){try{await se(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 se(e,t){let n=[];for(let r of[...t].reverse())try{await ae(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 ce(e,t){let n=t.credentials!==void 0&&Object.keys(t.credentials).length>0,r=ue(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 O(e,t){return(t??[]).map(t=>({adapterName:e,providerConfigId:t.providerConfigId,isDefault:t.isDefault??!1}))}function le(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 ue(e){if(e){for(let t of Object.values(e))if(_(t))return t}}function de(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 k(e){let t=new Map,n=new Map,r=new Map;for(let[i,a]of e.providerConfigs){let e=ce(i,a);t.set(i,e),n.set(v(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=O(n,r.bindings),c=le(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 A(e,t){return e.get(t)?.enabled??!1}function j(e,t){return e.some(e=>A(t,e.providerConfigId))}function M(e,t){let n=e.find(e=>A(t,e.providerConfigId));return{bindings:e.map(e=>({...e,isDefault:e.providerConfigId===n?.providerConfigId})),...n?{promoted:{...n,isDefault:!0}}:{}}}function N(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})=>A(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 P(e,t,n){let{provider:r}=await e.request(x.get,{id:n.definitionId});if(!r)throw Error(`ProviderDefinition '${n.definitionId}' not found for config '${t}'`);let i=await F(e,r),a={...r.endpoints??{},...n.endpointOverrides??{}},o=I(i);return{providerConfigId:t,definitionId:r.id,...Object.keys(a).length>0?{endpointOverrides:a}:{},credentialRefs:g(n.credentials)??{},...r.credentialEnvVars?{credentialEnvVars:{...r.credentialEnvVars}}:{},...o.length>0?{ambientCredentialEnvVars:o}:{},...r.capabilities?{capabilities:r.capabilities}:{}}}async function F(e,t){try{let n=await e.requestOptional(x.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 I(e){return[...new Set(e.flatMap(e=>e.credentialEnvVars?Object.values(e.credentialEnvVars):[]))]}var L=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}},R=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 L;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 oe(this.configRepository,this.snapshot,e),this.replaceSnapshot(e)}applyDerivedState(){let e=k(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=v(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:ne(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??de(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?P(this.bus,e,t):null}removeBindingsForConfig(e,t,n){let r=new Map,i=[],a=[];for(let[o,s]of t){let t=O(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=M(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 N(e,t,n)}};const z=process.env.MAKAIO_SKIP_CLIENT_VERSION_CHECK===`1`;function B(e){if(!(e===void 0||e.length===0))return e.map(e=>({...e}))}function V(e,t){return e.clientId!==void 0&&t?.some(t=>t.id===e.clientId)?e.clientId:t?.[0]?.id}async function H(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}"`);fe(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(te.resolveBinary,{clientId:t.id});if(!n.handled){if(z){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(z){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(z){console.warn(`[SKIP_VERSION_CHECK] ${n} does not satisfy ${t.binaryVersion} — check bypassed`);return}throw Error(`${n} does not satisfy ${t.binaryVersion}`)}}))}function fe(e,t,n){if(!u(e,t))throw Error(`${n} does not satisfy ${t}`)}function pe(e){let t=e.split(`/`).pop()?.replace(/^ai-adapters-/,``)?.trim();return t&&t.length>0?t:e}function U(e){let t=V(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.providers.map(e=>e.definition.id)}}async function W(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 me(e,t,n){try{let e=t;typeof e.shutdown==`function`&&await e.shutdown()}finally{n.delete(e)}}async function he(e,t){let{config:n}=await e.request(S.getAdapterConfig,{name:t});return n?.enabled??!1}function ge(e,t){return e.options.adapterId??b(t,e.name)}async function G(e,t,n,r,a){let o=[];for(let s of n)try{if(!await he(e,s.name)){console.info(`Skipping disabled adapter: ${s.name}`);continue}let n=ge(s,t),o=V(s.options,s.clients),c=await s.factory({...s.options,adapterId:n,platformDefaults:a,definitionProviders:s.providers,clientId:o});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 me(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 _e(e,t){await t.request(S.ensureReady,{});let n=await Promise.all(e.map(async e=>({adapter:e,config:(await t.request(S.getAdapterConfig,{name:e.name})).config})));await Promise.all(n.filter(({config:e})=>!e).map(({adapter:e})=>t.request(S.setAdapterConfig,{name:e.name,patch:{displayName:e.displayName,description:e.description,helpLinks:e.helpLinks?.map(e=>({...e})),instructions:e.instructions,clientId:V(e.options,e.clients),protocol:e.protocol,providerDefinitionIds:e.providers.map(e=>e.definition.id),enabled:!1}})))}var ve=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}getSettingsAvailableAdapters(){return[...this.loadedAdapters.values()].map(U)}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])}async deregisterAdapter(e){let t=this.loadedAdapters.get(e);if(t){let n=t.options.adapterId??b(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(S.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 G(this.bus,this.machineId,[e],this.adapterInstances,t)}async shutdownAll(){await W(this.adapterInstances),this.loadedAdapters.clear(),this.packageAdapters.clear()}},ye=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=v(t),r=this.cloneCreateCredentialRefs(e),i=E(e.endpointOverrides),a=D(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:m,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(S.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:E(t.endpointOverrides),modelVisibility:t.modelVisibility===void 0?r.modelVisibility:D(t.modelVisibility),enabled:t.enabled??r.enabled})},()=>this.configStore.requireProviderConfig(e,`update`));return await this.bus.emit(S.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(S.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(S.providerConfig.updated,s),{deleted:!1};await this.cleanupDeletedProviderCredentials(e);for(let e of o.deletedBindings)await this.bus.emit(S.binding.deleted,e);for(let e of o.defaultChangedBindings)await this.bus.emit(S.binding.defaultChanged,e);return await this.bus.emit(S.providerConfig.deleted,{id:e}),i&&await this.bus.emit(S.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(S.providerConfig.updated,n),await this.bus.emit(S.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(S.providerConfig.updated,r),{config:r}}normalizeCredentialRefs(e){if(!(!e||Object.keys(e).length===0))return g(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=ee({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(x.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(x.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=y(e,`allowlist`,t.modelVisibility);if(n===`enabled`||n===`visible`)return}return i[0]}},be=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=O(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)&&!j(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(S.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=O(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=M(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(S.binding.deleted,{adapterName:e,providerConfigId:t}),n&&await this.bus.emit(S.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=O(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(!A(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(S.binding.defaultChanged,{adapterName:e,providerConfigId:t})}};function K(e){return e.map(e=>({...e}))}function q(e){if(e instanceof w)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:q(t.cause)}function xe(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 Se(e,t,n){let r=xe(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 Ce=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,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(C.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)}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&&(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 validateEnabledAdapterClientRefs(e,t,n){if(e.clients===void 0||e.clients.length===0)return;let r=n??(await t.request(C.contributions.catalog,{})).clients;await H(e.name,e.clients,r,t)}async resolveProviderDefinitions(e,t,n,r,i,a){let o=a;if(!o){o=new Map;let t=await e.request(C.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})}if(c.length>0)throw Error(`Adapter "${n}" declares providers [${c.join(`, `)}] but no active extension registers them. Ensure provider extensions are listed in the adapter's dependencies.`);return s}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(C.contributions.catalog,{})).clients;await H(l,c.clients,u,n,{checkBinaryVersions:!1});let d=await this.resolveProviderDefinitions(n,s.providers,l,s.providerConfigSchema,s.providerCredentialSchema,a),f=await Promise.all(d.map(async e=>{let t=e.definition.id;try{let r=i.get(t);if(r===void 0){let a=await n.requestOptional(T.getProviderModels,{providerId:t});r=a.handled?a.data.models:e.definition.availableModels??[],i.set(t,r)}return{...e,definition:{...e.definition,availableModels:K(r)}}}catch(n){return q(n)||console.warn(`[AdapterContributionProcessor] Failed to populate available models for provider "${t}" on adapter "${l}". Falling back to declared provider models.`,n),{...e,definition:{...e.definition,availableModels:K(e.definition.availableModels??[])}}}}));return{name:l,displayName:s.displayName??c.displayName,description:s.description,packageName:e,factory:s.createAdapter,options:{adapterId:b(this.machineId,l)},adapterConfigSchema:s.adapterConfigSchema,providers:f,helpLinks:s.helpLinks,instructions:s.instructions,defaultPresetId:s.defaultPresetId,clients:B(c.clients),protocol:Se(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:V(e.options,e.clients),protocol:e.protocol,providerDefinitionIds:e.providers.map(e=>e.definition.id),enabled:!1})}async onPackageStopped(e){await this.registry.deregisterPackage(e)}publishAdapterRegistered(e){let t=this.configStore.isAdapterEnabled(e.name),n=e.options.adapterId??b(this.machineId,e.name),r=e.providers.map(e=>e.definition.id);return this.registry.publishAdapterRegistered({adapterName:e.name,displayName:e.displayName,packageName:e.packageName,enabled:t,adapterId:n,providerDefinitionIds:r})}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 we(e,t){let n=e.on(x.get,e=>{let n=Y(t()).get(e.payload.id)??null;e.setResult({provider:n})},{priority:J}),r=e.on(x.list,e=>{e.setResult({providers:[...Y(t()).values()]})},{priority:J}),i=e.on(x.listByProtocol,e=>{let n=[...Y(t()).values()].filter(t=>t.endpoints!==void 0&&e.payload.protocol in t.endpoints);e.setResult({providers:n})},{priority:J});return()=>{n(),r(),i()}}function Y(e){let t=new Map;for(let n of e)for(let e of n.providers){let n=s.parse(e.definition);t.has(n.id)||t.set(n.id,{id:n.id,packageName:e.providerPackageName,name:n.name,...n.description===void 0?{}:{description:n.description},...n.endpoints===void 0?{}:{endpoints:n.endpoints},...n.defaultModel===void 0?{}:{defaultModel:n.defaultModel},...n.fastModel===void 0?{}:{fastModel:n.fastModel},availableModels:n.availableModels,defaultModelFilterMode:n.defaultModelFilterMode??`show-all`,...n.credentialEnvVars===void 0?{}:{credentialEnvVars:n.credentialEnvVars},...n.capabilities===void 0?{}:{capabilities:n.capabilities},enabled:!0,createdAt:0,updatedAt:0})}return t}var X=class extends d{configStore;registry;providerConfigService;bindingService;contributionProcessor;constructor(e){super(e.bus),this.configStore=new R({configRepository:e.configRepository,bus:e.bus}),this.registry=new ve({bus:e.bus,machineId:e.machineId}),this.providerConfigService=new ye({configStore:this.configStore,bus:e.bus}),this.bindingService=new be({configStore:this.configStore,bus:e.bus}),this.contributionProcessor=new Ce({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(S.ready,{})}registerBusHandlers(){this.addCleanup(we(this.bus,()=>this.registry.getLoadedAdapters())),this.registerReadHandlers(),this.registerMutationHandlers()}registerReadHandlers(){this.registerHandler(S.getAdapterConfig,e=>{e.setResult({config:this.configStore.getAdapterConfig(e.payload.name)})}),this.registerHandler(S.listAdapterConfigs,e=>{e.setResult({configs:this.configStore.listAdapterConfigs()})}),this.registerHandler(S.getProviderConfig,e=>{e.setResult({config:this.configStore.getProviderConfig(e.payload.id)})}),this.registerHandler(S.listProviderConfigs,e=>{e.setResult({configs:this.configStore.listProviderConfigs(e.payload.enabled)})}),this.registerHandler(S.listProviderConfigsByDefinition,e=>{e.setResult({configs:this.configStore.listProviderConfigsByDefinition(e.payload.definitionId)})}),this.registerHandler(S.listBindings,e=>{e.setResult({bindings:this.configStore.listBindings(e.payload.adapterName)})}),this.registerHandler(S.listBindingsByConfig,e=>{e.setResult({bindings:this.configStore.listBindingsByConfig(e.payload.providerConfigId)})}),this.registerHandler(S.getDefaultBinding,e=>{e.setResult({binding:this.configStore.getDefaultBinding(e.payload.adapterName)})}),this.registerHandler(S.findConfigForDefinitionAndAdapter,e=>{e.setResult({config:this.configStore.findConfigForDefinitionAndAdapter(e.payload.definitionId,e.payload.adapterName)})}),this.registerHandler(S.buildProviderContext,async e=>{e.setResult({context:await this.configStore.buildProviderContext(e.payload.providerConfigId)})}),this.registerHandler(S.listAdapters,async e=>{e.setResult({adapters:await this.configStore.buildEffectiveAdapters()})}),this.registerHandler(S.getProviderDefinitionsByAdapter,e=>{let t=(this.registry.getLoadedAdapters().find(t=>t.name===e.payload.adapterName)?.providers??[]).map(e=>s.parse(e.definition));e.setResult({definitions:t})}),this.registerHandler(S.ensureReady,e=>{e.setResult({ready:!0})})}registerMutationHandlers(){this.registerHandler(S.createProviderConfig,async e=>{e.setResult(await this.providerConfigService.createProviderConfig(e.payload))}),this.registerHandler(S.updateProviderConfig,async e=>{e.setResult(await this.providerConfigService.updateProviderConfig(e.payload.id,e.payload.patch))}),this.registerHandler(S.setProviderConfigCredentialRefs,async e=>{e.setResult(await this.providerConfigService.setProviderConfigCredentialRefs(e.payload.id,e.payload.credentialRefs))}),this.registerHandler(S.deleteProviderConfig,async e=>{e.setResult(await this.providerConfigService.deleteProviderConfig(e.payload.id))}),this.registerHandler(S.setDefaultProviderConfig,async e=>{e.setResult(await this.providerConfigService.setDefaultProviderConfig(e.payload.id))}),this.registerHandler(S.setModelFilterMode,async e=>{e.setResult(await this.providerConfigService.setModelFilterMode(e.payload.id,e.payload.modelFilterMode,e.payload.preferredModel))}),this.registerHandler(S.setAdapterConfig,async e=>{e.setResult(await this.configStore.setAdapterConfig(e.payload.name,e.payload.patch))}),this.registerHandler(S.setAdapterEnabled,async e=>{await this.configStore.setAdapterEnabled(e.payload.name,e.payload.enabled),e.setResult({success:!0})}),this.registerHandler(S.bind,async e=>{e.setResult({binding:await this.bindingService.bind(e.payload.adapterName,e.payload.providerConfigId)})}),this.registerHandler(S.unbind,async e=>{await this.bindingService.unbind(e.payload.adapterName,e.payload.providerConfigId),e.setResult({})}),this.registerHandler(S.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 Z=`.json`;var Q=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=h.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=h.parse(n);await this.writeJsonFile(t.join(this.providerConfigsDir,`${r}${Z}`),i)}async deleteProviderConfig(e){let n=this.assertCanonicalFileStem(e,`provider config id`);try{return await this.unlinkFile(t.join(this.providerConfigsDir,`${n}${Z}`)),!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}${Z}`),i)}async deleteAdapterFile(e){let n=this.assertCanonicalFileStem(e,`adapter name`);try{return await this.unlinkFile(t.join(this.adaptersDir,`${n}${Z}`)),!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)===Z).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 Te(e){return{filter:e=>!!e.adapters?.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 Ee(e){return{name:$.name,displayName:`Adapter Subsystem`,version:`0.1.0`,provides:[`adapters`],critical:!0,create:t=>new X({bus:t.bus,configRepository:e.configRepository,coordinator:e.coordinator,machineId:t.machineId,platformDefaults:e.platformDefaults})}}export{X as AdapterSubsystemService,$ as AdapterSubsystemToken,Q as FileAdapterConfigRepository,Te as createAdapterSubsystemContributionProcessor,Ee as createAdapterSubsystemPackage,_e as ensureAdapterConfigs,pe as extractAdapterIdFromPackageName,G as initializeEnabledAdapters,W as shutdownAdapterInstances,U as toAvailableAdapter};
|
|
@@ -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-
|
|
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-CUgqdVBB.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-
|
|
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-C8-zmOZK.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-
|
|
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-
|
|
1
|
+
import { P as ArtifactLifecycleHookEvent } from "../../index-CUgqdVBB.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-Czv4Fbj1.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-
|
|
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-CuILCdip.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-
|
|
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-B5w-0Gg9.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 };
|