@makaio/framework 1.0.0-dev-1790599449321 → 1.0.0-dev-1790624115602
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/clients/hook-subjects.d.mts +124 -0
- package/dist/clients/hook-subjects.mjs +1 -0
- package/dist/clients/index.d.mts +2 -118
- package/dist/clients/index.mjs +1 -1
- package/dist/contracts/artifact/index.d.mts +1 -1
- package/dist/contracts/capabilities/index.d.mts +1 -1
- package/dist/contracts/client/index.d.mts +1 -1
- package/dist/contracts/extension/index.d.mts +2 -2
- package/dist/contracts/index.d.mts +18 -18
- package/dist/contracts/variant/index.d.mts +1 -1
- package/dist/contracts/worker/index.d.mts +1 -1
- package/dist/contracts/workflow/index.d.mts +1 -1
- package/dist/{framework-packages-CLrOCDDK.mjs → framework-packages-D2fycy02.mjs} +1 -1
- package/dist/{index-9O8N514B2.d.mts → index-6UlianLY2.d.mts} +4 -4
- package/dist/{index-CPOJqxrf2.d.mts → index-BUtnnwzK2.d.mts} +7 -7
- package/dist/{index-CcTlPuIg.d.mts → index-BhvXJhTY.d.mts} +17 -17
- package/dist/{index-GlDcAkrf.d.mts → index-BtyeBaw-.d.mts} +31 -31
- package/dist/{index-uusIGFLo.d.mts → index-CQAriG-z.d.mts} +1 -1
- package/dist/{index-BSYu8AXG.d.mts → index-CbVqpQBu.d.mts} +60 -60
- package/dist/{index-xqiInEhj.d.mts → index-DmV9ybgT.d.mts} +24 -2
- package/dist/{index-_CsKmUOy.d.mts → index-DpiNhNHS.d.mts} +11 -11
- package/dist/{index-D9hIDsPr.d.mts → index-DyWD9bfP.d.mts} +46 -2
- package/dist/package.json +1 -1
- package/dist/runtime-node/index.d.mts +1 -1
- package/dist/runtime-node/index.mjs +22 -22
- package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
- package/dist/runtime-node/workflow-worker/index.mjs +1 -1
- package/dist/{schemas-CjFPsYeV.d.mts → schemas-BjhhkGN_.d.mts} +4 -4
- package/dist/{schemas-DnyXA-9o.d.mts → schemas-CYjPZwlQ.d.mts} +2 -2
- package/dist/{schemas-DPtj1sPC2.d.mts → schemas-RwAlAMbq2.d.mts} +7 -7
- package/dist/services/index.d.mts +33 -14
- package/dist/services/index.mjs +1 -1
- package/dist/services/preferences/index.d.mts +2 -2
- package/dist/services/preferences/schemas.d.mts +1 -1
- package/dist/services/preferences/storage-namespace.d.mts +2 -2
- package/dist/services/settings/namespace.d.mts +2 -2
- 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/tool-approval/index.d.mts +1 -1
- package/dist/services/tool-approval/index.mjs +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/services/workflow-transitions/index.mjs +1 -1
- package/dist/{storage-namespace-CwwiV3kt.d.mts → storage-namespace-NHTWAjaX.d.mts} +10 -10
- package/dist/tool-approval-service-BCN4W8eS.mjs +1 -0
- package/dist/tools/index.d.mts +13 -1
- package/dist/tools/index.mjs +1 -1
- package/dist/{tools-nkqlVAQ1.mjs → tools-BCL_dtHe.mjs} +1 -1
- package/dist/ui-kernel/index.d.mts +4 -4
- package/dist/ui-kernel/pages/namespace.d.mts +4 -4
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/dist/workflow-engine/index.d.mts +23 -23
- package/dist/{workflow-transitions-DEaRIZDU.mjs → workflow-transitions-7d9lGi08.mjs} +1 -1
- package/dist/workflow-worker-BCLy_g_a.mjs +3 -0
- package/package.json +5 -1
- package/dist/tool-approval-service-BRyBObcL.mjs +0 -1
- package/dist/workflow-worker-DXCXb3g-.mjs +0 -3
package/dist/clients/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,r as t,t as n}from"../client-binary-version-verifier-DcHCFmsI.mjs";import{z as r}from"zod";import*as i from"node:fs/promises";import*as a from"node:path";import{randomUUID as o}from"node:crypto";import{SerialLane as s}from"@makaio/framework/utils";import{createBusNamespace as c,hostLocalRequest as l}from"@makaio/framework/core";import{VersionLiteralSchema as u,extensionToken as d,isUniversalRange as f,versionSatisfies as p}from"@makaio/framework/contracts";import{MakaioBus as m}from"@makaio/framework/bus";import{BaseService as h}from"@makaio/framework/service-base";import{index as g,unique as ee,uniqueIndex as te}from"drizzle-orm/sqlite-core";import{index as ne,unique as re,uniqueIndex as ie}from"drizzle-orm/pg-core";import{defineDialectSchema as _,defineDualTable as v,didAffectRows as ae,executeTransaction as y,registerDrizzleHandlers as oe,resolveSchema as b}from"@makaio/framework/storage/drizzle";import{and as x,eq as S,gt as se,sql as C}from"drizzle-orm";import{ClientProfileNameSchema as w,ClientProfileSchema as ce,ClientSubjects as le,ClientSubjects as T,ClientWiringEntrySchema as ue,DEFAULT_FAILURE_POLICY as de,SessionConfigLeaseIdSchema as fe,deriveHookEventTransportMode as pe,isValidContributorId as me,isValidTimeoutMs as he,validateClosedPolicy as ge}from"@makaio/framework/contracts/client";import{SessionSubjects as _e}from"@makaio/framework/contracts/session";import*as ve from"node:os";import{CLIDetectionSubjects as ye}from"@makaio/framework/services/cli-detection/namespace";import{ClientStorageSubjects as be}from"@makaio/framework/services/settings/storage";async function xe(e,t,n,r,i){let a,o=(n.get(e)??Promise.resolve()).then(async()=>{let n=await i(r(await Se(e,t)));n.changed&&await Ce(e,n.content),a=n.result}),s=o.then(()=>void 0,()=>void 0);n.set(e,s);try{await o}finally{n.get(e)===s&&n.delete(e)}return a}async function Se(e,t){let n;try{n=await i.readFile(e,`utf-8`)}catch(e){if(e.code===`ENOENT`)return t;throw e}return JSON.parse(n)}async function Ce(e,t){let n=a.dirname(e),r=a.join(n,`${a.basename(e)}.${o()}.tmp`);await i.mkdir(n,{recursive:!0});try{await i.writeFile(r,`${JSON.stringify(t,null,2)}\n`,`utf-8`),await i.rename(r,e)}catch(e){throw await i.unlink(r).catch(()=>void 0),e}}var we=class e extends Error{code=`BINARY_NOT_FOUND`;constructor(t){super(`client.resolveBinary: no binary found for client '${t}' — install a managed version or ensure the binary is on PATH`),this.name=`BinaryNotFoundError`,Error.captureStackTrace?.(this,e)}},Te=class{nextAccountSequence=1;accountIdsByIdentifier=new Map;accounts=new Map;upsertAccount(e){let t=De(e.displayLabel),n=new Map;for(let t of e.identifiers)n.set(Ee(e.clientId,t.scheme,t.value),t);let r=Oe(n,this.accountIdsByIdentifier,`strong`),i=Oe(n,this.accountIdsByIdentifier,`alias`),a=r[0]??(i.length===1?i[0]:i.length>1?ke(i):this.createAccount()),o=(r.length>0?Me(a,r,i):[]).flatMap(e=>this.mergeInto(a,e)),s=this.accounts.get(a);if(!s)throw Error(`Client account registry invariant violated: missing account ${a}`);for(let[e,t]of n){let n=this.accountIdsByIdentifier.get(e);r.length===0&&t.strength===`alias`&&n!==void 0&&n!==a||(s.identifiers.set(e,t),this.accountIdsByIdentifier.set(e,a))}return t!==void 0&&(s.displayLabel=t),{clientAccountId:a,displayLabel:s.displayLabel,mergedAccountIds:o}}clear(){this.accountIdsByIdentifier.clear(),this.accounts.clear(),this.nextAccountSequence=1}createAccount(){let e=`client-account-${this.nextAccountSequence}`;return this.nextAccountSequence+=1,this.accounts.set(e,{clientAccountId:e,identifiers:new Map}),e}mergeInto(e,t){if(e===t)return[];let n=this.accounts.get(e),r=this.accounts.get(t);if(!n||!r)return[];for(let[t,i]of r.identifiers)n.identifiers.set(t,i),this.accountIdsByIdentifier.set(t,e);return n.displayLabel===void 0&&r.displayLabel!==void 0&&(n.displayLabel=r.displayLabel),this.accounts.delete(t),[t]}};function Ee(e,t,n){return`${e}\u0000${t}\u0000${n}`}function De(e){return e?.trim()||void 0}function Oe(e,t,n){let r=new Set;for(let[i,a]of e){if(a.strength!==n)continue;let e=t.get(i);e!==void 0&&r.add(e)}return Array.from(r).sort(Ae)}function ke(e){return[...e].sort(Ae)[0]}function Ae(e,t){let n=je(e),r=je(t);return n!==null&&r!==null&&n!==r?n-r:e.localeCompare(t)}function je(e){let t=e.match(/^client-account-(\d+)$/);return t?Number(t[1]):null}function Me(e,t,n){let r=new Set([...t,...n]);return r.delete(e),Array.from(r).sort(Ae)}function Ne(e){return{subject:`config.prime`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}async function E(e,t){let n=await e.requestOptional(Ne(t.clientId),t);return n.handled?n.data:{primed:!1}}function Pe(){let e=e=>async()=>{throw Error(`StrategyDependencies.${e} is not implemented`)};return{fetchText:e(`fetchText`),fetchJson:e(`fetchJson`),downloadFile:e(`downloadFile`),exec:e(`exec`),extractArchive:e(`extractArchive`),deleteFile:e(`deleteFile`),computeChecksum:e(`computeChecksum`),removeDirectory:e(`removeDirectory`)}}var Fe=class{resolveInstallVersion(e,t,n){let r=t.version;if(n===void 0)return{version:r,explicit:!1};let i=n.trim();if(i.length===0)throw Error(`Explicit version returned an empty version string`);if(i!==r)throw Error(`client.install: requested version ${i} for client '${e}' does not match pinned version ${r}`);return{version:i,explicit:!0}}};function D(t,n){return!a.isAbsolute(t)||!a.isAbsolute(n)?!1:e(a.resolve(t),a.resolve(n))}function O(e,t){if(!e||!a.isAbsolute(e))throw Error(`${t} requires a non-empty absolute basePath`);return a.resolve(e)}var Ie=class{strategyDeps;config;jobs=new Map;#e=!1;resolvedBasePath;constructor(e,t){this.strategyDeps=e,this.config=t,this.resolvedBasePath=O(t.basePath,`ClientBinaryJobRunner`)}startJob(e,t,n,r,i,a,o){let s={...e,status:`running`};return this.jobs.set(e.jobId,s),this.runJob(s,t,n,r,i,a,o),e.jobId}cancelAll(){this.#e=!0,this.jobs.clear()}safeOnProgress(e,t){try{e(t)}catch{}}emitProgressIfActive(e,t){return this.#e?!1:(this.safeOnProgress(e,t),!this.#e)}async runJob(e,n,r,i,a,o,s){try{let c=this.resolveTargetDir(e.clientId,e.version),l=t(n,this.strategyDeps);if(l===void 0)throw Error(`Unsupported managed install descriptor type: ${n.type}`);let u=await this.executeStrategy(e,l,c,r);if(this.#e)return;let d;try{if(d=await this.runPostInstall(e,u.installPath,o,r),this.#e)return;s!==void 0&&await this.runVersionVerification(e,u.installPath,s,r)}catch(e){throw this.#e||await this.cleanupStagedArtifact(u.installPath),e}if(this.#e)return;await this.finalizeSuccess(e,u,d,r,i,a)}catch(t){if(this.#e)return;let n=t instanceof Error?t.message:String(t),r=t instanceof Error&&`code`in t?String(t.code):void 0;try{await a({jobId:e.jobId,clientId:e.clientId,version:e.version,strategy:e.strategy,status:`error`,activeVersion:null,error:{message:n,...r===void 0?{}:{code:r}}})}catch{}}finally{this.jobs.delete(e.jobId)}}async finalizeSuccess(e,t,n,r,i,a){if(!(e.makeActive&&!this.emitProgressIfActive(r,{jobId:e.jobId,clientId:e.clientId,version:t.version,strategy:e.strategy,stage:`activating`,progress:null,installPath:t.installPath,activeAfterCompletion:!0}))&&!this.#e){try{await i({jobId:e.jobId,clientId:e.clientId,version:t.version,installPath:t.installPath,makeActive:e.makeActive,reason:e.reason})}catch(e){try{await this.strategyDeps.removeDirectory(t.installPath)}catch{}throw e}if(!this.#e)try{await a({jobId:e.jobId,clientId:e.clientId,version:t.version,strategy:e.strategy,status:`success`,installPath:t.installPath,activeVersion:e.makeActive?t.version:null,...n===void 0?{}:{metadata:{postInstall:n}}})}catch{}}}async cleanupStagedArtifact(e){try{await this.strategyDeps.removeDirectory(e)}catch{}}async executeStrategy(e,t,n,r){try{return await t.execute(e.version,n,(t,i)=>{this.emitProgressIfActive(r,{jobId:e.jobId,clientId:e.clientId,version:e.version,strategy:e.strategy,stage:t,progress:i,installPath:t===`installing`?n:void 0,activeAfterCompletion:e.makeActive})})}catch(e){throw this.#e||await this.cleanupStagedArtifact(n),e}}async runPostInstall(e,t,n,r){if(n===void 0)return;let i=this.resolvePostInstallHandler(n),a=this.buildProgressPayload(e,`post-install`,null,t,{kind:n.kind});if(!this.emitProgressIfActive(r,a))return;let o=await i({clientId:e.clientId,version:e.version,installPath:t,descriptor:n});return this.emitProgressIfActive(r,this.buildProgressPayload(e,`post-install`,100,t,{kind:n.kind,...o??{}})),o??void 0}async runVersionVerification(e,t,r,i){this.emitProgressIfActive(i,this.buildProgressPayload(e,`verifying`,null,t,{kind:`version-command`}))&&(this.#e||await n(this.strategyDeps.exec,t,r,e.version))}resolvePostInstallHandler(e){let t=this.config.postInstallHandlers?.get(e.kind);if(t===void 0)throw Error(`No post-install handler registered for kind "${e.kind}"`);return t}buildProgressPayload(e,t,n,r,i){return{jobId:e.jobId,clientId:e.clientId,version:e.version,strategy:e.strategy,stage:t,progress:n,installPath:r,activeAfterCompletion:e.makeActive,...i===void 0?{}:{metadata:i}}}resolveTargetDir(e,t){let n=a.resolve(this.resolvedBasePath,e,t);if(!D(this.resolvedBasePath,n))throw Error(`Invalid install target path for client "${e}" and version "${t}"`);return n}};const k=r.object({id:r.string(),clientId:r.string(),version:r.string(),installPath:r.string(),installedAt:r.number().int().nonnegative(),createdAt:r.number().int().nonnegative()}),A=r.object({clientId:r.string(),activeVersion:r.string().nullable(),updatedAt:r.number().int().nonnegative()}),j=r.object({previousActiveVersion:r.string().nullable(),activeVersion:r.string().nullable()}),M=c(`client-binary:storage`,{insertVersion:{request:k,response:r.object({success:r.boolean()})},recordInstalledVersion:{request:r.object({versionRecord:k,makeActive:r.boolean(),updatedAt:r.number().int().nonnegative()}),response:j},listVersions:{request:r.object({clientId:r.string()}),response:r.object({versions:r.array(k)})},getSnapshot:{request:r.object({clientId:r.string()}),response:r.object({state:A.nullable(),versions:r.array(k)})},loadAllVersions:{request:r.object({}),response:r.object({versions:r.array(k)})},upsertState:{request:A,response:r.object({success:r.boolean()})},setActiveVersion:{request:r.object({clientId:r.string(),activeVersion:r.string().nullable(),updatedAt:r.number().int().nonnegative()}),response:j},getState:{request:r.object({clientId:r.string()}),response:r.object({state:A.nullable()})},loadAllState:{request:r.object({}),response:r.object({states:r.array(A)})},loadSnapshot:{request:r.object({}),response:r.object({states:r.array(A),versions:r.array(k)})},removeVersionAndClearActive:{request:r.object({clientId:r.string(),version:r.string(),updatedAt:r.number().int().nonnegative()}),response:j.extend({removedVersion:r.string().nullable()})}}),N=M.subjects;var P=class{definitions=new Map;constructor(e=[]){for(let t of e)this.registerUnique(t)}getDefinition(e){return this.definitions.get(e)}listDefinitions(){return[...this.definitions.values()]}register(e){this.definitions.set(e.id,e)}registerUnique(e){if(this.definitions.has(e.id))throw Error(`ClientDefinitionRegistry: duplicate client definition id '${e.id}'`);this.definitions.set(e.id,e)}};const Le=process.env.MAKAIO_SKIP_CLIENT_VERSION_CHECK===`1`;function F(e,t,n,r,i){if(n===null){if(f(r))return;if(Le){console.warn(`[SKIP_VERSION_CHECK] ${e}: ${i} for client '${t}' did not report a version; requires ${r}`);return}throw Error(`${e}: ${i} for client '${t}' did not report a version; requires ${r}`)}if(!p(n,r)){if(Le){console.warn(`[SKIP_VERSION_CHECK] ${e}: ${i} ${n} for client '${t}' does not satisfy ${r} — check bypassed`);return}throw Error(`${e}: ${i} ${n} for client '${t}' does not satisfy ${r}`)}}var Re=class{bus;resolvedBasePath;resolvedConfigBasePath;definitionLookup;resolutionPolicy;constructor(e){this.bus=e.bus,this.resolvedBasePath=e.resolvedBasePath,this.resolvedConfigBasePath=e.resolvedConfigBasePath,this.definitionLookup=e.definitionLookup,this.resolutionPolicy=e.resolutionPolicy??`managed-first`}async resolve(e){let t=this.definitionLookup.getDefinition(e);if(t===void 0)throw Error(`client.resolveBinary: no definition registered for client '${e}'`);if(this.resolutionPolicy===`managed-first`){let{state:n,versions:r}=await this.bus.request(N.getSnapshot,{clientId:e}),i=n?.activeVersion??null;if(i!==null)return this.buildManagedContext(e,i,t,r)}return this.buildGlobalContext(e,t)}isInstallPathWithinBase(e){return D(this.resolvedBasePath,e)}async isExpectedInstallPath(e,t,n){if(!a.isAbsolute(e)||!this.isInstallPathWithinBase(e))return!1;let r=a.resolve(this.resolvedBasePath,t,n);if(!this.isInstallPathWithinBase(r))return!1;try{let[t,n,a]=await Promise.all([i.realpath(this.resolvedBasePath),i.realpath(r),i.realpath(e)]);return D(t,n)?a===n||D(n,a):!1}catch{return!1}}async buildManagedContext(e,t,n,r){let i=r.find(e=>e.version===t);if(i===void 0)throw Error(`client.resolveBinary: active version '${t}' is not installed for client '${e}'`);if(!await this.isExpectedInstallPath(i.installPath,e,t))throw Error(`client.resolveBinary: stored installPath "${i.installPath}" does not match the expected install directory for ${e}@${t}`);n.binary!==void 0&&F(`client.resolveBinary`,e,t,n.binary.supportedVersions,`managed binary version`);let o=I(n.versionCommand)?.[0];if(o===void 0)throw Error(`client.resolveBinary: definition for '${e}' has no versionCommand — cannot derive binary path`);let s=a.resolve(i.installPath,o),c=a.resolve(i.installPath);if(!s.startsWith(c+a.sep)&&s!==c)throw Error(`client.resolveBinary: versionCommand for '${e}' resolves outside the install directory`);let{configDir:l,env:u}=this.resolveIsolatedConfig(e,n);return{binaryPath:s,env:u,configDir:l,source:`managed`,version:t}}async buildGlobalContext(e,t){if(!t.binary?.name)throw Error(`client.resolveBinary: definition for '${e}' has no binary.name — cannot scan PATH`);let n={clientId:e,binaryName:t.binary.name,supportedVersions:t.binary.supportedVersions},{results:r}=await this.bus.request(T.scan,{targets:[n]}),i=r.find(t=>t.clientId===e);if(i===void 0||!i.found)throw new we(e);let o=i.version??null;F(`client.resolveBinary`,e,o,t.binary.supportedVersions,`detected global binary version`);let s=this.resolveGlobalConfigDir(t),c=i.binaryPath??null;if(c!==null&&!a.isAbsolute(c))throw Error(`client.resolveBinary: detected global binary path for '${e}' is not absolute`);return{binaryPath:c,env:{},configDir:s,source:`global`,version:o}}resolveIsolatedConfig(e,t){let{configIsolation:n}=t;if(n===void 0)return{configDir:null,env:{}};let r=a.join(this.resolvedConfigBasePath,e,`config`),i=n.pathKind===`file`?a.join(r,a.basename(n.defaultPath)):r;return{configDir:r,env:{[n.envVar]:i}}}resolveGlobalConfigDir(e){let{configIsolation:t}=e;if(t===void 0)return null;let n=t.defaultPath,r=n===`~`?ve.homedir():n.startsWith(`~/`)?a.join(ve.homedir(),n.slice(2)):n,i=t.pathKind===`file`?a.dirname(r):r;if(!a.isAbsolute(i))throw Error(`ConfigIsolation defaultPath for '${e.id}' resolved to non-absolute path '${r}'; use an absolute or tilde-expanded path (e.g. '~/.myapp')`);return i}};function I(e){if(e===void 0)return;let{executable:t,args:n}=e,r=typeof t==`string`?t:t[process.platform]??t.default;if(typeof r!=`string`||r.trim()===``)throw Error(`client.resolveBinary: versionCommand executable is missing for this platform`);return[r,...n]}async function ze(e,t){let{versions:n,states:r}=await e.request(N.loadSnapshot,{}),i=Map.groupBy(n,e=>e.clientId),a=new Map;for(let e of r)a.set(e.clientId,e.activeVersion);let o=new Map;for(let e of t.listDefinitions())e.managedInstall!==void 0&&o.set(e.id,e.managedInstall);return[...new Set(o.keys())].map(e=>{let t=o.get(e);if(t===void 0)throw Error(`assembleBinaryList: missing descriptor for client '${e}'`);let n=a.get(e)??null,r=(i.get(e)??[]).map(e=>({version:e.version,installPath:e.installPath,installedAt:e.installedAt,isActive:e.version===n})),s=t.version;return{clientId:e,installedVersions:r,activeVersion:n,pinnedVersion:s,updateAvailable:n!==null&&n!==s}})}var Be=class extends h{config;definitionLookup;versionResolver;jobRunner;strategyDeps;resolvedBasePath;resolvedConfigBasePath;resolver;pendingClients=new Set;constructor(e=m,t,n=new P([]),r=Pe()){super(e),this.config=t,this.definitionLookup=n,this.resolvedBasePath=O(t.basePath,`ClientBinaryManager`),this.resolvedConfigBasePath=O(t.configBasePath,`ClientBinaryManager configBasePath`),this.strategyDeps=r,this.versionResolver=new Fe,this.jobRunner=new Ie(r,t),this.resolver=new Re({bus:e,resolvedBasePath:this.resolvedBasePath,resolvedConfigBasePath:this.resolvedConfigBasePath,definitionLookup:n,...t.resolutionPolicy!==void 0&&{resolutionPolicy:t.resolutionPolicy}})}async onInit(){this.registerHandler(T.list,async e=>{let t=await this.handleList();e.setResult({clients:t})}),this.registerHandler(T.install,async e=>{let t=await this.handleInstall(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(T.update,async e=>{let t=await this.handleUpdate(e.payload.clientId);e.setResult(t)}),this.registerHandler(T.setActive,async e=>{let t=await this.handleSetActive(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(T.uninstall,async e=>{let t=await this.handleUninstall(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(T.resolveBinary,async e=>{let t=await this.resolver.resolve(e.payload.clientId);e.setResult(t)})}onDestroy(){this.jobRunner.cancelAll(),this.pendingClients.clear()}async handleList(){return ze(this.bus,this.definitionLookup)}async handleInstall(e,t){let{definition:n,descriptor:r}=this.requireManagedDefinition(e,`client.install`);return this.withClientLock(e,async()=>{let{version:i}=this.versionResolver.resolveInstallVersion(e,r,t);return n.binary!==void 0&&F(`client.install`,e,i,n.binary.supportedVersions,t===void 0?`resolved binary version`:`requested binary version`),{jobId:this.startInstallJob(e,i,r,n,!1,`install`),requestedVersion:t??null,resolvedVersion:i}})}async handleUpdate(e){let{definition:t,descriptor:n}=this.requireManagedDefinition(e,`client.update`);return this.withClientLock(e,async()=>{let{version:r}=this.versionResolver.resolveInstallVersion(e,n);return t.binary!==void 0&&F(`client.update`,e,r,t.binary.supportedVersions,`resolved binary version`),{jobId:this.startInstallJob(e,r,n,t,!0,`update`),resolvedVersion:r}})}async handleSetActive(e,t){if(this.pendingClients.has(e))throw Error(`Operation already in progress for client "${e}"`);this.pendingClients.add(e);try{let{versions:r}=await this.bus.request(N.listVersions,{clientId:e}),i=r.find(e=>e.version===t);if(i===void 0)throw Error(`client.setActive: version '${t}' is not installed for client '${e}'`);let a=this.definitionLookup.getDefinition(e);if(a===void 0)throw Error(`client.setActive: no definition registered for client '${e}'`);a.binary!==void 0&&F(`client.setActive`,e,t,a.binary.supportedVersions,`requested binary version`);let o=I(a.versionCommand);if(o===void 0)throw Error(`client.setActive: no versionCommand registered for client '${e}'`);if(!await this.resolver.isExpectedInstallPath(i.installPath,e,t))throw Error(`client.setActive: stored installPath "${i.installPath}" does not match the expected install directory for ${e}@${t}`);return await n(this.strategyDeps.exec,i.installPath,o,t),await this.patchActiveVersion(e,t,`set-active`),{clientId:e,activeVersion:t}}finally{this.pendingClients.delete(e)}}async handleUninstall(e,t){if(this.pendingClients.has(e))throw Error(`Operation already in progress for client "${e}"`);this.pendingClients.add(e);try{let{versions:n}=await this.bus.request(N.listVersions,{clientId:e}),r=n.find(e=>e.version===t);if(r===void 0)throw Error(`client.uninstall: version '${t}' is not installed for client '${e}'`);let{removedVersion:i,previousActiveVersion:o,activeVersion:s}=await this.bus.request(N.removeVersionAndClearActive,{clientId:e,version:t,updatedAt:Date.now()});if(i===null)throw Error(`client.uninstall: failed to delete version '${t}' for client '${e}'`);let c=r.installPath,l=typeof c==`string`&&c.length>0?a.resolve(c):null;if(typeof c!=`string`||c.length===0||l===null||!a.isAbsolute(c)||!await this.resolver.isExpectedInstallPath(l,e,t)?console.warn(`[ClientBinaryManager] Skipping removeDirectory: stored installPath "${String(c)}" does not match the expected install directory for ${e}@${t}`):await this.strategyDeps.removeDirectory(l).catch(n=>{console.warn(`[ClientBinaryManager] Failed to remove binary directory "${l}" for ${e}@${t}:`,n)}),o!==null&&s===null)try{await this.bus.emit(T.version.changed,{clientId:e,previousActiveVersion:o,activeVersion:null,reason:`uninstall`})}catch(e){console.warn(`[ClientBinaryManager] Failed to emit client.version.changed:`,e)}return{clientId:e,removedVersion:t,activeVersion:s}}finally{this.pendingClients.delete(e)}}async patchActiveVersion(e,t,n){let r=(await this.bus.request(N.setActiveVersion,{clientId:e,activeVersion:t,updatedAt:Date.now()})).previousActiveVersion;if(r!==t)try{await this.bus.emit(T.version.changed,{clientId:e,previousActiveVersion:r,activeVersion:t,reason:n})}catch(e){console.warn(`[ClientBinaryManager] Failed to emit client.version.changed:`,e)}return r}requireManagedDefinition(e,t){let n=this.definitionLookup.getDefinition(e);if(n===void 0)throw Error(`${t}: no definition registered for client '${e}'`);let r=n.managedInstall;if(r===void 0)throw Error(`${t}: client '${e}' does not declare a managed install descriptor`);return{definition:n,descriptor:r}}async withClientLock(e,t){if(this.pendingClients.has(e))throw Error(`Operation already in progress for client "${e}"`);this.pendingClients.add(e);try{return await t()}catch(t){throw this.pendingClients.delete(e),t}}startInstallJob(e,t,n,r,i,a){let o={jobId:crypto.randomUUID(),clientId:e,version:t,strategy:n.type,status:`pending`,makeActive:i,reason:a};return this.jobRunner.startJob(o,n,e=>{this.bus.emit(T.installJob.progress,e).catch(e=>{console.warn(`[ClientBinaryManager] Failed to emit client.installJob.progress:`,e)})},this.makeCompletionCallback(),async e=>{this.pendingClients.delete(e.clientId),await this.bus.emit(T.installJob.completed,e).catch(e=>{console.warn(`[ClientBinaryManager] Failed to emit client.installJob.completed:`,e)})},r.postInstall,I(r.versionCommand)),o.jobId}makeCompletionCallback(){return async({clientId:e,version:t,installPath:n,makeActive:r,reason:i})=>{let a=Date.now();await E(this.bus,{clientId:e,configDir:this.resolveManagedConfigDir(e),phase:`managed-install`,binaryVersion:t});let o=await this.bus.request(N.recordInstalledVersion,{versionRecord:{id:crypto.randomUUID(),clientId:e,version:t,installPath:n,installedAt:a,createdAt:a},makeActive:r,updatedAt:a});if(r&&o.previousActiveVersion!==o.activeVersion)try{await this.bus.emit(T.version.changed,{clientId:e,previousActiveVersion:o.previousActiveVersion,activeVersion:o.activeVersion,reason:i})}catch(e){console.warn(`[ClientBinaryManager] Failed to emit client.version.changed:`,e)}}}resolveManagedConfigDir(e){return a.join(this.resolvedConfigBasePath,e,`config`)}};function L(e,t){return`${e}\0${t}`}function R(e,t){return`${e}\0${t}`}var Ve=class{records=new Map;bySupervisorSessionId=new Map;byPidClientId=new Map;byAdapterSessionClientId=new Map;supervisorSessionCandidates=new Map;pidClientCandidates=new Map;adapterSessionClientCandidates=new Map;adapterOwnedSessions=new Set;set(e,t){let n=t??this.records.get(e.clientRuntimeId);n&&this.removeIndexEntries(n),this.records.set(e.clientRuntimeId,e),this.addIndexEntries(e,!0)}setFromStorage(e,t,n){let r=this.records.get(e.clientRuntimeId);r&&this.removeIndexEntries(r),this.records.set(e.clientRuntimeId,e);let i=t-e.updatedAt<=n;this.addIndexEntries(e,i)}delete(e){let t=this.records.get(e);t&&(this.removeIndexEntries(t),t.adapterSessionId!==void 0&&this.adapterOwnedSessions.delete(R(t.adapterSessionId,t.clientId)),this.records.delete(e))}get(e){return this.records.get(e)}findByEvidence(e,t,n,r){if(e!==void 0){let t=this.bySupervisorSessionId.get(e);if(t!==void 0)return this.records.get(t)}if(t!==void 0){let n=this.byPidClientId.get(L(t,r));if(n!==void 0){let t=this.records.get(n);if(t!==void 0)return this.canMatchFallbackEvidence(t,e)?t:void 0}}if(n!==void 0){let t=this.byAdapterSessionClientId.get(R(n,r));if(t!==void 0){let n=this.records.get(t);if(n!==void 0)return this.canMatchFallbackEvidence(n,e)?n:void 0}}}values(){return this.records.values()}clear(){this.records.clear(),this.bySupervisorSessionId.clear(),this.byPidClientId.clear(),this.byAdapterSessionClientId.clear(),this.supervisorSessionCandidates.clear(),this.pidClientCandidates.clear(),this.adapterSessionClientCandidates.clear(),this.adapterOwnedSessions.clear()}markAdapterOwned(e,t){this.adapterOwnedSessions.add(R(e,t))}hasAdapterSession(e,t){return this.adapterOwnedSessions.has(R(e,t))}get size(){return this.records.size}addIndexEntries(e,t){e.supervisorSessionId!==void 0&&this.setIndexEntry(this.bySupervisorSessionId,this.supervisorSessionCandidates,e.supervisorSessionId,e),t&&(e.pid!==void 0&&this.setIndexEntry(this.byPidClientId,this.pidClientCandidates,L(e.pid,e.clientId),e),e.adapterSessionId!==void 0&&this.setIndexEntry(this.byAdapterSessionClientId,this.adapterSessionClientCandidates,R(e.adapterSessionId,e.clientId),e))}removeIndexEntries(e){e.supervisorSessionId!==void 0&&this.deleteIndexEntry(this.bySupervisorSessionId,this.supervisorSessionCandidates,e.supervisorSessionId,e.clientRuntimeId),e.pid!==void 0&&this.deleteIndexEntry(this.byPidClientId,this.pidClientCandidates,L(e.pid,e.clientId),e.clientRuntimeId),e.adapterSessionId!==void 0&&this.deleteIndexEntry(this.byAdapterSessionClientId,this.adapterSessionClientCandidates,R(e.adapterSessionId,e.clientId),e.clientRuntimeId)}canMatchFallbackEvidence(e,t){return t===void 0||e.supervisorSessionId===void 0||e.supervisorSessionId===t}deleteIndexEntry(e,t,n,r){let i=t.get(n);if(i?.delete(r)&&(i.size===0&&t.delete(n),e.get(n)===r)){let t=this.findBestIndexOwner(i);t===void 0?e.delete(n):e.set(n,t.clientRuntimeId)}}setIndexEntry(e,t,n,r){let i=t.get(n);i===void 0&&(i=new Set,t.set(n,i)),i.add(r.clientRuntimeId);let a=e.get(n),o=a===void 0||!i.has(a)?void 0:this.records.get(a);(o===void 0||this.isNewerIndexOwner(r,o))&&e.set(n,r.clientRuntimeId)}findBestIndexOwner(e){let t;for(let n of e){let e=this.records.get(n);e!==void 0&&(t===void 0||this.isNewerIndexOwner(e,t))&&(t=e)}return t}isNewerIndexOwner(e,t){return e.createdAt>t.createdAt||e.createdAt===t.createdAt&&e.clientRuntimeId>t.clientRuntimeId}};const z=[`observed`,`started`],B=r.object({clientRuntimeId:r.string(),clientId:r.string(),status:r.enum(z),supervisorSessionId:r.string().optional(),pid:r.number().int().positive().optional(),parentPid:r.number().int().positive().optional(),adapterSessionId:r.string().optional(),sessionId:r.string().optional(),cwd:r.string().optional(),argv:r.array(r.string()).optional(),metadata:r.record(r.string(),r.unknown()).optional(),observedAt:r.number().int().nonnegative(),createdAt:r.number().int().nonnegative(),updatedAt:r.number().int().nonnegative()}),He=c(`client-runtime:storage`,{upsert:{request:B,response:r.object({success:r.boolean()})},loadAll:{request:r.object({}),response:r.object({records:r.array(B)})}}),V=He.subjects;function Ue(e){return e.supervisorSessionId!==void 0||e.adapterSessionId!==void 0}function H(e){return{...e,argv:e.argv===void 0?void 0:[...e.argv],metadata:e.metadata===void 0?void 0:structuredClone(e.metadata)}}function We(e){return Math.max(Date.now(),e+1)}function Ge(e,t){if(t.supervisorSessionId!==void 0&&t.supervisorSessionId===e.supervisorSessionId&&t.adapterSessionId!==void 0&&e.adapterSessionId!==void 0&&t.adapterSessionId!==e.adapterSessionId){if(Ke(e,t))return;throw Error(`client.runtime.observe: adapterSessionId '${t.adapterSessionId}' conflicts with the existing adapterSessionId '${e.adapterSessionId}' for supervisorSessionId '${t.supervisorSessionId}'`)}}function Ke(e,t){return t.adapterSessionTransition===`root-clear`&&t.clientId===`codex`&&t.source.layer===`client-hook`&&t.source.producer===`codex-client-session-service`&&t.supervisorSessionId!==void 0&&t.supervisorSessionId===e.supervisorSessionId&&t.adapterSessionId!==void 0&&t.adapterSessionId!==e.adapterSessionId}function qe(e,t){let n=!1;return t.supervisorSessionId!==void 0&&e.supervisorSessionId!==t.supervisorSessionId&&(e.supervisorSessionId=t.supervisorSessionId,n=!0),t.pid!==void 0&&e.pid!==t.pid&&(e.pid=t.pid,n=!0),t.parentPid!==void 0&&e.parentPid!==t.parentPid&&(e.parentPid=t.parentPid,n=!0),t.adapterSessionId!==void 0&&e.adapterSessionId!==t.adapterSessionId&&(e.adapterSessionId=t.adapterSessionId,n=!0),t.sessionId!==void 0&&e.sessionId!==t.sessionId&&(e.sessionId=t.sessionId,n=!0),t.cwd!==void 0&&e.cwd!==t.cwd&&(e.cwd=t.cwd,n=!0),t.argv!==void 0&&JSON.stringify(e.argv)!==JSON.stringify(t.argv)&&(e.argv=[...t.argv],n=!0),t.metadata!==void 0&&JSON.stringify(e.metadata)!==JSON.stringify(t.metadata)&&(e.metadata=structuredClone(t.metadata),n=!0),n}function Je(e,t){e.adapterSessionId=t.adapterSessionId,e.sessionId=void 0}var Ye=class{runtimeMap=new Ve;mutationLane=new s;bus;latestCreatedAt=0;constructor(e){this.bus=e}async loadFromStorage(){await this.mutationLane.run(()=>this.loadFromStorageInLane())}async loadFromStorageInLane(){if(!this.bus)return;let e=await this.bus.requestOptional(V.loadAll,{});if(!e.handled)return;let t=Date.now();for(let n of e.data.records)this.runtimeMap.setFromStorage(H(n),t,864e5),this.latestCreatedAt=Math.max(this.latestCreatedAt,n.createdAt)}async upsertRuntime(e){return this.mutationLane.run(()=>this.upsertRuntimeInLane(e))}async upsertRuntimeInLane(e){let t=this.runtimeMap.findByEvidence(e.supervisorSessionId,e.pid,e.adapterSessionId,e.clientId);if(t){let n=H(t);Ge(n,e);let r=Ke(n,e);r&&Je(n,e);let i=n.status===`observed`,a=i&&Ue(e),o=qe(n,e),s=i&&e.observedAt>n.observedAt;return a&&(n.status=`started`),(r||o||a||s)&&(n.updatedAt=We(n.updatedAt),s&&(n.observedAt=e.observedAt),await this.persistRecord(n),this.runtimeMap.set(n,t)),{clientRuntimeId:n.clientRuntimeId,created:!1,promoted:a,record:H(n)}}let n=this.nextCreatedAt(),r=o(),i=Ue(e)?`started`:`observed`,a={clientRuntimeId:r,clientId:e.clientId,status:i,supervisorSessionId:e.supervisorSessionId,pid:e.pid,parentPid:e.parentPid,adapterSessionId:e.adapterSessionId,sessionId:e.sessionId,cwd:e.cwd,argv:e.argv?[...e.argv]:void 0,metadata:e.metadata?structuredClone(e.metadata):void 0,observedAt:e.observedAt,createdAt:n,updatedAt:n};return await this.persistRecord(a),this.runtimeMap.set(a),{clientRuntimeId:r,created:!0,promoted:!1,record:H(a)}}getRuntime(e){let t=this.runtimeMap.get(e);return t?H(t):void 0}resolveBySupervisorSessionId(e,t){let n=this.runtimeMap.findByEvidence(t,void 0,void 0,e);return n===void 0||n.clientId!==e||n.supervisorSessionId!==t?null:{clientId:n.clientId,supervisorSessionId:n.supervisorSessionId,...n.adapterSessionId!==void 0&&{adapterSessionId:n.adapterSessionId},...n.sessionId!==void 0&&{sessionId:n.sessionId},updatedAt:n.updatedAt}}markAdapterOwned(e,t){this.runtimeMap.markAdapterOwned(e,t)}hasAdapterSession(e,t){return this.runtimeMap.hasAdapterSession(e,t)}async clear(){await this.mutationLane.run(async()=>{this.runtimeMap.clear()})}get size(){return this.runtimeMap.size}nextCreatedAt(){return this.latestCreatedAt=Math.max(Date.now(),this.latestCreatedAt+1),this.latestCreatedAt}async persistRecord(e){if(!this.bus)return;let t=await this.bus.requestOptional(V.upsert,H(e));if(t.handled&&!t.data.success)throw Error(`client runtime storage rejected persistence for '${e.clientRuntimeId}'`)}};const U=r.object({eventName:r.string(),receivedAt:r.number().int().finite().nonnegative().describe(`Unix epoch timestamp in milliseconds`),payload:r.record(r.string(),r.unknown()),metadata:r.record(r.string(),r.unknown()).optional()}),Xe=/^[a-z0-9-]+$/;function W(e,t=`canonicalizeClientId`){let n=e.trim().toLowerCase(),r=n.startsWith(`client:`)?n.slice(7):n;if(r.length===0)throw Error(`[${t}] clientId must be a non-empty string`);if(!Xe.test(r))throw Error(`[${t}] clientId must contain only lowercase letters, numbers, and hyphens after an optional client: prefix`);return r}function Ze(e){return{subject:`hook.received`,$meta:{namespace:`client:${W(e,`createRawClientHookReceivedSubject`)}`,isRequest:!1,local:!1,channel:!1}}}const Qe=5e3,$e=r.object({exitCode:r.number().int().min(0).max(255).default(0),stdout:r.string().default(``),stderr:r.string().default(``)}),et=Object.freeze({exitCode:0,stdout:``,stderr:``});function tt(e){return{subject:`hook.handle`,$meta:{namespace:`client:${W(e,`createRawClientHookHandleSubject`)}`,isRequest:!0,local:!1,channel:!1,hostLocalRequest:!0}}}function nt(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function rt(e,t){return nt(e[t])}function it(e){return{clientId:e.clientId,source:`adapter-derived`,observedAt:Date.now(),...e.sessionId!==void 0&&{sessionId:e.sessionId},...e.adapterSessionId!==void 0&&{adapterSessionId:e.adapterSessionId}}}function at(e){try{e().catch(ot)}catch(e){ot(e)}}function ot(e){(process.env.DEBUG||process.env.MAKAIO_DEBUG)&&console.debug(`[emitBestEffort] observed-semantics emission failed`,e)}function st(e,t){return{subject:t,$meta:{namespace:`client:${W(e,`createClientWiringSubjectDef`)}`,isRequest:!0,local:!1,channel:!1}}}function ct(e){return st(e,`wiring.list`)}const lt=r.string().min(1).refine(a.isAbsolute,{message:`projectDir must be an absolute path`}),ut=r.object({entries:r.array(ue)}),dt=r.object({applied:r.number().int().nonnegative(),skipped:r.number().int().nonnegative()}),ft=r.object({removed:r.number().int().nonnegative()}),pt=r.object({clientId:r.string().trim().min(1),entries:r.array(ue)});function mt(e){if(e!==void 0&&!a.isAbsolute(e))throw Error(`projectDir must be an absolute path, got: ${e}`)}var ht=class extends h{accountRegistry;runtimeRegistry;latestSnapshots=new Map;runtimeObserveRegistrationEpoch=0;activeIdentities=new Map;constructor(e=m,t=new Te,n=new Ye(e)){super(e),this.accountRegistry=t,this.runtimeRegistry=n}async onInit(){await this.runtimeRegistry.loadFromStorage(),this.registerHandler(T.account.observe,e=>this.handleAccountObserve(e)),this.registerHandler(T.usage.ingest,e=>this.handleUsageIngest(e)),this.registerHandler(T.scan,async e=>{let t=await this.scanClients(e.payload.targets);e.setResult({results:t})});let e=++this.runtimeObserveRegistrationEpoch;this.addCleanup(this.bus.on(T.runtime.observe,t=>this.handleRuntimeObserve(t,e))),this.registerHandler(T.runtime.resolveBySupervisorSessionId,e=>{e.setResult({runtime:this.runtimeRegistry.resolveBySupervisorSessionId(e.payload.clientId,e.payload.supervisorSessionId)})}),this.registerHandler(T.runtime.isAdapterManaged,e=>{let{adapterSessionId:t,clientId:n}=e.payload;e.setResult({managed:this.runtimeRegistry.hasAdapterSession(t,n)})}),this.registerHandler(T.wiring.list,async e=>{let t=await this.listWirings(e.payload);e.setResult({results:t})}),this.registerHandler(T.account.activate,e=>{this.activeIdentities.set(e.payload.clientId,{clientAccountId:e.payload.clientAccountId,identifiers:e.payload.identifiers,displayLabel:e.payload.displayLabel}),e.setResult({accepted:!0})}),this.registerHandler(T.account.getActive,e=>{let t=this.activeIdentities.get(e.payload.clientId);e.setResult({identity:t??null})})}async onDestroy(){this.runtimeObserveRegistrationEpoch+=1,await this.runtimeRegistry.clear(),this.latestSnapshots.clear(),this.activeIdentities.clear(),this.accountRegistry.clear()}getLatestSnapshot(e){return this.latestSnapshots.get(e)}async handleAccountObserve(e){let t=this.accountRegistry.upsertAccount({clientId:e.payload.clientId,identifiers:e.payload.identifiers,displayLabel:e.payload.displayLabel}),n=this.latestSnapshots.get(t.clientAccountId),r=vt(this.consolidateMergedSnapshots(t.clientAccountId,t.mergedAccountIds)??n,t.displayLabel);r&&this.latestSnapshots.set(t.clientAccountId,r),r&&(t.mergedAccountIds.length>0||r!==n)&&await this.bus.emit(T.usage.snapshot,r),e.setResult({clientAccountId:t.clientAccountId,displayLabel:t.displayLabel})}async handleUsageIngest(e){let t=this.accountRegistry.upsertAccount({clientId:e.payload.clientId,identifiers:e.payload.account.identifiers,displayLabel:e.payload.account.displayLabel});this.consolidateMergedSnapshots(t.clientAccountId,t.mergedAccountIds);let n=gt(t.clientAccountId,e.payload,t.displayLabel),r=vt(_t(this.latestSnapshots.get(t.clientAccountId),n),t.displayLabel);this.latestSnapshots.set(t.clientAccountId,r),await this.bus.emit(T.usage.snapshot,r),e.setResult({clientAccountId:t.clientAccountId,snapshot:r})}async handleRuntimeObserve(e,t){if(t!==this.runtimeObserveRegistrationEpoch||!this.initialized)throw Error(`client.runtime.observe: service is stopping`);let n=this.serviceLifecycleGeneration,{payload:r}=e;if(r.supervisorSessionId===void 0&&r.pid===void 0&&r.adapterSessionId===void 0)throw Error(`client.runtime.observe: at least one hard-evidence field is required (supervisorSessionId, pid, or adapterSessionId)`);let{record:i,...a}=await this.runtimeRegistry.upsertRuntime(r);if(!this.isCurrentLifecycle(n)){e.setResult({clientRuntimeId:a.clientRuntimeId,created:a.created,promoted:a.promoted});return}r.source.layer===`adapter`&&r.adapterSessionId!==void 0&&this.runtimeRegistry.markAdapterOwned(r.adapterSessionId,r.clientId),this.bus.emit(T.runtime.observed,{clientRuntimeId:i.clientRuntimeId,clientId:i.clientId,status:i.status,source:r.source,observedAt:r.observedAt,supervisorSessionId:i.supervisorSessionId,pid:i.pid,parentPid:i.parentPid,adapterSessionId:i.adapterSessionId,sessionId:i.sessionId,cwd:i.cwd,argv:i.argv,metadata:i.metadata,updatedAt:i.updatedAt}).catch(e=>{console.warn(`[ClientRuntimeService] Failed to emit client.runtime.observed:`,e)}),(a.created||a.promoted)&&this.isCurrentLifecycle(n)&&await this.bus.emit(T.runtime.started,{clientRuntimeId:i.clientRuntimeId,clientId:i.clientId,status:i.status,source:r.source,observedAt:r.observedAt,supervisorSessionId:i.supervisorSessionId,pid:i.pid,parentPid:i.parentPid,adapterSessionId:i.adapterSessionId,sessionId:i.sessionId,cwd:i.cwd,argv:i.argv,metadata:i.metadata}).catch(e=>{console.warn(`[ClientRuntimeService] Failed to emit client.runtime.started:`,e)}),e.setResult({clientRuntimeId:a.clientRuntimeId,created:a.created,promoted:a.promoted})}async scanClients(e){let t=e??await this.listScannableStoredClients();if(t.length===0)return[];let n=Array.from(new Set(t.map(e=>e.binaryName))),{results:r}=await this.bus.request(ye.scan,{binaries:n}),i=new Map(r.map(e=>[e.binary,e]));return t.map(e=>{let t=i.get(e.binaryName),n=t?.found??!1,r=t?.version,a=t?.path;return{clientId:e.clientId,found:n,...a!==void 0&&{binaryPath:a},version:r,warningMessage:bt(n,r,e.supportedVersions)}})}async listScannableStoredClients(){let{clients:e}=await this.bus.request(be.list,{});return e.filter(yt).map(e=>({clientId:e.id,binaryName:e.binary.name,supportedVersions:e.binary.supportedVersions}))}async listWirings(e){mt(e.projectDir);let{clients:t}=await this.bus.request(be.list,{}),n=e.clientId===void 0?void 0:W(e.clientId,`listWirings`),r=t.filter(e=>e.enabled).filter(e=>n===void 0||e.id===n),i=await Promise.allSettled(r.map(async t=>{let n=ct(t.id),r=await this.bus.requestOptional(n,{projectDir:e.projectDir,makaioCommand:e.makaioCommand});return r.handled?{clientId:t.id,entries:r.data.entries}:null}));for(let e=0;e<i.length;e++){let t=i[e];if(t.status===`rejected`){let n=t.reason instanceof Error?t.reason.message:String(t.reason);console.warn(`[ClientRuntimeService] wiring.list for ${r[e].id} failed: ${n}`)}}return i.filter(e=>e.status===`fulfilled`).map(e=>e.value).filter(e=>e!==null)}consolidateMergedSnapshots(e,t){let n=this.latestSnapshots.get(e),r=!1;for(let i of t){if(i===e)continue;let t=this.latestSnapshots.get(i);t&&(n===void 0||t.observedAt>n.observedAt)&&(n={...t,clientAccountId:e},r=!0),this.latestSnapshots.delete(i)}return n&&this.latestSnapshots.set(e,n),r?n:void 0}};function gt(e,t,n){return{clientAccountId:e,clientId:t.clientId,observedAt:t.observedAt,source:t.source,displayLabel:n,usage:{windows:t.usage.windows.map(e=>({...e}))},metadata:t.metadata?{...t.metadata}:void 0}}function _t(e,t){return e&&e.observedAt>t.observedAt?e:t}function vt(e,t){return!e||t===void 0||e.displayLabel===t?e:{...e,displayLabel:t}}function yt(e){return e.enabled&&e.binary!==void 0}function bt(e,t,n){if(e&&t!==void 0&&t!==`unknown`&&n!==void 0&&!p(t,n))return`Unsupported version: requires ${n}`}var xt=class extends h{constructor(e=m){super(e)}onInit(){this.registerHandler(T.config.prime,async e=>{e.setResult(await E(this.bus,e.payload))})}};const G=ce,K=r.string().trim().min(1),St=c(`client-profile:storage`,{get:{request:r.object({clientId:K,name:w}),response:r.object({record:G.nullable()})},getById:{request:r.object({id:K}),response:r.object({record:G.nullable()})},list:{request:r.object({clientId:K}),response:r.object({records:r.array(G)})},set:{request:G,response:r.object({success:r.boolean()})},delete:{request:r.object({clientId:K,name:w}),response:r.object({success:r.boolean()})},clearDefault:{request:r.object({clientId:K}),response:r.object({success:r.boolean()})},setDefault:{request:r.object({clientId:K,name:w}),response:r.object({record:G.nullable()})}}),q=St.subjects;function Ct(e,t,n){let r=a.resolve(e),i=a.resolve(t),o=a.relative(r,i);if(o!==``&&!o.startsWith(`..`)&&!a.isAbsolute(o))return i;throw Error(`${n} refused to access path outside client profile root`)}var wt=class extends h{clientsBasePath;constructor(e,t){super(e),this.clientsBasePath=t}async onInit(){this.registerCreateHandler(),this.registerListHandler(),this.registerGetHandler(),this.registerUpdateHandler(),this.registerDeleteHandler(),this.registerSetDefaultHandler()}registerCreateHandler(){this.registerHandler(T.profile.create,async e=>{let t=W(e.payload.clientId,`profile.create`),{name:n,description:r}=e.payload;if((await this.bus.request(q.get,{clientId:t,name:n})).record!==null)throw Error(`Profile '${n}' already exists for client '${t}'`);let s=a.join(this.clientsBasePath,t,`profiles`),c=Ct(s,a.join(s,n),`profile.create`);await i.mkdir(c,{recursive:!0});try{await E(this.bus,{clientId:t,configDir:c,phase:`profile-create`});let i=Date.now(),a={id:o(),clientId:t,name:n,description:r??null,configDir:c,isDefault:!1,createdAt:i,updatedAt:i};await this.bus.request(q.set,a),e.setResult({profile:a})}catch(e){throw await i.rm(c,{recursive:!0,force:!0}),e}})}registerListHandler(){this.registerHandler(T.profile.list,async e=>{let t=W(e.payload.clientId,`profile.list`),n=await this.bus.request(q.list,{clientId:t});e.setResult({profiles:n.records})})}registerGetHandler(){this.registerHandler(T.profile.get,async e=>{let t=W(e.payload.clientId,`profile.get`),n=await this.bus.request(q.get,{clientId:t,name:e.payload.name});e.setResult({profile:n.record})})}registerUpdateHandler(){this.registerHandler(T.profile.update,async e=>{let t=W(e.payload.clientId,`profile.update`),{name:n,description:r}=e.payload,i=await this.bus.request(q.get,{clientId:t,name:n});if(i.record===null)throw Error(`Profile '${n}' not found for client '${t}'`);let a={...i.record,description:r===void 0?i.record.description:r,updatedAt:Date.now()};await this.bus.request(q.set,a),e.setResult({profile:a})})}registerDeleteHandler(){this.registerHandler(T.profile.delete,async e=>{let t=W(e.payload.clientId,`profile.delete`),{name:n}=e.payload,r=await this.bus.request(q.get,{clientId:t,name:n});r.record!==null&&(Ct(a.join(this.clientsBasePath,t,`profiles`),r.record.configDir,`profile.delete`),await i.rm(r.record.configDir,{recursive:!0,force:!0}));let o=await this.bus.request(q.delete,{clientId:t,name:n});e.setResult({success:o.success})})}registerSetDefaultHandler(){this.registerHandler(T.profile.setDefault,async e=>{let t=W(e.payload.clientId,`profile.setDefault`),{name:n}=e.payload,r=await this.bus.request(q.setDefault,{clientId:t,name:n});if(r.record===null)throw Error(`Profile '${n}' not found for client '${t}'`);e.setResult({profile:r.record})})}};function Tt(e){return{subject:`sessionConfig.setup`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}function Et(e){return{subject:`sessionConfig.destroy`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}const Dt=()=>Date.now();function Ot(){let e=ve.platform();if(e===`darwin`||e===`linux`||e===`win32`)return e;throw Error(`client.sessionConfig does not support platform '${e}'`)}function kt(e,t,n){let r=fe.safeParse(t);if(!r.success)throw Error(`${n} received an unsafe lease ID`);let i=a.resolve(e),o=a.resolve(i,r.data),s=a.relative(i,o);if(s===``||!s.startsWith(`..`)&&!a.isAbsolute(s))return o;throw Error(`${n} refused to access path outside client sessions root`)}var At=class extends h{clientsBasePath;getNow;liveLeasesByClient=new Map;liveLeasesByOwner=new Map;constructor(e,t,n=Dt){super(e),this.clientsBasePath=t,this.getNow=n}async onInit(){this.registerCreateHandler(),this.registerHandler(T.sessionConfig.destroy,async e=>{let{clientId:t,leaseId:n}=e.payload,r=W(t,`sessionConfig.destroy`),i=this.resolveClientSessionDir(r,n,`sessionConfig.destroy`),a=this.getLiveLease(r,n);a===void 0?await this.destroyClientSessionDir(r,i):await this.releaseLiveLease(a),e.setResult({success:!0})}),this.registerHandler(T.sessionConfig.cleanup,async e=>{let{clientId:t}=e.payload,n=t===void 0?void 0:W(t,`sessionConfig.cleanup`),r=await this.cleanupOrphanedDirs(n);e.setResult({removed:r})}),this.registerHandler(_e.closed,async e=>{await this.destroyOwnedLeases(e.payload.sessionId)}),await this.cleanupOrphanedDirs()}registerCreateHandler(){this.registerHandler(T.sessionConfig.create,async e=>{let{clientId:t,leaseId:n,ownerSessionId:r,profileName:a,baseConfigDir:o,projectDir:s,configInheritance:c=`full`}=e.payload,l=W(t,`sessionConfig.create`),u=this.resolveClientSessionDir(l,n,`sessionConfig.create`),d=this.reserveLiveLease({clientId:l,leaseId:n,...r===void 0?{}:{ownerSessionId:r}});try{await i.mkdir(u,{recursive:!0});let t=await this.resolveBaseConfigDir(l,u,a,o),r=Tt(l),f=await this.bus.requestOptional(r,{sessionDir:u,baseConfigDir:t,projectDir:s,platform:Ot(),configInheritance:c}),p=f.handled?f.data.env??{}:{},m=f.handled?f.data.authMaterialized:!1;if(await E(this.bus,{clientId:l,configDir:u,phase:`session-create`,projectDir:s}),d.releaseRequested)throw Error(`Config lease '${n}' was released while it was being created`);e.setResult({sessionDir:u,env:p,authMaterialized:m}),d.state=`ready`}catch(e){try{await this.beginLeaseCleanup(d)}catch(t){throw AggregateError([e,t],`Client session config creation and rollback both failed`)}throw e}finally{d.settleCreation(),d.state===`released`&&this.untrackLiveLease(d)}})}async resolveBaseConfigDir(e,t,n,r){if(r!==void 0)return r;if(n!==void 0){let t=await this.bus.request(q.get,{clientId:e,name:n});if(t.record!==null)return t.record.configDir;throw Error(`Profile '${n}' not found for client '${e}'`)}let i=(await this.bus.request(q.list,{clientId:e})).records.find(e=>e.isDefault);return i?i.configDir:t}async cleanupOrphanedDirs(e){let t=[],n=this.getNow(),r=e===void 0?await this.listClientIds():[e];return await Promise.all(r.map(async e=>{let r=a.join(this.clientsBasePath,e,`sessions`),o=await i.readdir(r).catch(()=>[]);await Promise.all(o.map(async a=>{if(!fe.safeParse(a).success)return;let o=kt(r,a,`sessionConfig.cleanup`),s;try{s=await i.stat(o)}catch(e){let t=e.code;if(t===`ENOENT`||t===`ENOTDIR`)return;throw e}let c=s.birthtimeMs>0?s.birthtimeMs:s.ctimeMs;s.isDirectory()&&n-c>36e5&&!this.isLiveLease(e,a)&&(await this.destroyClientSessionDir(e,o),t.push(o))}))})),t}async destroyOwnedLeases(e){let t=[...this.liveLeasesByOwner.get(e)??[]],n=(await Promise.allSettled(t.map(async e=>{this.getLiveLease(e.clientId,e.leaseId)===e&&await this.releaseLiveLease(e)}))).flatMap(e=>e.status===`rejected`?[e.reason]:[]);if(n.length>0)throw AggregateError(n,`Failed to release config leases owned by session '${e}'`)}async destroyClientSessionDir(e,t){try{await this.bus.requestOptional(Et(e),{sessionDir:t,platform:Ot()})}finally{await i.rm(t,{recursive:!0,force:!0})}}isLiveLease(e,t){return this.getLiveLease(e,t)!==void 0}getLiveLease(e,t){return this.liveLeasesByClient.get(e)?.get(t)}resolveClientSessionDir(e,t,n){return kt(a.join(this.clientsBasePath,e,`sessions`),t,n)}reserveLiveLease(e){if(this.isLiveLease(e.clientId,e.leaseId))throw Error(`Config lease '${e.leaseId}' is already active for client '${e.clientId}'`);let t=Promise.withResolvers(),n={...e,state:`creating`,releaseRequested:!1,creationSettled:t.promise,settleCreation:()=>t.resolve()},r=this.liveLeasesByClient.get(n.clientId)??new Map;if(r.set(n.leaseId,n),this.liveLeasesByClient.set(n.clientId,r),n.ownerSessionId!==void 0){let e=this.liveLeasesByOwner.get(n.ownerSessionId)??new Set;e.add(n),this.liveLeasesByOwner.set(n.ownerSessionId,e)}return n}async releaseLiveLease(e){if(this.getLiveLease(e.clientId,e.leaseId)!==e){e.releasePromise!==void 0&&await e.releasePromise;return}if(e.releaseRequested=!0,e.state===`creating`){await e.creationSettled,e.releasePromise!==void 0&&await e.releasePromise;return}await this.beginLeaseCleanup(e)}beginLeaseCleanup(e){if(e.releasePromise!==void 0)return e.releasePromise;if(this.getLiveLease(e.clientId,e.leaseId)!==e)return Promise.resolve();let t=e.state===`creating`;e.state=`releasing`;let n=this.resolveClientSessionDir(e.clientId,e.leaseId,`sessionConfig.release`);return e.releasePromise=this.destroyClientSessionDir(e.clientId,n).finally(()=>{e.state=`released`,t||this.untrackLiveLease(e)}),e.releasePromise}untrackLiveLease(e){let t=this.liveLeasesByClient.get(e.clientId);if(t?.get(e.leaseId)===e&&(t.delete(e.leaseId),t.size===0&&this.liveLeasesByClient.delete(e.clientId),e.ownerSessionId!==void 0)){let t=this.liveLeasesByOwner.get(e.ownerSessionId);t?.delete(e),t?.size===0&&this.liveLeasesByOwner.delete(e.ownerSessionId)}}async listClientIds(){return(await i.readdir(this.clientsBasePath,{withFileTypes:!0}).catch(()=>[])).filter(e=>e.isDirectory()).map(e=>e.name)}},jt=class extends h{store=new Map;constructor(e){super(e)}record(e,t){let{clientId:n,adapterSessionId:r,agentId:i}=e,a=this.buildKey(n,r,i);if(this.store.get(a)!==void 0)this.store.delete(a);else if(this.store.size>=1e3){let e=this.store.keys().next().value;e!==void 0&&this.store.delete(e)}this.store.set(a,{token:t,lastActivity:Date.now()})}onInit(){this.registerHandler(T.session.token.get,e=>{let{clientId:t,adapterSessionId:n,agentId:r}=e.payload,i=this.buildKey(t,n,r),a=this.store.get(i);a!==void 0&&(this.store.delete(i),this.store.set(i,{token:a.token,lastActivity:Date.now()})),e.setResult({token:a?.token??null})});let e=setInterval(()=>{let e=Date.now()-864e5;for(let[t,n]of this.store)n.lastActivity<e&&this.store.delete(t)},3e5);e.unref(),this.addCleanup(()=>clearInterval(e))}onDestroy(){this.store.clear()}buildKey(e,t,n){let r=`${e}\n${t}`;return n===void 0?r:`${r}\n${n}`}};const Mt=new Set([`hook.received`,`hook.handle`]);function Nt(e,t){return m.registerNamespace(c(`client:${e}`,{"hook.received":U,"hook.handle":l({request:U,response:$e}),...t})).subjects}function Pt(e,t){let n=Object.keys(t).filter(e=>Mt.has(e));if(n.length===0)return;let r=n.join(`, `);throw Error([`[createClientNamespace] additionalSchemas for client:${e}`,`cannot override reserved shared hook subjects: ${r}`].join(` `))}function Ft(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||!(e in n))return!1;n=n[e]}return!0}function It(e,t,n){let r=Object.keys(n).filter(e=>!Ft(t,e));if(r.length!==0)throw Error(`[createClientNamespace] client:${e} was already registered without required subjects: ${r.join(`, `)}`)}function Lt(e,t){let n=W(e,`createClientNamespace`),r=t??{};Pt(n,r);let i=Nt(n,r);return It(n,i,r),{namespaceDomain:`client:${n}`,subjects:i}}const Rt=v(`client_runtimes`,e=>({id:e.text(`id`).primaryKey(),clientId:e.text(`client_id`).notNull(),status:e.text(`status`).notNull(),supervisorSessionId:e.text(`supervisor_session_id`),pid:e.int4(`pid`),parentPid:e.int4(`parent_pid`),adapterSessionId:e.text(`adapter_session_id`),sessionId:e.text(`session_id`),cwd:e.text(`cwd`),argv:e.jsonCol(`argv`),metadata:e.jsonCol(`metadata`),observedAt:e.epochMs(`observed_at`).notNull(),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()}),{sqlite:e=>[g(`idx_client_runtimes_supervisor_session_id`).on(e.supervisorSessionId),g(`idx_client_runtimes_pid_client_id`).on(e.pid,e.clientId),g(`idx_client_runtimes_adapter_session_id_client_id`).on(e.adapterSessionId,e.clientId)],postgres:e=>[ne(`idx_client_runtimes_supervisor_session_id`).on(e.supervisorSessionId),ne(`idx_client_runtimes_pid_client_id`).on(e.pid,e.clientId),ne(`idx_client_runtimes_adapter_session_id_client_id`).on(e.adapterSessionId,e.clientId)]}),zt=Rt.sqlite,Bt=Rt.postgres,Vt=_({clientRuntimes:zt},{clientRuntimes:Bt}),Ht=new Set(z);function Ut(e){if(!Ht.has(e.status))throw Error(`Unknown ClientRuntimeStatus in DB: '${e.status}'`);return{clientRuntimeId:e.id,clientId:e.clientId,status:e.status,supervisorSessionId:e.supervisorSessionId??void 0,pid:e.pid??void 0,parentPid:e.parentPid??void 0,adapterSessionId:e.adapterSessionId??void 0,sessionId:e.sessionId??void 0,cwd:e.cwd??void 0,argv:e.argv??void 0,metadata:e.metadata??void 0,observedAt:e.observedAt,createdAt:e.createdAt,updatedAt:e.updatedAt}}function Wt(e,t){let{clientRuntimes:n}=b(t,Vt),r=e.on(V.upsert,async e=>{let r=e.payload,i={clientId:r.clientId,status:r.status,supervisorSessionId:r.supervisorSessionId??null,pid:r.pid??null,parentPid:r.parentPid??null,adapterSessionId:r.adapterSessionId??null,sessionId:r.sessionId??null,cwd:r.cwd??null,argv:r.argv??null,metadata:r.metadata??null,observedAt:r.observedAt,updatedAt:r.updatedAt};await t.insert(n).values({id:r.clientRuntimeId,createdAt:r.createdAt,...i}).onConflictDoUpdate({target:n.id,set:i,setWhere:se(C`excluded.updated_at`,n.updatedAt)}),e.setResult({success:!0})}),i=e.on(V.loadAll,async e=>{let r=await t.select().from(n);e.setResult({records:r.map(Ut)})});return()=>{r(),i()}}const Gt=v(`client_binary_versions`,e=>({id:e.text(`id`).primaryKey(),clientId:e.text(`client_id`).notNull(),version:e.text(`version`).notNull(),installPath:e.text(`install_path`).notNull(),installedAt:e.epochMs(`installed_at`).notNull(),createdAt:e.epochMs(`created_at`).notNull()}),{sqlite:e=>[ee(`uq_client_binary_versions_client_version`).on(e.clientId,e.version)],postgres:e=>[re(`uq_client_binary_versions_client_version`).on(e.clientId,e.version)]}),Kt=Gt.sqlite,qt=v(`client_binary_state`,e=>({clientId:e.text(`client_id`).primaryKey(),activeVersion:e.text(`active_version`),updatedAt:e.epochMs(`updated_at`).notNull()})),Jt=qt.sqlite,Yt=Gt.postgres,Xt=qt.postgres,J=_({clientBinaryVersions:Kt,clientBinaryState:Jt},{clientBinaryVersions:Yt,clientBinaryState:Xt});function Y(e){return{id:e.id,clientId:e.clientId,version:e.version,installPath:e.installPath,installedAt:e.installedAt,createdAt:e.createdAt}}function X(e){return{clientId:e.clientId,activeVersion:e.activeVersion??null,updatedAt:e.updatedAt}}function Zt(e){return{id:e.id,clientId:e.clientId,version:e.version,installPath:e.installPath,installedAt:e.installedAt,createdAt:e.createdAt}}async function Qt(e,t,n){await e.insert(n).values(Zt(t)).onConflictDoNothing({target:[n.clientId,n.version]})}function $t(e,t,n){return{clientId:e,activeVersion:t,updatedAt:n}}async function en(e,t,n,r,i){await e.insert(i).values($t(t,n,r)).onConflictDoUpdate({target:i.clientId,set:{activeVersion:n,updatedAt:r}})}async function tn(e,t){let{clientBinaryVersions:n}=b(e,J);await Qt(e,t,n)}async function nn(e,t,n,r){let{clientBinaryVersions:i,clientBinaryState:a}=b(e,J);return y(e,async e=>{let[o]=await e.select().from(a).where(S(a.clientId,t.clientId)).limit(1),s=o?.activeVersion??null;return await Qt(e,t,i),n?(await en(e,t.clientId,t.version,r,a),{previousActiveVersion:s,activeVersion:t.version}):{previousActiveVersion:s,activeVersion:s}})}async function rn(e,t){let{clientBinaryVersions:n,clientBinaryState:r}=b(e,J);return y(e,async e=>{let[i]=await e.select().from(r).where(S(r.clientId,t)).limit(1),a=await e.select().from(n).where(S(n.clientId,t));return{state:i?X(i):null,versions:a.map(Y)}})}async function an(e){let{clientBinaryVersions:t,clientBinaryState:n}=b(e,J);return y(e,async e=>{let r=await e.select().from(n),i=await e.select().from(t);return{states:r.map(X),versions:i.map(Y)}})}async function on(e,t){let{clientBinaryState:n}=b(e,J),r={clientId:t.clientId,activeVersion:t.activeVersion??null,updatedAt:t.updatedAt};await e.insert(n).values(r).onConflictDoUpdate({target:n.clientId,set:r})}async function sn(e,t,n,r){let{clientBinaryState:i}=b(e,J);return y(e,async e=>{let[a]=await e.select().from(i).where(S(i.clientId,t)).limit(1),o=a?.activeVersion??null;return await en(e,t,n,r,i),{previousActiveVersion:o,activeVersion:n}})}async function cn(e,t,n,r){let{clientBinaryVersions:i,clientBinaryState:a}=b(e,J);return y(e,async e=>{let[o]=await e.select().from(a).where(S(a.clientId,t)).limit(1),s=o?.activeVersion??null;if(!ae(await e.delete(i).where(x(S(i.clientId,t),S(i.version,n)))))return{removedVersion:null,previousActiveVersion:s,activeVersion:s};await e.update(a).set({activeVersion:null,updatedAt:r}).where(x(S(a.clientId,t),S(a.activeVersion,n)));let[c]=await e.select().from(a).where(S(a.clientId,t)).limit(1);return{removedVersion:n,previousActiveVersion:s,activeVersion:c?.activeVersion??null}})}function ln(e,t){let{clientBinaryVersions:n,clientBinaryState:r}=b(t,J),i=[e.on(N.insertVersion,async e=>{await tn(t,e.payload),e.setResult({success:!0})}),e.on(N.recordInstalledVersion,async e=>{let{versionRecord:n,makeActive:r,updatedAt:i}=e.payload,a=await nn(t,n,r,i);e.setResult(a)}),e.on(N.listVersions,async e=>{let r=await t.select().from(n).where(S(n.clientId,e.payload.clientId));e.setResult({versions:r.map(Y)})}),e.on(N.getSnapshot,async e=>{let{state:n,versions:r}=await rn(t,e.payload.clientId);e.setResult({state:n,versions:r})}),e.on(N.loadAllVersions,async e=>{let r=await t.select().from(n);e.setResult({versions:r.map(Y)})}),e.on(N.upsertState,async e=>{await on(t,e.payload),e.setResult({success:!0})}),e.on(N.setActiveVersion,async e=>{let{clientId:n,activeVersion:r,updatedAt:i}=e.payload,a=await sn(t,n,r,i);e.setResult(a)}),e.on(N.getState,async e=>{let[n]=await t.select().from(r).where(S(r.clientId,e.payload.clientId)).limit(1);e.setResult({state:n?X(n):null})}),e.on(N.loadAllState,async e=>{let n=await t.select().from(r);e.setResult({states:n.map(X)})}),e.on(N.loadSnapshot,async e=>{let{states:n,versions:r}=await an(t);e.setResult({states:n,versions:r})}),e.on(N.removeVersionAndClearActive,async e=>{let{clientId:n,version:r,updatedAt:i}=e.payload,a=await cn(t,n,r,i);e.setResult(a)})];return()=>{for(let e of i)e()}}const un=v(`client_profiles`,e=>({id:e.text(`id`).primaryKey(),clientId:e.text(`client_id`).notNull(),name:e.text(`name`).notNull(),description:e.text(`description`),configDir:e.text(`config_dir`).notNull(),isDefault:e.bool(`is_default`).notNull().default(!1),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()}),{sqlite:e=>[te(`uq_client_profiles_client_name`).on(e.clientId,e.name),te(`uq_client_profiles_default`).on(e.clientId).where(C`${e.isDefault} = 1`)],postgres:e=>[ie(`uq_client_profiles_client_name`).on(e.clientId,e.name),ie(`uq_client_profiles_default`).on(e.clientId).where(C`${e.isDefault} = true`)]}),dn=un.sqlite,fn=un.postgres,pn=_({clientProfiles:dn},{clientProfiles:fn});function Z(e){return{id:e.id,clientId:e.clientId,name:e.name,description:e.description??null,configDir:e.configDir,isDefault:e.isDefault,createdAt:e.createdAt,updatedAt:e.updatedAt}}async function mn(e,t,n){let{clientProfiles:r}=b(e,pn),i=Date.now();return y(e,async e=>{let[a]=await e.select().from(r).where(x(S(r.clientId,t),S(r.name,n))).limit(1);if(a===void 0)return null;await e.update(r).set({isDefault:!1,updatedAt:i}).where(x(S(r.clientId,t),S(r.isDefault,!0))),await e.update(r).set({isDefault:!0,updatedAt:i}).where(x(S(r.clientId,t),S(r.name,n)));let[o]=await e.select().from(r).where(x(S(r.clientId,t),S(r.name,n))).limit(1);return o===void 0?null:Z(o)})}function hn(e,t){let{clientProfiles:n}=b(t,pn),r=[e.on(q.get,async e=>{let{clientId:r,name:i}=e.payload,[a]=await t.select().from(n).where(x(S(n.clientId,r),S(n.name,i))).limit(1);e.setResult({record:a?Z(a):null})}),e.on(q.getById,async e=>{let[r]=await t.select().from(n).where(S(n.id,e.payload.id)).limit(1);e.setResult({record:r?Z(r):null})}),e.on(q.list,async e=>{let r=await t.select().from(n).where(S(n.clientId,e.payload.clientId));e.setResult({records:r.map(Z)})}),e.on(q.set,async e=>{let r=e.payload,i={id:r.id,clientId:r.clientId,name:r.name,description:r.description??null,configDir:r.configDir,isDefault:r.isDefault,createdAt:r.createdAt,updatedAt:r.updatedAt};await t.insert(n).values(i).onConflictDoUpdate({target:n.id,set:{name:r.name,description:r.description??null,configDir:r.configDir,isDefault:r.isDefault,updatedAt:r.updatedAt}}),e.setResult({success:!0})}),e.on(q.delete,async e=>{let{clientId:r,name:i}=e.payload,a=await t.delete(n).where(x(S(n.clientId,r),S(n.name,i)));e.setResult({success:ae(a)})}),e.on(q.clearDefault,async e=>{await t.update(n).set({isDefault:!1,updatedAt:Date.now()}).where(x(S(n.clientId,e.payload.clientId),S(n.isDefault,!0))),e.setResult({success:!0})}),e.on(q.setDefault,async e=>{let{clientId:n,name:r}=e.payload,i=await mn(t,n,r);e.setResult({record:i})})];return()=>{for(let e of r)e()}}function gn(e,t){return`${e}\0${t}`}function _n(e){let t=e=>typeof e==`string`&&e.trim().length>0;if(typeof e!=`object`||!e)throw Error(`Provider contract catalog must be an object`);if(!t(e.clientId)||!t(e.contractId)||!t(e.version))throw Error(`Provider contract catalog requires non-empty clientId, contractId, and version`);if(!Array.isArray(e.supportedInteractions)||e.supportedInteractions.length===0)throw Error(`Provider contract catalog requires supported interactions`);if(e.supportedInteractions.some(e=>!t(e))||new Set(e.supportedInteractions).size!==e.supportedInteractions.length)throw Error(`Provider contract catalog interactions must be non-empty and unique`);if(!Array.isArray(e.blockability)||e.blockability.length!==e.supportedInteractions.length)throw Error(`Provider contract catalog requires complete blockability metadata`);let n=new Map;for(let r of e.blockability){if(!t(r.interaction)||typeof r.blockable!=`boolean`||n.has(r.interaction))throw Error(`Provider contract catalog blockability metadata must be complete and unique`);n.set(r.interaction,r.blockable)}if(e.supportedInteractions.some(e=>!n.has(e))||typeof e.validate!=`function`)throw Error(`Provider contract catalog must provide blockability metadata and a validator for every interaction`)}var vn=class{entries=new Map;registerProviderContract(e,t){_n(t);let n=gn(t.clientId,t.contractId),r=this.entries.get(n);if(r)throw Error(`Provider contract collision: contract '${t.contractId}' for client '${t.clientId}' is already registered by extension '${r.extensionId}'; extension '${e}' cannot claim it`);this.entries.set(n,{extensionId:e,catalog:t})}unregisterProviderContract(e,t,n){let r=gn(t,n),i=this.entries.get(r);i&&i.extensionId===e&&this.entries.delete(r)}unregisterAllByExtension(e){for(let[t,n]of this.entries)n.extensionId===e&&this.entries.delete(t)}getProviderContract(e,t){let n=gn(e,t);return this.entries.get(n)?.catalog}getProviderContractsByClient(e){let t=[];for(let n of this.entries.values())n.catalog.clientId===e&&t.push(n.catalog);return t}getAllProviderContracts(){return[...this.entries.values()].map(e=>e.catalog)}clear(){this.entries.clear()}};function yn(e,t){return`${e}/${t}`}function bn(e,t,n){switch(e.kind){case`event-name`:return e.name===t;case`capability`:return n.includes(e.capability)}}function xn(e,t){let n=t.definition.priority-e.definition.priority;return n===0?e.ordinal-t.ordinal:n}function Sn(e){return Array.isArray(e)&&e.length>0&&e.every(e=>typeof e!=`object`||!e?!1:e.kind===`event-name`?typeof e.name==`string`&&e.name.trim().length>0:e.kind===`capability`&&typeof e.capability==`string`&&e.capability.trim().length>0)}function Cn(e){return e.lane===`canonical`?e.clientIds===void 0||Array.isArray(e.clientIds)&&e.clientIds.length>0&&e.clientIds.every(e=>typeof e==`string`&&e.trim().length>0):e.lane===`provider`?typeof e.clientId==`string`&&e.clientId.trim().length>0&&typeof e.contractId==`string`&&e.contractId.trim().length>0:!1}function wn(e,t){if(typeof t!=`object`||!t||Array.isArray(t))return{code:`invalid-contributor-lane`,message:`Contributor definition must be an object`,extensionName:e};let n={...typeof t.id==`string`&&{contributorId:t.id},extensionName:e};if(!Number.isFinite(t.priority))return{...n,code:`invalid-priority`,message:`Contributor '${t.id}' priority must be a finite number`};if(!Sn(t.selectors))return{...n,code:`invalid-selectors`,message:`Contributor '${t.id}' requires non-empty valid selectors`};if(typeof t.respond!=`function`)return{...n,code:`invalid-respond`,message:`Contributor '${t.id}' respond must be a function`};if(!Cn(t))return{...n,code:`invalid-contributor-lane`,message:`Contributor '${t.id}' has an invalid lane or target identity`};if(!me(t.id))return{...n,code:`invalid-contributor-id`,message:`Contributor ID is empty or invalid`};if(!he(t.timeoutMs))return{...n,code:`invalid-timeout-ms`,message:`Contributor '${t.id}' has an invalid timeoutMs: ${String(t.timeoutMs)}; must be a positive finite number`}}function Tn(e,t,n,r){let i=[],a=new Set;for(let o of t){let t=wn(e,o);if(t){i.push(t);continue}let s=yn(e,o.id);if(a.has(s)){i.push({code:`invalid-contributor-id`,message:`Duplicate contributor ID '${o.id}' within the same extension batch '${e}'`,contributorId:o.id,extensionName:e});continue}if(r.has(s)){i.push({code:`invalid-contributor-id`,message:`Contributor ID '${o.id}' is already registered by extension '${e}'`,contributorId:o.id,extensionName:e});continue}a.add(s),En(e,o,n,i)}return i}function En(e,t,n,r){let i=t.failurePolicy??`open`;if(t.lane===`provider`){let a=n.getProviderContract(t.clientId,t.contractId);if(!a){r.push({code:`inactive-provider-contract`,message:`Provider contributor requires active contract '${t.contractId}' for client '${t.clientId}'`,contributorId:t.id,extensionName:e});return}Dn(e,t,[a],i,r);return}Dn(e,t,t.clientIds?t.clientIds.flatMap(e=>n.getProviderContractsByClient(e)):n.getAllProviderContracts(),i,r)}function Dn(e,t,n,r,i){for(let a of t.selectors){let o=a.kind===`capability`?a.capability:a.name,s=n.filter(e=>e.supportedInteractions.includes(o));if((t.lane===`provider`||a.kind===`capability`)&&s.length===0){i.push({code:`unsupported-interaction`,message:`Interaction '${o}' is not supported by an eligible active provider contract`,contributorId:t.id,extensionName:e});continue}if(r===`closed`){if(s.length===0){i.push({code:`closed-policy-on-non-blockable`,message:`Closed failure policy requires blockability proof for interaction '${o}', but no contract declares it for an eligible active client`,contributorId:t.id,extensionName:e});continue}for(let n of s)for(let r of ge([a],n))i.push({code:`closed-policy-on-non-blockable`,message:r,contributorId:t.id,extensionName:e})}}}var On=class{contractRegistry;contributors=new Map;extensionIndex=new Map;nextOrdinal=1;constructor(e){this.contractRegistry=e}installContributors(e,t){let n=Tn(e,t,this.contractRegistry,this.contributors);if(n.length>0)return{errors:n};let r=this.extensionIndex.get(e)??new Set;for(let n of t){let t=yn(e,n.id),i=Object.freeze({...n,selectors:Object.freeze(n.selectors.map(e=>Object.freeze({...e})))}),a=Object.freeze({namespacedId:t,extensionId:e,ordinal:this.nextOrdinal,definition:i});this.nextOrdinal+=1,this.contributors.set(t,a),r.add(t)}return this.extensionIndex.set(e,r),{errors:[]}}removeContributors(e){let t=this.extensionIndex.get(e);if(t){for(let e of t)this.contributors.delete(e);this.extensionIndex.delete(e)}}snapshot(e,t,n,r=[]){let i=[];for(let a of this.contributors.values()){let{definition:o}=a;o.lane===`provider`&&(o.clientId!==e||o.contractId!==t)||o.lane===`canonical`&&o.clientIds!==void 0&&!o.clientIds.includes(e)||a.definition.selectors.some(e=>bn(e,n,r))&&i.push(a)}return i.sort(xn),Object.freeze(i)}clear(){this.contributors.clear(),this.extensionIndex.clear(),this.nextOrdinal=1}};function kn(e,t){return{filter:e=>!!e.clientHookResponses,async processActivated(n,r,i){let a=r.clientHookResponses;if(!a)return;let o={extensionName:n,extensionContext:i,getProviderContract:(e,n)=>t.getProviderContract(e,n)},s;try{s=await a.createContributors(o)}catch(e){throw Error(`[ClientHookResponseContributionProcessor] createContributors failed for '${n}': ${e instanceof Error?e.message:String(e)}`,{cause:e})}let c=e.installContributors(n,s);if(c.errors.length>0){let e=c.errors.map(e=>`[${e.code}] ${e.contributorId??`<unknown>`}: ${e.message}`).join(`; `);throw Error(`[ClientHookResponseContributionProcessor] Contributor validation failed for '${n}': ${e}`)}},async processStopped(t){e.removeContributors(t)}}}var An=class{runtimeService;binaryManager;configPrimeService;profileService;sessionConfigService;sessionTokenService;providerContractRegistry;hookResponseRegistry;sessionTokens;constructor(e,t,n,r,i,a,o,s){this.runtimeService=e,this.binaryManager=t,this.configPrimeService=n,this.profileService=r,this.sessionConfigService=i,this.sessionTokenService=a,this.providerContractRegistry=o,this.hookResponseRegistry=s,this.sessionTokens=a}async init(){let e=(await Promise.allSettled([this.runtimeService.init(),this.binaryManager.init(),this.configPrimeService.init(),this.profileService.init(),this.sessionConfigService.init(),this.sessionTokenService.init()])).filter(e=>e.status===`rejected`);if(e.length>0){for(let t=1;t<e.length;t++)console.warn(`[ClientsCoreService] Multiple init failures, secondary:`,e[t].reason);throw e[0].reason}}async destroy(){let e=(await Promise.allSettled([this.runtimeService.destroy(),this.binaryManager.destroy(),this.configPrimeService.destroy(),this.profileService.destroy(),this.sessionConfigService.destroy(),this.sessionTokenService.destroy()])).filter(e=>e.status===`rejected`);if(e.length>0)throw AggregateError(e.map(e=>e.reason),`ClientsCoreService failed to tear down cleanly`)}};const jn=d(`makaio.clients-core`);function Mn(e){let t=[],n=()=>{for(let e of[...t].reverse())e()};try{for(let n of e)t.push(n())}catch(e){throw n(),e}return n}function Nn(e={}){let{definitions:t=[],strategyDependencies:n,postInstallHandlers:r,binaryResolutionPolicy:i}=e,o=[...t],s=new vn,c=new On(s);return{name:`makaio.clients-core`,displayName:`Clients Core`,version:`0.1.0`,critical:!0,namespaces:[M,He,St],storage:{registerHandlers:oe((e,t)=>Mn([()=>Wt(e,t),()=>ln(e,t),()=>hn(e,t)]))},create:e=>{let t=new P(o),l=a.join(e.makaioHome,`clients`),u=new Be(e.bus,{basePath:a.join(e.makaioHome,`binaries`),configBasePath:l,postInstallHandlers:r,...i!==void 0&&{resolutionPolicy:i}},t,n),d=new wt(e.bus,l),f=new At(e.bus,l),p=new jt(e.bus);return new An(new ht(e.bus),u,new xt(e.bus),d,f,p,s,c)},runtimeBoot:{configure:e=>{e.registerContributionProcessor(kn(c,s))}}}}async function Pn(e,t){let n=await e.requestOptional(T.resolveBinary,{clientId:t});return n.handled?n.data:void 0}function Fn(e,t,n){return[...n??[],e,...t].map(zn).join(` `)}function In(e,t,n,r,i){return Fn(e,[...i??[],...t.split(` `),n],r)}function Ln(e){return e.runtimeCapabilities.hookEvents.map(e=>{let t={eventName:e.name,mode:pe(e)};return e.minimumVersion===void 0?t:{...t,minimumVersion:e.minimumVersion}})}function Rn(e,t){return e.minimumVersion===void 0||typeof t!=`string`||!u.safeParse(t).success?!0:p(t,`>=${e.minimumVersion}`)}function zn(e){return/^[A-Za-z0-9_@%+=:,./-]+$/.test(e)?e:`'${e.replaceAll(`'`,`'\\''`)}'`}const Bn=new Set([`context.append`,`session.token`]);function Vn(e){if(e===void 0)return!0;if(!Array.isArray(e))return`canonicalEffects must be an array`;for(let t of e){if(typeof t!=`object`||!t||!Bn.has(t.kind)||typeof t.value!=`string`)return`canonicalEffects must contain complete context.append or session.token effects`;if(Object.keys(t).some(e=>e!==`kind`&&e!==`value`))return`canonicalEffects must contain only kind and value`;if(t.kind===`session.token`&&t.value.length===0)return`session.token effect requires a non-empty string value`}return!0}function Hn(e,t,n){return e===void 0?!0:typeof e!=`object`||!e||Array.isArray(e)||e.clientId!==t||e.contractId!==n||typeof e.effects!=`object`||e.effects===null||Array.isArray(e.effects)?`providerEnvelope must contain the exact clientId, contractId, and an effects object`:Object.keys(e).some(e=>e!==`clientId`&&e!==`contractId`&&e!==`effects`)?`providerEnvelope must contain only clientId, contractId, and effects`:!0}function Un(e,t,n,r,i,a){if(!r)return`Provider contributor requires active contract '${t.contractId}'`;if(r.clientId!==n||r.clientId!==t.clientId)return`Provider contract client '${r.clientId}' does not match '${t.clientId}'`;if(r.contractId!==t.contractId)return`Provider contract '${r.contractId}' does not match '${t.contractId}'`;let o=Hn(e.providerEnvelope,t.clientId,t.contractId);return o===!0?r.validate(e,{clientId:n,eventName:i,eventPayload:a}):o}function Wn(e,t,n,r,i,a){if(e===void 0)return!0;if(typeof e!=`object`||!e||Array.isArray(e))return`Contributor response must be an object or undefined`;let o=t.lane===`canonical`?[`canonicalEffects`]:[`providerEnvelope`];return Object.keys(e).some(e=>!o.includes(e))?`Contributor response contains keys outside the ${t.lane} lane`:t.lane===`canonical`?Vn(e.canonicalEffects):Un(e,t,n,r,i,a)}const Q=Symbol(`contributor-timeout`);function Gn(e){return e.failurePolicy??de}function Kn(e){return e.namespacedId??e.definition.id}function $(e,t){return e===`closed`?`closed-failure`:t}function qn(e){if(!e)return;let t=[];return e.canonicalEffects&&t.push(...e.canonicalEffects),e.providerEnvelope&&t.push(e.providerEnvelope),t.length>0?t:void 0}function Jn(e,t,n){let r=t-Date.now();return r<=0||n.signal.aborted?(n.abort(Error(`Contributor deadline expired`)),Promise.resolve(Q)):new Promise((i,a)=>{let o=!1,s=e=>{o||(o=!0,clearTimeout(c),n.signal.removeEventListener(`abort`,l),i(e))},c=setTimeout(()=>{n.abort(Error(`Contributor timeout`)),s(Q)},r),l=()=>s(Q);n.signal.addEventListener(`abort`,l,{once:!0}),e.then(e=>{Date.now()>=t?(n.abort(Error(`Contributor timeout`)),s(Q)):s(e)},e=>{o||(o=!0,clearTimeout(c),n.signal.removeEventListener(`abort`,l),a(e))})})}function Yn(e){let t=[],n=[],r=`Request deadline already expired before collection started`;for(let i of e){let e=Kn(i),a=$(Gn(i.definition),`timeout`);t.push({contributorId:e,outcome:a,durationMs:0}),n.push({contributorId:e,severity:`error`,message:r})}let i=t.find(e=>e.outcome===`closed-failure`);return{outcomes:t,diagnostics:n,closedFailure:i?{contributorId:i.contributorId,detail:r}:void 0}}function Xn(e,t){if(t.aborted){e.abort(t.reason);return}let n=()=>{e.abort(t.reason)};t.addEventListener(`abort`,n,{once:!0}),e.signal.addEventListener(`abort`,()=>{t.removeEventListener(`abort`,n)},{once:!0})}function Zn(e,t,n,r,i,a){let{definition:o}=e,s=Kn(e),c=Date.now(),l=c+o.timeoutMs,u=n===void 0?l:Math.min(n,l),d=u-c,f=new AbortController;r&&Xn(f,r);let p={clientId:t,deadline:u,remainingBudgetMs:d,signal:f.signal,eventName:i,eventPayload:a};if(f.signal.aborted)return{contributorId:s,definition:o,startMs:c,abort:f,settled:Promise.resolve({tag:`timeout`})};let m;try{let e=o.respond(p);m=e instanceof Promise?e:Promise.resolve(e)}catch(e){m=Promise.reject(e)}return{contributorId:s,definition:o,startMs:c,abort:f,settled:Jn(m,u,f).then(e=>e===Q?{tag:`timeout`}:{tag:`ok`,response:e},e=>({tag:`rejected`,error:e}))}}function Qn(e,t,n,r,i,a){let{contributorId:o,definition:s,startMs:c,abort:l}=e,u=Date.now()-c,d=Gn(s);if(l.signal.aborted||l.abort(Error(`Collection complete`)),t.tag===`timeout`){let e=`Contributor timed out after ${u}ms`;return{outcome:{contributorId:o,outcome:$(d,`timeout`),durationMs:u},diagnostic:{contributorId:o,severity:`error`,message:e}}}if(t.tag===`rejected`){let e=`Contributor rejected: ${t.error instanceof Error?t.error.message:String(t.error)}`;return{outcome:{contributorId:o,outcome:$(d,`rejection`),durationMs:u},diagnostic:{contributorId:o,severity:`error`,message:e,cause:t.error}}}let{response:f}=t,p=Wn(f,s,n,r,i,a);if(p!==!0){let e=`Validation failed: ${p}`;return{outcome:{contributorId:o,outcome:$(d,`rejection`),durationMs:u},diagnostic:{contributorId:o,severity:`error`,message:e}}}return{outcome:{contributorId:o,outcome:`success`,durationMs:u,effects:qn(f)}}}function $n(e,t){let n=e.find(e=>e.outcome===`closed-failure`);if(!n)return{outcomes:e,diagnostics:t};let r={contributorId:n.contributorId,detail:t.find(e=>e.contributorId===n.contributorId)?.message??`Closed failure`};return{outcomes:e.map(e=>{if(e.effects){let{effects:t,...n}=e;return n}return e}),diagnostics:t,closedFailure:r}}async function er(e,t,n,r,i,a,o){if(e.length===0)return{outcomes:[],diagnostics:[]};if(n!==void 0&&n<=Date.now())return Yn(e);let s=e.map(e=>Zn(e,t,n,r,i,a)),c=await Promise.all(s.map(e=>e.settled)),l=[],u=[];for(let e=0;e<s.length;e++){let{outcome:n,diagnostic:r}=Qn(s[e],c[e],t,o,i,a);l.push(n),r&&u.push(r)}return $n(l,u)}export{lt as AbsolutePathSchema,we as BinaryNotFoundError,z as CLIENT_RUNTIME_STATUSES,Te as ClientAccountRegistry,Ie as ClientBinaryJobRunner,Be as ClientBinaryManager,A as ClientBinaryStateRecordSchema,M as ClientBinaryStorageNamespace,N as ClientBinaryStorageSubjects,k as ClientBinaryVersionRecordSchema,Fe as ClientBinaryVersionResolver,xt as ClientConfigPrimeService,P as ClientDefinitionRegistry,$e as ClientHookHandleResponseSchema,vn as ClientHookProviderContractRegistry,On as ClientHookResponseRegistry,G as ClientProfileRecordSchema,wt as ClientProfileService,St as ClientProfileStorageNamespace,q as ClientProfileStorageSubjects,Ye as ClientRuntimeRegistry,ht as ClientRuntimeService,He as ClientRuntimeStorageNamespace,V as ClientRuntimeStorageSubjects,At as ClientSessionConfigService,jt as ClientSessionTokenService,le as ClientSubjects,pt as ClientWiringAggregatedResultSchema,dt as ClientWiringApplyResponseSchema,ue as ClientWiringEntrySchema,ut as ClientWiringListResponseSchema,ft as ClientWiringRemoveResponseSchema,An as ClientsCoreService,jn as ClientsCoreToken,Qe as DEFAULT_HOOK_HANDLE_TIMEOUT_MS,et as NOOP_HOOK_HANDLE_RESPONSE,U as RawClientHookPayloadSchema,B as RuntimeRecordSchema,mt as assertAbsoluteProjectDir,xe as atomicModifyFile,Fn as buildClientCommand,it as buildClientSessionBase,In as buildHookCommand,W as canonicalizeClientId,Rt as clientRuntimesDual,er as collectContributions,kn as createClientHookResponseContributionProcessor,Lt as createClientNamespace,ct as createClientWiringListSubjectDef,st as createClientWiringSubjectDef,Nn as createClientsCorePackage,tt as createRawClientHookHandleSubject,Ze as createRawClientHookReceivedSubject,t as createStrategy,Ln as deriveSessionEventDescriptors,at as emitBestEffort,D as isPathWithinBase,Rn as isSessionEventSupported,rt as pickNonEmptyString,nt as pickNonEmptyStringValue,ln as registerDrizzleClientBinaryStorage,hn as registerDrizzleProfileStorage,Wt as registerDrizzleRuntimeStorage,Mn as registerStorageHandlersWithRollback,O as resolveAndValidateBasePath,Pn as resolveClientBinary,n as verifyInstalledVersion};
|
|
1
|
+
import{n as e,r as t,t as n}from"../client-binary-version-verifier-DcHCFmsI.mjs";import{ClientHookHandleResponseSchema as r,DEFAULT_HOOK_HANDLE_TIMEOUT_MS as i,NOOP_HOOK_HANDLE_RESPONSE as a,RawClientHookPayloadSchema as o,canonicalizeClientId as s,createRawClientHookHandleSubject as c,createRawClientHookReceivedSubject as l}from"./hook-subjects.mjs";import{z as u}from"zod";import*as d from"node:fs/promises";import*as f from"node:path";import{randomUUID as p}from"node:crypto";import{SerialLane as m}from"@makaio/framework/utils";import{createBusNamespace as h,hostLocalRequest as ee}from"@makaio/framework/core";import{VersionLiteralSchema as te,extensionToken as ne,isUniversalRange as re,versionSatisfies as ie}from"@makaio/framework/contracts";import{MakaioBus as g}from"@makaio/framework/bus";import{BaseService as _}from"@makaio/framework/service-base";import{index as v,unique as ae,uniqueIndex as oe}from"drizzle-orm/sqlite-core";import{index as se,unique as ce,uniqueIndex as le}from"drizzle-orm/pg-core";import{defineDialectSchema as y,defineDualTable as b,didAffectRows as ue,executeTransaction as x,registerDrizzleHandlers as de,resolveSchema as S}from"@makaio/framework/storage/drizzle";import{and as C,eq as w,gt as fe,sql as T}from"drizzle-orm";import{ClientProfileNameSchema as E,ClientProfileSchema as pe,ClientSubjects as me,ClientSubjects as D,ClientWiringEntrySchema as O,DEFAULT_FAILURE_POLICY as he,SessionConfigLeaseIdSchema as ge,deriveHookEventTransportMode as _e,isValidContributorId as ve,isValidTimeoutMs as ye,validateClosedPolicy as be}from"@makaio/framework/contracts/client";import{SessionSubjects as xe}from"@makaio/framework/contracts/session";import*as k from"node:os";import{CLIDetectionSubjects as Se}from"@makaio/framework/services/cli-detection/namespace";import{ClientStorageSubjects as Ce}from"@makaio/framework/services/settings/storage";async function we(e,t,n,r,i){let a,o=(n.get(e)??Promise.resolve()).then(async()=>{let n=await i(r(await Te(e,t)));n.changed&&await Ee(e,n.content),a=n.result}),s=o.then(()=>void 0,()=>void 0);n.set(e,s);try{await o}finally{n.get(e)===s&&n.delete(e)}return a}async function Te(e,t){let n;try{n=await d.readFile(e,`utf-8`)}catch(e){if(e.code===`ENOENT`)return t;throw e}return JSON.parse(n)}async function Ee(e,t){let n=f.dirname(e),r=f.join(n,`${f.basename(e)}.${p()}.tmp`);await d.mkdir(n,{recursive:!0});try{await d.writeFile(r,`${JSON.stringify(t,null,2)}\n`,`utf-8`),await d.rename(r,e)}catch(e){throw await d.unlink(r).catch(()=>void 0),e}}var De=class e extends Error{code=`BINARY_NOT_FOUND`;constructor(t){super(`client.resolveBinary: no binary found for client '${t}' — install a managed version or ensure the binary is on PATH`),this.name=`BinaryNotFoundError`,Error.captureStackTrace?.(this,e)}},Oe=class{nextAccountSequence=1;accountIdsByIdentifier=new Map;accounts=new Map;upsertAccount(e){let t=Ae(e.displayLabel),n=new Map;for(let t of e.identifiers)n.set(ke(e.clientId,t.scheme,t.value),t);let r=je(n,this.accountIdsByIdentifier,`strong`),i=je(n,this.accountIdsByIdentifier,`alias`),a=r[0]??(i.length===1?i[0]:i.length>1?Me(i):this.createAccount()),o=(r.length>0?Fe(a,r,i):[]).flatMap(e=>this.mergeInto(a,e)),s=this.accounts.get(a);if(!s)throw Error(`Client account registry invariant violated: missing account ${a}`);for(let[e,t]of n){let n=this.accountIdsByIdentifier.get(e);r.length===0&&t.strength===`alias`&&n!==void 0&&n!==a||(s.identifiers.set(e,t),this.accountIdsByIdentifier.set(e,a))}return t!==void 0&&(s.displayLabel=t),{clientAccountId:a,displayLabel:s.displayLabel,mergedAccountIds:o}}clear(){this.accountIdsByIdentifier.clear(),this.accounts.clear(),this.nextAccountSequence=1}createAccount(){let e=`client-account-${this.nextAccountSequence}`;return this.nextAccountSequence+=1,this.accounts.set(e,{clientAccountId:e,identifiers:new Map}),e}mergeInto(e,t){if(e===t)return[];let n=this.accounts.get(e),r=this.accounts.get(t);if(!n||!r)return[];for(let[t,i]of r.identifiers)n.identifiers.set(t,i),this.accountIdsByIdentifier.set(t,e);return n.displayLabel===void 0&&r.displayLabel!==void 0&&(n.displayLabel=r.displayLabel),this.accounts.delete(t),[t]}};function ke(e,t,n){return`${e}\u0000${t}\u0000${n}`}function Ae(e){return e?.trim()||void 0}function je(e,t,n){let r=new Set;for(let[i,a]of e){if(a.strength!==n)continue;let e=t.get(i);e!==void 0&&r.add(e)}return Array.from(r).sort(Ne)}function Me(e){return[...e].sort(Ne)[0]}function Ne(e,t){let n=Pe(e),r=Pe(t);return n!==null&&r!==null&&n!==r?n-r:e.localeCompare(t)}function Pe(e){let t=e.match(/^client-account-(\d+)$/);return t?Number(t[1]):null}function Fe(e,t,n){let r=new Set([...t,...n]);return r.delete(e),Array.from(r).sort(Ne)}function Ie(e){return{subject:`config.prime`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}async function A(e,t){let n=await e.requestOptional(Ie(t.clientId),t);return n.handled?n.data:{primed:!1}}function Le(){let e=e=>async()=>{throw Error(`StrategyDependencies.${e} is not implemented`)};return{fetchText:e(`fetchText`),fetchJson:e(`fetchJson`),downloadFile:e(`downloadFile`),exec:e(`exec`),extractArchive:e(`extractArchive`),deleteFile:e(`deleteFile`),computeChecksum:e(`computeChecksum`),removeDirectory:e(`removeDirectory`)}}var Re=class{resolveInstallVersion(e,t,n){let r=t.version;if(n===void 0)return{version:r,explicit:!1};let i=n.trim();if(i.length===0)throw Error(`Explicit version returned an empty version string`);if(i!==r)throw Error(`client.install: requested version ${i} for client '${e}' does not match pinned version ${r}`);return{version:i,explicit:!0}}};function j(t,n){return!f.isAbsolute(t)||!f.isAbsolute(n)?!1:e(f.resolve(t),f.resolve(n))}function M(e,t){if(!e||!f.isAbsolute(e))throw Error(`${t} requires a non-empty absolute basePath`);return f.resolve(e)}var ze=class{strategyDeps;config;jobs=new Map;#e=!1;resolvedBasePath;constructor(e,t){this.strategyDeps=e,this.config=t,this.resolvedBasePath=M(t.basePath,`ClientBinaryJobRunner`)}startJob(e,t,n,r,i,a,o){let s={...e,status:`running`};return this.jobs.set(e.jobId,s),this.runJob(s,t,n,r,i,a,o),e.jobId}cancelAll(){this.#e=!0,this.jobs.clear()}safeOnProgress(e,t){try{e(t)}catch{}}emitProgressIfActive(e,t){return this.#e?!1:(this.safeOnProgress(e,t),!this.#e)}async runJob(e,n,r,i,a,o,s){try{let c=this.resolveTargetDir(e.clientId,e.version),l=t(n,this.strategyDeps);if(l===void 0)throw Error(`Unsupported managed install descriptor type: ${n.type}`);let u=await this.executeStrategy(e,l,c,r);if(this.#e)return;let d;try{if(d=await this.runPostInstall(e,u.installPath,o,r),this.#e)return;s!==void 0&&await this.runVersionVerification(e,u.installPath,s,r)}catch(e){throw this.#e||await this.cleanupStagedArtifact(u.installPath),e}if(this.#e)return;await this.finalizeSuccess(e,u,d,r,i,a)}catch(t){if(this.#e)return;let n=t instanceof Error?t.message:String(t),r=t instanceof Error&&`code`in t?String(t.code):void 0;try{await a({jobId:e.jobId,clientId:e.clientId,version:e.version,strategy:e.strategy,status:`error`,activeVersion:null,error:{message:n,...r===void 0?{}:{code:r}}})}catch{}}finally{this.jobs.delete(e.jobId)}}async finalizeSuccess(e,t,n,r,i,a){if(!(e.makeActive&&!this.emitProgressIfActive(r,{jobId:e.jobId,clientId:e.clientId,version:t.version,strategy:e.strategy,stage:`activating`,progress:null,installPath:t.installPath,activeAfterCompletion:!0}))&&!this.#e){try{await i({jobId:e.jobId,clientId:e.clientId,version:t.version,installPath:t.installPath,makeActive:e.makeActive,reason:e.reason})}catch(e){try{await this.strategyDeps.removeDirectory(t.installPath)}catch{}throw e}if(!this.#e)try{await a({jobId:e.jobId,clientId:e.clientId,version:t.version,strategy:e.strategy,status:`success`,installPath:t.installPath,activeVersion:e.makeActive?t.version:null,...n===void 0?{}:{metadata:{postInstall:n}}})}catch{}}}async cleanupStagedArtifact(e){try{await this.strategyDeps.removeDirectory(e)}catch{}}async executeStrategy(e,t,n,r){try{return await t.execute(e.version,n,(t,i)=>{this.emitProgressIfActive(r,{jobId:e.jobId,clientId:e.clientId,version:e.version,strategy:e.strategy,stage:t,progress:i,installPath:t===`installing`?n:void 0,activeAfterCompletion:e.makeActive})})}catch(e){throw this.#e||await this.cleanupStagedArtifact(n),e}}async runPostInstall(e,t,n,r){if(n===void 0)return;let i=this.resolvePostInstallHandler(n),a=this.buildProgressPayload(e,`post-install`,null,t,{kind:n.kind});if(!this.emitProgressIfActive(r,a))return;let o=await i({clientId:e.clientId,version:e.version,installPath:t,descriptor:n});return this.emitProgressIfActive(r,this.buildProgressPayload(e,`post-install`,100,t,{kind:n.kind,...o??{}})),o??void 0}async runVersionVerification(e,t,r,i){this.emitProgressIfActive(i,this.buildProgressPayload(e,`verifying`,null,t,{kind:`version-command`}))&&(this.#e||await n(this.strategyDeps.exec,t,r,e.version))}resolvePostInstallHandler(e){let t=this.config.postInstallHandlers?.get(e.kind);if(t===void 0)throw Error(`No post-install handler registered for kind "${e.kind}"`);return t}buildProgressPayload(e,t,n,r,i){return{jobId:e.jobId,clientId:e.clientId,version:e.version,strategy:e.strategy,stage:t,progress:n,installPath:r,activeAfterCompletion:e.makeActive,...i===void 0?{}:{metadata:i}}}resolveTargetDir(e,t){let n=f.resolve(this.resolvedBasePath,e,t);if(!j(this.resolvedBasePath,n))throw Error(`Invalid install target path for client "${e}" and version "${t}"`);return n}};const N=u.object({id:u.string(),clientId:u.string(),version:u.string(),installPath:u.string(),installedAt:u.number().int().nonnegative(),createdAt:u.number().int().nonnegative()}),P=u.object({clientId:u.string(),activeVersion:u.string().nullable(),updatedAt:u.number().int().nonnegative()}),Be=u.object({previousActiveVersion:u.string().nullable(),activeVersion:u.string().nullable()}),Ve=h(`client-binary:storage`,{insertVersion:{request:N,response:u.object({success:u.boolean()})},recordInstalledVersion:{request:u.object({versionRecord:N,makeActive:u.boolean(),updatedAt:u.number().int().nonnegative()}),response:Be},listVersions:{request:u.object({clientId:u.string()}),response:u.object({versions:u.array(N)})},getSnapshot:{request:u.object({clientId:u.string()}),response:u.object({state:P.nullable(),versions:u.array(N)})},loadAllVersions:{request:u.object({}),response:u.object({versions:u.array(N)})},upsertState:{request:P,response:u.object({success:u.boolean()})},setActiveVersion:{request:u.object({clientId:u.string(),activeVersion:u.string().nullable(),updatedAt:u.number().int().nonnegative()}),response:Be},getState:{request:u.object({clientId:u.string()}),response:u.object({state:P.nullable()})},loadAllState:{request:u.object({}),response:u.object({states:u.array(P)})},loadSnapshot:{request:u.object({}),response:u.object({states:u.array(P),versions:u.array(N)})},removeVersionAndClearActive:{request:u.object({clientId:u.string(),version:u.string(),updatedAt:u.number().int().nonnegative()}),response:Be.extend({removedVersion:u.string().nullable()})}}),F=Ve.subjects;var He=class{definitions=new Map;constructor(e=[]){for(let t of e)this.registerUnique(t)}getDefinition(e){return this.definitions.get(e)}listDefinitions(){return[...this.definitions.values()]}register(e){this.definitions.set(e.id,e)}registerUnique(e){if(this.definitions.has(e.id))throw Error(`ClientDefinitionRegistry: duplicate client definition id '${e.id}'`);this.definitions.set(e.id,e)}};const Ue=process.env.MAKAIO_SKIP_CLIENT_VERSION_CHECK===`1`;function I(e,t,n,r,i){if(n===null){if(re(r))return;if(Ue){console.warn(`[SKIP_VERSION_CHECK] ${e}: ${i} for client '${t}' did not report a version; requires ${r}`);return}throw Error(`${e}: ${i} for client '${t}' did not report a version; requires ${r}`)}if(!ie(n,r)){if(Ue){console.warn(`[SKIP_VERSION_CHECK] ${e}: ${i} ${n} for client '${t}' does not satisfy ${r} — check bypassed`);return}throw Error(`${e}: ${i} ${n} for client '${t}' does not satisfy ${r}`)}}var We=class{bus;resolvedBasePath;resolvedConfigBasePath;definitionLookup;resolutionPolicy;constructor(e){this.bus=e.bus,this.resolvedBasePath=e.resolvedBasePath,this.resolvedConfigBasePath=e.resolvedConfigBasePath,this.definitionLookup=e.definitionLookup,this.resolutionPolicy=e.resolutionPolicy??`managed-first`}async resolve(e){let t=this.definitionLookup.getDefinition(e);if(t===void 0)throw Error(`client.resolveBinary: no definition registered for client '${e}'`);if(this.resolutionPolicy===`managed-first`){let{state:n,versions:r}=await this.bus.request(F.getSnapshot,{clientId:e}),i=n?.activeVersion??null;if(i!==null)return this.buildManagedContext(e,i,t,r)}return this.buildGlobalContext(e,t)}isInstallPathWithinBase(e){return j(this.resolvedBasePath,e)}async isExpectedInstallPath(e,t,n){if(!f.isAbsolute(e)||!this.isInstallPathWithinBase(e))return!1;let r=f.resolve(this.resolvedBasePath,t,n);if(!this.isInstallPathWithinBase(r))return!1;try{let[t,n,i]=await Promise.all([d.realpath(this.resolvedBasePath),d.realpath(r),d.realpath(e)]);return j(t,n)?i===n||j(n,i):!1}catch{return!1}}async buildManagedContext(e,t,n,r){let i=r.find(e=>e.version===t);if(i===void 0)throw Error(`client.resolveBinary: active version '${t}' is not installed for client '${e}'`);if(!await this.isExpectedInstallPath(i.installPath,e,t))throw Error(`client.resolveBinary: stored installPath "${i.installPath}" does not match the expected install directory for ${e}@${t}`);n.binary!==void 0&&I(`client.resolveBinary`,e,t,n.binary.supportedVersions,`managed binary version`);let a=Ge(n.versionCommand)?.[0];if(a===void 0)throw Error(`client.resolveBinary: definition for '${e}' has no versionCommand — cannot derive binary path`);let o=f.resolve(i.installPath,a),s=f.resolve(i.installPath);if(!o.startsWith(s+f.sep)&&o!==s)throw Error(`client.resolveBinary: versionCommand for '${e}' resolves outside the install directory`);let{configDir:c,env:l}=this.resolveIsolatedConfig(e,n);return{binaryPath:o,env:l,configDir:c,source:`managed`,version:t}}async buildGlobalContext(e,t){if(!t.binary?.name)throw Error(`client.resolveBinary: definition for '${e}' has no binary.name — cannot scan PATH`);let n={clientId:e,binaryName:t.binary.name,supportedVersions:t.binary.supportedVersions},{results:r}=await this.bus.request(D.scan,{targets:[n]}),i=r.find(t=>t.clientId===e);if(i===void 0||!i.found)throw new De(e);let a=i.version??null;I(`client.resolveBinary`,e,a,t.binary.supportedVersions,`detected global binary version`);let o=this.resolveGlobalConfigDir(t),s=i.binaryPath??null;if(s!==null&&!f.isAbsolute(s))throw Error(`client.resolveBinary: detected global binary path for '${e}' is not absolute`);return{binaryPath:s,env:{},configDir:o,source:`global`,version:a}}resolveIsolatedConfig(e,t){let{configIsolation:n}=t;if(n===void 0)return{configDir:null,env:{}};let r=f.join(this.resolvedConfigBasePath,e,`config`),i=n.pathKind===`file`?f.join(r,f.basename(n.defaultPath)):r;return{configDir:r,env:{[n.envVar]:i}}}resolveGlobalConfigDir(e){let{configIsolation:t}=e;if(t===void 0)return null;let n=t.defaultPath,r=n===`~`?k.homedir():n.startsWith(`~/`)?f.join(k.homedir(),n.slice(2)):n,i=t.pathKind===`file`?f.dirname(r):r;if(!f.isAbsolute(i))throw Error(`ConfigIsolation defaultPath for '${e.id}' resolved to non-absolute path '${r}'; use an absolute or tilde-expanded path (e.g. '~/.myapp')`);return i}};function Ge(e){if(e===void 0)return;let{executable:t,args:n}=e,r=typeof t==`string`?t:t[process.platform]??t.default;if(typeof r!=`string`||r.trim()===``)throw Error(`client.resolveBinary: versionCommand executable is missing for this platform`);return[r,...n]}async function Ke(e,t){let{versions:n,states:r}=await e.request(F.loadSnapshot,{}),i=Map.groupBy(n,e=>e.clientId),a=new Map;for(let e of r)a.set(e.clientId,e.activeVersion);let o=new Map;for(let e of t.listDefinitions())e.managedInstall!==void 0&&o.set(e.id,e.managedInstall);return[...new Set(o.keys())].map(e=>{let t=o.get(e);if(t===void 0)throw Error(`assembleBinaryList: missing descriptor for client '${e}'`);let n=a.get(e)??null,r=(i.get(e)??[]).map(e=>({version:e.version,installPath:e.installPath,installedAt:e.installedAt,isActive:e.version===n})),s=t.version;return{clientId:e,installedVersions:r,activeVersion:n,pinnedVersion:s,updateAvailable:n!==null&&n!==s}})}var qe=class extends _{config;definitionLookup;versionResolver;jobRunner;strategyDeps;resolvedBasePath;resolvedConfigBasePath;resolver;pendingClients=new Set;constructor(e=g,t,n=new He([]),r=Le()){super(e),this.config=t,this.definitionLookup=n,this.resolvedBasePath=M(t.basePath,`ClientBinaryManager`),this.resolvedConfigBasePath=M(t.configBasePath,`ClientBinaryManager configBasePath`),this.strategyDeps=r,this.versionResolver=new Re,this.jobRunner=new ze(r,t),this.resolver=new We({bus:e,resolvedBasePath:this.resolvedBasePath,resolvedConfigBasePath:this.resolvedConfigBasePath,definitionLookup:n,...t.resolutionPolicy!==void 0&&{resolutionPolicy:t.resolutionPolicy}})}async onInit(){this.registerHandler(D.list,async e=>{let t=await this.handleList();e.setResult({clients:t})}),this.registerHandler(D.install,async e=>{let t=await this.handleInstall(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(D.update,async e=>{let t=await this.handleUpdate(e.payload.clientId);e.setResult(t)}),this.registerHandler(D.setActive,async e=>{let t=await this.handleSetActive(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(D.uninstall,async e=>{let t=await this.handleUninstall(e.payload.clientId,e.payload.version);e.setResult(t)}),this.registerHandler(D.resolveBinary,async e=>{let t=await this.resolver.resolve(e.payload.clientId);e.setResult(t)})}onDestroy(){this.jobRunner.cancelAll(),this.pendingClients.clear()}async handleList(){return Ke(this.bus,this.definitionLookup)}async handleInstall(e,t){let{definition:n,descriptor:r}=this.requireManagedDefinition(e,`client.install`);return this.withClientLock(e,async()=>{let{version:i}=this.versionResolver.resolveInstallVersion(e,r,t);return n.binary!==void 0&&I(`client.install`,e,i,n.binary.supportedVersions,t===void 0?`resolved binary version`:`requested binary version`),{jobId:this.startInstallJob(e,i,r,n,!1,`install`),requestedVersion:t??null,resolvedVersion:i}})}async handleUpdate(e){let{definition:t,descriptor:n}=this.requireManagedDefinition(e,`client.update`);return this.withClientLock(e,async()=>{let{version:r}=this.versionResolver.resolveInstallVersion(e,n);return t.binary!==void 0&&I(`client.update`,e,r,t.binary.supportedVersions,`resolved binary version`),{jobId:this.startInstallJob(e,r,n,t,!0,`update`),resolvedVersion:r}})}async handleSetActive(e,t){if(this.pendingClients.has(e))throw Error(`Operation already in progress for client "${e}"`);this.pendingClients.add(e);try{let{versions:r}=await this.bus.request(F.listVersions,{clientId:e}),i=r.find(e=>e.version===t);if(i===void 0)throw Error(`client.setActive: version '${t}' is not installed for client '${e}'`);let a=this.definitionLookup.getDefinition(e);if(a===void 0)throw Error(`client.setActive: no definition registered for client '${e}'`);a.binary!==void 0&&I(`client.setActive`,e,t,a.binary.supportedVersions,`requested binary version`);let o=Ge(a.versionCommand);if(o===void 0)throw Error(`client.setActive: no versionCommand registered for client '${e}'`);if(!await this.resolver.isExpectedInstallPath(i.installPath,e,t))throw Error(`client.setActive: stored installPath "${i.installPath}" does not match the expected install directory for ${e}@${t}`);return await n(this.strategyDeps.exec,i.installPath,o,t),await this.patchActiveVersion(e,t,`set-active`),{clientId:e,activeVersion:t}}finally{this.pendingClients.delete(e)}}async handleUninstall(e,t){if(this.pendingClients.has(e))throw Error(`Operation already in progress for client "${e}"`);this.pendingClients.add(e);try{let{versions:n}=await this.bus.request(F.listVersions,{clientId:e}),r=n.find(e=>e.version===t);if(r===void 0)throw Error(`client.uninstall: version '${t}' is not installed for client '${e}'`);let{removedVersion:i,previousActiveVersion:a,activeVersion:o}=await this.bus.request(F.removeVersionAndClearActive,{clientId:e,version:t,updatedAt:Date.now()});if(i===null)throw Error(`client.uninstall: failed to delete version '${t}' for client '${e}'`);let s=r.installPath,c=typeof s==`string`&&s.length>0?f.resolve(s):null;if(typeof s!=`string`||s.length===0||c===null||!f.isAbsolute(s)||!await this.resolver.isExpectedInstallPath(c,e,t)?console.warn(`[ClientBinaryManager] Skipping removeDirectory: stored installPath "${String(s)}" does not match the expected install directory for ${e}@${t}`):await this.strategyDeps.removeDirectory(c).catch(n=>{console.warn(`[ClientBinaryManager] Failed to remove binary directory "${c}" for ${e}@${t}:`,n)}),a!==null&&o===null)try{await this.bus.emit(D.version.changed,{clientId:e,previousActiveVersion:a,activeVersion:null,reason:`uninstall`})}catch(e){console.warn(`[ClientBinaryManager] Failed to emit client.version.changed:`,e)}return{clientId:e,removedVersion:t,activeVersion:o}}finally{this.pendingClients.delete(e)}}async patchActiveVersion(e,t,n){let r=(await this.bus.request(F.setActiveVersion,{clientId:e,activeVersion:t,updatedAt:Date.now()})).previousActiveVersion;if(r!==t)try{await this.bus.emit(D.version.changed,{clientId:e,previousActiveVersion:r,activeVersion:t,reason:n})}catch(e){console.warn(`[ClientBinaryManager] Failed to emit client.version.changed:`,e)}return r}requireManagedDefinition(e,t){let n=this.definitionLookup.getDefinition(e);if(n===void 0)throw Error(`${t}: no definition registered for client '${e}'`);let r=n.managedInstall;if(r===void 0)throw Error(`${t}: client '${e}' does not declare a managed install descriptor`);return{definition:n,descriptor:r}}async withClientLock(e,t){if(this.pendingClients.has(e))throw Error(`Operation already in progress for client "${e}"`);this.pendingClients.add(e);try{return await t()}catch(t){throw this.pendingClients.delete(e),t}}startInstallJob(e,t,n,r,i,a){let o={jobId:crypto.randomUUID(),clientId:e,version:t,strategy:n.type,status:`pending`,makeActive:i,reason:a};return this.jobRunner.startJob(o,n,e=>{this.bus.emit(D.installJob.progress,e).catch(e=>{console.warn(`[ClientBinaryManager] Failed to emit client.installJob.progress:`,e)})},this.makeCompletionCallback(),async e=>{this.pendingClients.delete(e.clientId),await this.bus.emit(D.installJob.completed,e).catch(e=>{console.warn(`[ClientBinaryManager] Failed to emit client.installJob.completed:`,e)})},r.postInstall,Ge(r.versionCommand)),o.jobId}makeCompletionCallback(){return async({clientId:e,version:t,installPath:n,makeActive:r,reason:i})=>{let a=Date.now();await A(this.bus,{clientId:e,configDir:this.resolveManagedConfigDir(e),phase:`managed-install`,binaryVersion:t});let o=await this.bus.request(F.recordInstalledVersion,{versionRecord:{id:crypto.randomUUID(),clientId:e,version:t,installPath:n,installedAt:a,createdAt:a},makeActive:r,updatedAt:a});if(r&&o.previousActiveVersion!==o.activeVersion)try{await this.bus.emit(D.version.changed,{clientId:e,previousActiveVersion:o.previousActiveVersion,activeVersion:o.activeVersion,reason:i})}catch(e){console.warn(`[ClientBinaryManager] Failed to emit client.version.changed:`,e)}}}resolveManagedConfigDir(e){return f.join(this.resolvedConfigBasePath,e,`config`)}};function Je(e,t){return`${e}\0${t}`}function L(e,t){return`${e}\0${t}`}var Ye=class{records=new Map;bySupervisorSessionId=new Map;byPidClientId=new Map;byAdapterSessionClientId=new Map;supervisorSessionCandidates=new Map;pidClientCandidates=new Map;adapterSessionClientCandidates=new Map;adapterOwnedSessions=new Set;set(e,t){let n=t??this.records.get(e.clientRuntimeId);n&&this.removeIndexEntries(n),this.records.set(e.clientRuntimeId,e),this.addIndexEntries(e,!0)}setFromStorage(e,t,n){let r=this.records.get(e.clientRuntimeId);r&&this.removeIndexEntries(r),this.records.set(e.clientRuntimeId,e);let i=t-e.updatedAt<=n;this.addIndexEntries(e,i)}delete(e){let t=this.records.get(e);t&&(this.removeIndexEntries(t),t.adapterSessionId!==void 0&&this.adapterOwnedSessions.delete(L(t.adapterSessionId,t.clientId)),this.records.delete(e))}get(e){return this.records.get(e)}findByEvidence(e,t,n,r){if(e!==void 0){let t=this.bySupervisorSessionId.get(e);if(t!==void 0)return this.records.get(t)}if(t!==void 0){let n=this.byPidClientId.get(Je(t,r));if(n!==void 0){let t=this.records.get(n);if(t!==void 0)return this.canMatchFallbackEvidence(t,e)?t:void 0}}if(n!==void 0){let t=this.byAdapterSessionClientId.get(L(n,r));if(t!==void 0){let n=this.records.get(t);if(n!==void 0)return this.canMatchFallbackEvidence(n,e)?n:void 0}}}values(){return this.records.values()}clear(){this.records.clear(),this.bySupervisorSessionId.clear(),this.byPidClientId.clear(),this.byAdapterSessionClientId.clear(),this.supervisorSessionCandidates.clear(),this.pidClientCandidates.clear(),this.adapterSessionClientCandidates.clear(),this.adapterOwnedSessions.clear()}markAdapterOwned(e,t){this.adapterOwnedSessions.add(L(e,t))}hasAdapterSession(e,t){return this.adapterOwnedSessions.has(L(e,t))}get size(){return this.records.size}addIndexEntries(e,t){e.supervisorSessionId!==void 0&&this.setIndexEntry(this.bySupervisorSessionId,this.supervisorSessionCandidates,e.supervisorSessionId,e),t&&(e.pid!==void 0&&this.setIndexEntry(this.byPidClientId,this.pidClientCandidates,Je(e.pid,e.clientId),e),e.adapterSessionId!==void 0&&this.setIndexEntry(this.byAdapterSessionClientId,this.adapterSessionClientCandidates,L(e.adapterSessionId,e.clientId),e))}removeIndexEntries(e){e.supervisorSessionId!==void 0&&this.deleteIndexEntry(this.bySupervisorSessionId,this.supervisorSessionCandidates,e.supervisorSessionId,e.clientRuntimeId),e.pid!==void 0&&this.deleteIndexEntry(this.byPidClientId,this.pidClientCandidates,Je(e.pid,e.clientId),e.clientRuntimeId),e.adapterSessionId!==void 0&&this.deleteIndexEntry(this.byAdapterSessionClientId,this.adapterSessionClientCandidates,L(e.adapterSessionId,e.clientId),e.clientRuntimeId)}canMatchFallbackEvidence(e,t){return t===void 0||e.supervisorSessionId===void 0||e.supervisorSessionId===t}deleteIndexEntry(e,t,n,r){let i=t.get(n);if(i?.delete(r)&&(i.size===0&&t.delete(n),e.get(n)===r)){let t=this.findBestIndexOwner(i);t===void 0?e.delete(n):e.set(n,t.clientRuntimeId)}}setIndexEntry(e,t,n,r){let i=t.get(n);i===void 0&&(i=new Set,t.set(n,i)),i.add(r.clientRuntimeId);let a=e.get(n),o=a===void 0||!i.has(a)?void 0:this.records.get(a);(o===void 0||this.isNewerIndexOwner(r,o))&&e.set(n,r.clientRuntimeId)}findBestIndexOwner(e){let t;for(let n of e){let e=this.records.get(n);e!==void 0&&(t===void 0||this.isNewerIndexOwner(e,t))&&(t=e)}return t}isNewerIndexOwner(e,t){return e.createdAt>t.createdAt||e.createdAt===t.createdAt&&e.clientRuntimeId>t.clientRuntimeId}};const R=[`observed`,`started`],z=u.object({clientRuntimeId:u.string(),clientId:u.string(),status:u.enum(R),supervisorSessionId:u.string().optional(),pid:u.number().int().positive().optional(),parentPid:u.number().int().positive().optional(),adapterSessionId:u.string().optional(),sessionId:u.string().optional(),cwd:u.string().optional(),argv:u.array(u.string()).optional(),metadata:u.record(u.string(),u.unknown()).optional(),observedAt:u.number().int().nonnegative(),createdAt:u.number().int().nonnegative(),updatedAt:u.number().int().nonnegative()}),B=h(`client-runtime:storage`,{upsert:{request:z,response:u.object({success:u.boolean()})},loadAll:{request:u.object({}),response:u.object({records:u.array(z)})}}),V=B.subjects;function Xe(e){return e.supervisorSessionId!==void 0||e.adapterSessionId!==void 0}function H(e){return{...e,argv:e.argv===void 0?void 0:[...e.argv],metadata:e.metadata===void 0?void 0:structuredClone(e.metadata)}}function Ze(e){return Math.max(Date.now(),e+1)}function Qe(e,t){if(t.supervisorSessionId!==void 0&&t.supervisorSessionId===e.supervisorSessionId&&t.adapterSessionId!==void 0&&e.adapterSessionId!==void 0&&t.adapterSessionId!==e.adapterSessionId){if($e(e,t))return;throw Error(`client.runtime.observe: adapterSessionId '${t.adapterSessionId}' conflicts with the existing adapterSessionId '${e.adapterSessionId}' for supervisorSessionId '${t.supervisorSessionId}'`)}}function $e(e,t){return t.adapterSessionTransition===`root-clear`&&t.clientId===`codex`&&t.source.layer===`client-hook`&&t.source.producer===`codex-client-session-service`&&t.supervisorSessionId!==void 0&&t.supervisorSessionId===e.supervisorSessionId&&t.adapterSessionId!==void 0&&t.adapterSessionId!==e.adapterSessionId}function et(e,t){let n=!1;return t.supervisorSessionId!==void 0&&e.supervisorSessionId!==t.supervisorSessionId&&(e.supervisorSessionId=t.supervisorSessionId,n=!0),t.pid!==void 0&&e.pid!==t.pid&&(e.pid=t.pid,n=!0),t.parentPid!==void 0&&e.parentPid!==t.parentPid&&(e.parentPid=t.parentPid,n=!0),t.adapterSessionId!==void 0&&e.adapterSessionId!==t.adapterSessionId&&(e.adapterSessionId=t.adapterSessionId,n=!0),t.sessionId!==void 0&&e.sessionId!==t.sessionId&&(e.sessionId=t.sessionId,n=!0),t.cwd!==void 0&&e.cwd!==t.cwd&&(e.cwd=t.cwd,n=!0),t.argv!==void 0&&JSON.stringify(e.argv)!==JSON.stringify(t.argv)&&(e.argv=[...t.argv],n=!0),t.metadata!==void 0&&JSON.stringify(e.metadata)!==JSON.stringify(t.metadata)&&(e.metadata=structuredClone(t.metadata),n=!0),n}function tt(e,t){e.adapterSessionId=t.adapterSessionId,e.sessionId=void 0}var nt=class{runtimeMap=new Ye;mutationLane=new m;bus;latestCreatedAt=0;constructor(e){this.bus=e}async loadFromStorage(){await this.mutationLane.run(()=>this.loadFromStorageInLane())}async loadFromStorageInLane(){if(!this.bus)return;let e=await this.bus.requestOptional(V.loadAll,{});if(!e.handled)return;let t=Date.now();for(let n of e.data.records)this.runtimeMap.setFromStorage(H(n),t,864e5),this.latestCreatedAt=Math.max(this.latestCreatedAt,n.createdAt)}async upsertRuntime(e){return this.mutationLane.run(()=>this.upsertRuntimeInLane(e))}async upsertRuntimeInLane(e){let t=this.runtimeMap.findByEvidence(e.supervisorSessionId,e.pid,e.adapterSessionId,e.clientId);if(t){let n=H(t);Qe(n,e);let r=$e(n,e);r&&tt(n,e);let i=n.status===`observed`,a=i&&Xe(e),o=et(n,e),s=i&&e.observedAt>n.observedAt;return a&&(n.status=`started`),(r||o||a||s)&&(n.updatedAt=Ze(n.updatedAt),s&&(n.observedAt=e.observedAt),await this.persistRecord(n),this.runtimeMap.set(n,t)),{clientRuntimeId:n.clientRuntimeId,created:!1,promoted:a,record:H(n)}}let n=this.nextCreatedAt(),r=p(),i=Xe(e)?`started`:`observed`,a={clientRuntimeId:r,clientId:e.clientId,status:i,supervisorSessionId:e.supervisorSessionId,pid:e.pid,parentPid:e.parentPid,adapterSessionId:e.adapterSessionId,sessionId:e.sessionId,cwd:e.cwd,argv:e.argv?[...e.argv]:void 0,metadata:e.metadata?structuredClone(e.metadata):void 0,observedAt:e.observedAt,createdAt:n,updatedAt:n};return await this.persistRecord(a),this.runtimeMap.set(a),{clientRuntimeId:r,created:!0,promoted:!1,record:H(a)}}getRuntime(e){let t=this.runtimeMap.get(e);return t?H(t):void 0}resolveBySupervisorSessionId(e,t){let n=this.runtimeMap.findByEvidence(t,void 0,void 0,e);return n===void 0||n.clientId!==e||n.supervisorSessionId!==t?null:{clientId:n.clientId,supervisorSessionId:n.supervisorSessionId,...n.adapterSessionId!==void 0&&{adapterSessionId:n.adapterSessionId},...n.sessionId!==void 0&&{sessionId:n.sessionId},updatedAt:n.updatedAt}}markAdapterOwned(e,t){this.runtimeMap.markAdapterOwned(e,t)}hasAdapterSession(e,t){return this.runtimeMap.hasAdapterSession(e,t)}async clear(){await this.mutationLane.run(async()=>{this.runtimeMap.clear()})}get size(){return this.runtimeMap.size}nextCreatedAt(){return this.latestCreatedAt=Math.max(Date.now(),this.latestCreatedAt+1),this.latestCreatedAt}async persistRecord(e){if(!this.bus)return;let t=await this.bus.requestOptional(V.upsert,H(e));if(t.handled&&!t.data.success)throw Error(`client runtime storage rejected persistence for '${e.clientRuntimeId}'`)}};function rt(e,t){return{subject:t,$meta:{namespace:`client:${s(e,`createClientWiringSubjectDef`)}`,isRequest:!0,local:!1,channel:!1}}}function it(e){return rt(e,`wiring.list`)}const at=u.string().min(1).refine(f.isAbsolute,{message:`projectDir must be an absolute path`}),ot=u.object({entries:u.array(O)}),st=u.object({applied:u.number().int().nonnegative(),skipped:u.number().int().nonnegative()}),ct=u.object({removed:u.number().int().nonnegative()}),lt=u.object({clientId:u.string().trim().min(1),entries:u.array(O)});function ut(e){if(e!==void 0&&!f.isAbsolute(e))throw Error(`projectDir must be an absolute path, got: ${e}`)}var dt=class extends _{accountRegistry;runtimeRegistry;latestSnapshots=new Map;runtimeObserveRegistrationEpoch=0;activeIdentities=new Map;constructor(e=g,t=new Oe,n=new nt(e)){super(e),this.accountRegistry=t,this.runtimeRegistry=n}async onInit(){await this.runtimeRegistry.loadFromStorage(),this.registerHandler(D.account.observe,e=>this.handleAccountObserve(e)),this.registerHandler(D.usage.ingest,e=>this.handleUsageIngest(e)),this.registerHandler(D.scan,async e=>{let t=await this.scanClients(e.payload.targets);e.setResult({results:t})});let e=++this.runtimeObserveRegistrationEpoch;this.addCleanup(this.bus.on(D.runtime.observe,t=>this.handleRuntimeObserve(t,e))),this.registerHandler(D.runtime.resolveBySupervisorSessionId,e=>{e.setResult({runtime:this.runtimeRegistry.resolveBySupervisorSessionId(e.payload.clientId,e.payload.supervisorSessionId)})}),this.registerHandler(D.runtime.isAdapterManaged,e=>{let{adapterSessionId:t,clientId:n}=e.payload;e.setResult({managed:this.runtimeRegistry.hasAdapterSession(t,n)})}),this.registerHandler(D.wiring.list,async e=>{let t=await this.listWirings(e.payload);e.setResult({results:t})}),this.registerHandler(D.account.activate,e=>{this.activeIdentities.set(e.payload.clientId,{clientAccountId:e.payload.clientAccountId,identifiers:e.payload.identifiers,displayLabel:e.payload.displayLabel}),e.setResult({accepted:!0})}),this.registerHandler(D.account.getActive,e=>{let t=this.activeIdentities.get(e.payload.clientId);e.setResult({identity:t??null})})}async onDestroy(){this.runtimeObserveRegistrationEpoch+=1,await this.runtimeRegistry.clear(),this.latestSnapshots.clear(),this.activeIdentities.clear(),this.accountRegistry.clear()}getLatestSnapshot(e){return this.latestSnapshots.get(e)}async handleAccountObserve(e){let t=this.accountRegistry.upsertAccount({clientId:e.payload.clientId,identifiers:e.payload.identifiers,displayLabel:e.payload.displayLabel}),n=this.latestSnapshots.get(t.clientAccountId),r=mt(this.consolidateMergedSnapshots(t.clientAccountId,t.mergedAccountIds)??n,t.displayLabel);r&&this.latestSnapshots.set(t.clientAccountId,r),r&&(t.mergedAccountIds.length>0||r!==n)&&await this.bus.emit(D.usage.snapshot,r),e.setResult({clientAccountId:t.clientAccountId,displayLabel:t.displayLabel})}async handleUsageIngest(e){let t=this.accountRegistry.upsertAccount({clientId:e.payload.clientId,identifiers:e.payload.account.identifiers,displayLabel:e.payload.account.displayLabel});this.consolidateMergedSnapshots(t.clientAccountId,t.mergedAccountIds);let n=ft(t.clientAccountId,e.payload,t.displayLabel),r=mt(pt(this.latestSnapshots.get(t.clientAccountId),n),t.displayLabel);this.latestSnapshots.set(t.clientAccountId,r),await this.bus.emit(D.usage.snapshot,r),e.setResult({clientAccountId:t.clientAccountId,snapshot:r})}async handleRuntimeObserve(e,t){if(t!==this.runtimeObserveRegistrationEpoch||!this.initialized)throw Error(`client.runtime.observe: service is stopping`);let n=this.serviceLifecycleGeneration,{payload:r}=e;if(r.supervisorSessionId===void 0&&r.pid===void 0&&r.adapterSessionId===void 0)throw Error(`client.runtime.observe: at least one hard-evidence field is required (supervisorSessionId, pid, or adapterSessionId)`);let{record:i,...a}=await this.runtimeRegistry.upsertRuntime(r);if(!this.isCurrentLifecycle(n)){e.setResult({clientRuntimeId:a.clientRuntimeId,created:a.created,promoted:a.promoted});return}r.source.layer===`adapter`&&r.adapterSessionId!==void 0&&this.runtimeRegistry.markAdapterOwned(r.adapterSessionId,r.clientId),this.bus.emit(D.runtime.observed,{clientRuntimeId:i.clientRuntimeId,clientId:i.clientId,status:i.status,source:r.source,observedAt:r.observedAt,supervisorSessionId:i.supervisorSessionId,pid:i.pid,parentPid:i.parentPid,adapterSessionId:i.adapterSessionId,sessionId:i.sessionId,cwd:i.cwd,argv:i.argv,metadata:i.metadata,updatedAt:i.updatedAt}).catch(e=>{console.warn(`[ClientRuntimeService] Failed to emit client.runtime.observed:`,e)}),(a.created||a.promoted)&&this.isCurrentLifecycle(n)&&await this.bus.emit(D.runtime.started,{clientRuntimeId:i.clientRuntimeId,clientId:i.clientId,status:i.status,source:r.source,observedAt:r.observedAt,supervisorSessionId:i.supervisorSessionId,pid:i.pid,parentPid:i.parentPid,adapterSessionId:i.adapterSessionId,sessionId:i.sessionId,cwd:i.cwd,argv:i.argv,metadata:i.metadata}).catch(e=>{console.warn(`[ClientRuntimeService] Failed to emit client.runtime.started:`,e)}),e.setResult({clientRuntimeId:a.clientRuntimeId,created:a.created,promoted:a.promoted})}async scanClients(e){let t=e??await this.listScannableStoredClients();if(t.length===0)return[];let n=Array.from(new Set(t.map(e=>e.binaryName))),{results:r}=await this.bus.request(Se.scan,{binaries:n}),i=new Map(r.map(e=>[e.binary,e]));return t.map(e=>{let t=i.get(e.binaryName),n=t?.found??!1,r=t?.version,a=t?.path;return{clientId:e.clientId,found:n,...a!==void 0&&{binaryPath:a},version:r,warningMessage:gt(n,r,e.supportedVersions)}})}async listScannableStoredClients(){let{clients:e}=await this.bus.request(Ce.list,{});return e.filter(ht).map(e=>({clientId:e.id,binaryName:e.binary.name,supportedVersions:e.binary.supportedVersions}))}async listWirings(e){ut(e.projectDir);let{clients:t}=await this.bus.request(Ce.list,{}),n=e.clientId===void 0?void 0:s(e.clientId,`listWirings`),r=t.filter(e=>e.enabled).filter(e=>n===void 0||e.id===n),i=await Promise.allSettled(r.map(async t=>{let n=it(t.id),r=await this.bus.requestOptional(n,{projectDir:e.projectDir,makaioCommand:e.makaioCommand});return r.handled?{clientId:t.id,entries:r.data.entries}:null}));for(let e=0;e<i.length;e++){let t=i[e];if(t.status===`rejected`){let n=t.reason instanceof Error?t.reason.message:String(t.reason);console.warn(`[ClientRuntimeService] wiring.list for ${r[e].id} failed: ${n}`)}}return i.filter(e=>e.status===`fulfilled`).map(e=>e.value).filter(e=>e!==null)}consolidateMergedSnapshots(e,t){let n=this.latestSnapshots.get(e),r=!1;for(let i of t){if(i===e)continue;let t=this.latestSnapshots.get(i);t&&(n===void 0||t.observedAt>n.observedAt)&&(n={...t,clientAccountId:e},r=!0),this.latestSnapshots.delete(i)}return n&&this.latestSnapshots.set(e,n),r?n:void 0}};function ft(e,t,n){return{clientAccountId:e,clientId:t.clientId,observedAt:t.observedAt,source:t.source,displayLabel:n,usage:{windows:t.usage.windows.map(e=>({...e}))},metadata:t.metadata?{...t.metadata}:void 0}}function pt(e,t){return e&&e.observedAt>t.observedAt?e:t}function mt(e,t){return!e||t===void 0||e.displayLabel===t?e:{...e,displayLabel:t}}function ht(e){return e.enabled&&e.binary!==void 0}function gt(e,t,n){if(e&&t!==void 0&&t!==`unknown`&&n!==void 0&&!ie(t,n))return`Unsupported version: requires ${n}`}var _t=class extends _{constructor(e=g){super(e)}onInit(){this.registerHandler(D.config.prime,async e=>{e.setResult(await A(this.bus,e.payload))})}};const U=pe,W=u.string().trim().min(1),G=h(`client-profile:storage`,{get:{request:u.object({clientId:W,name:E}),response:u.object({record:U.nullable()})},getById:{request:u.object({id:W}),response:u.object({record:U.nullable()})},list:{request:u.object({clientId:W}),response:u.object({records:u.array(U)})},set:{request:U,response:u.object({success:u.boolean()})},delete:{request:u.object({clientId:W,name:E}),response:u.object({success:u.boolean()})},clearDefault:{request:u.object({clientId:W}),response:u.object({success:u.boolean()})},setDefault:{request:u.object({clientId:W,name:E}),response:u.object({record:U.nullable()})}}),K=G.subjects;function vt(e,t,n){let r=f.resolve(e),i=f.resolve(t),a=f.relative(r,i);if(a!==``&&!a.startsWith(`..`)&&!f.isAbsolute(a))return i;throw Error(`${n} refused to access path outside client profile root`)}var yt=class extends _{clientsBasePath;constructor(e,t){super(e),this.clientsBasePath=t}async onInit(){this.registerCreateHandler(),this.registerListHandler(),this.registerGetHandler(),this.registerUpdateHandler(),this.registerDeleteHandler(),this.registerSetDefaultHandler()}registerCreateHandler(){this.registerHandler(D.profile.create,async e=>{let t=s(e.payload.clientId,`profile.create`),{name:n,description:r}=e.payload;if((await this.bus.request(K.get,{clientId:t,name:n})).record!==null)throw Error(`Profile '${n}' already exists for client '${t}'`);let i=f.join(this.clientsBasePath,t,`profiles`),a=vt(i,f.join(i,n),`profile.create`);await d.mkdir(a,{recursive:!0});try{await A(this.bus,{clientId:t,configDir:a,phase:`profile-create`});let i=Date.now(),o={id:p(),clientId:t,name:n,description:r??null,configDir:a,isDefault:!1,createdAt:i,updatedAt:i};await this.bus.request(K.set,o),e.setResult({profile:o})}catch(e){throw await d.rm(a,{recursive:!0,force:!0}),e}})}registerListHandler(){this.registerHandler(D.profile.list,async e=>{let t=s(e.payload.clientId,`profile.list`),n=await this.bus.request(K.list,{clientId:t});e.setResult({profiles:n.records})})}registerGetHandler(){this.registerHandler(D.profile.get,async e=>{let t=s(e.payload.clientId,`profile.get`),n=await this.bus.request(K.get,{clientId:t,name:e.payload.name});e.setResult({profile:n.record})})}registerUpdateHandler(){this.registerHandler(D.profile.update,async e=>{let t=s(e.payload.clientId,`profile.update`),{name:n,description:r}=e.payload,i=await this.bus.request(K.get,{clientId:t,name:n});if(i.record===null)throw Error(`Profile '${n}' not found for client '${t}'`);let a={...i.record,description:r===void 0?i.record.description:r,updatedAt:Date.now()};await this.bus.request(K.set,a),e.setResult({profile:a})})}registerDeleteHandler(){this.registerHandler(D.profile.delete,async e=>{let t=s(e.payload.clientId,`profile.delete`),{name:n}=e.payload,r=await this.bus.request(K.get,{clientId:t,name:n});r.record!==null&&(vt(f.join(this.clientsBasePath,t,`profiles`),r.record.configDir,`profile.delete`),await d.rm(r.record.configDir,{recursive:!0,force:!0}));let i=await this.bus.request(K.delete,{clientId:t,name:n});e.setResult({success:i.success})})}registerSetDefaultHandler(){this.registerHandler(D.profile.setDefault,async e=>{let t=s(e.payload.clientId,`profile.setDefault`),{name:n}=e.payload,r=await this.bus.request(K.setDefault,{clientId:t,name:n});if(r.record===null)throw Error(`Profile '${n}' not found for client '${t}'`);e.setResult({profile:r.record})})}};function bt(e){return{subject:`sessionConfig.setup`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}function xt(e){return{subject:`sessionConfig.destroy`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1}}}const St=()=>Date.now();function Ct(){let e=k.platform();if(e===`darwin`||e===`linux`||e===`win32`)return e;throw Error(`client.sessionConfig does not support platform '${e}'`)}function wt(e,t,n){let r=ge.safeParse(t);if(!r.success)throw Error(`${n} received an unsafe lease ID`);let i=f.resolve(e),a=f.resolve(i,r.data),o=f.relative(i,a);if(o===``||!o.startsWith(`..`)&&!f.isAbsolute(o))return a;throw Error(`${n} refused to access path outside client sessions root`)}var Tt=class extends _{clientsBasePath;getNow;liveLeasesByClient=new Map;liveLeasesByOwner=new Map;constructor(e,t,n=St){super(e),this.clientsBasePath=t,this.getNow=n}async onInit(){this.registerCreateHandler(),this.registerHandler(D.sessionConfig.destroy,async e=>{let{clientId:t,leaseId:n}=e.payload,r=s(t,`sessionConfig.destroy`),i=this.resolveClientSessionDir(r,n,`sessionConfig.destroy`),a=this.getLiveLease(r,n);a===void 0?await this.destroyClientSessionDir(r,i):await this.releaseLiveLease(a),e.setResult({success:!0})}),this.registerHandler(D.sessionConfig.cleanup,async e=>{let{clientId:t}=e.payload,n=t===void 0?void 0:s(t,`sessionConfig.cleanup`),r=await this.cleanupOrphanedDirs(n);e.setResult({removed:r})}),this.registerHandler(xe.closed,async e=>{await this.destroyOwnedLeases(e.payload.sessionId)}),await this.cleanupOrphanedDirs()}registerCreateHandler(){this.registerHandler(D.sessionConfig.create,async e=>{let{clientId:t,leaseId:n,ownerSessionId:r,profileName:i,baseConfigDir:a,projectDir:o,configInheritance:c=`full`}=e.payload,l=s(t,`sessionConfig.create`),u=this.resolveClientSessionDir(l,n,`sessionConfig.create`),f=this.reserveLiveLease({clientId:l,leaseId:n,...r===void 0?{}:{ownerSessionId:r}});try{await d.mkdir(u,{recursive:!0});let t=await this.resolveBaseConfigDir(l,u,i,a),r=bt(l),s=await this.bus.requestOptional(r,{sessionDir:u,baseConfigDir:t,projectDir:o,platform:Ct(),configInheritance:c}),p=s.handled?s.data.env??{}:{},m=s.handled?s.data.authMaterialized:!1;if(await A(this.bus,{clientId:l,configDir:u,phase:`session-create`,projectDir:o}),f.releaseRequested)throw Error(`Config lease '${n}' was released while it was being created`);e.setResult({sessionDir:u,env:p,authMaterialized:m}),f.state=`ready`}catch(e){try{await this.beginLeaseCleanup(f)}catch(t){throw AggregateError([e,t],`Client session config creation and rollback both failed`)}throw e}finally{f.settleCreation(),f.state===`released`&&this.untrackLiveLease(f)}})}async resolveBaseConfigDir(e,t,n,r){if(r!==void 0)return r;if(n!==void 0){let t=await this.bus.request(K.get,{clientId:e,name:n});if(t.record!==null)return t.record.configDir;throw Error(`Profile '${n}' not found for client '${e}'`)}let i=(await this.bus.request(K.list,{clientId:e})).records.find(e=>e.isDefault);return i?i.configDir:t}async cleanupOrphanedDirs(e){let t=[],n=this.getNow(),r=e===void 0?await this.listClientIds():[e];return await Promise.all(r.map(async e=>{let r=f.join(this.clientsBasePath,e,`sessions`),i=await d.readdir(r).catch(()=>[]);await Promise.all(i.map(async i=>{if(!ge.safeParse(i).success)return;let a=wt(r,i,`sessionConfig.cleanup`),o;try{o=await d.stat(a)}catch(e){let t=e.code;if(t===`ENOENT`||t===`ENOTDIR`)return;throw e}let s=o.birthtimeMs>0?o.birthtimeMs:o.ctimeMs;o.isDirectory()&&n-s>36e5&&!this.isLiveLease(e,i)&&(await this.destroyClientSessionDir(e,a),t.push(a))}))})),t}async destroyOwnedLeases(e){let t=[...this.liveLeasesByOwner.get(e)??[]],n=(await Promise.allSettled(t.map(async e=>{this.getLiveLease(e.clientId,e.leaseId)===e&&await this.releaseLiveLease(e)}))).flatMap(e=>e.status===`rejected`?[e.reason]:[]);if(n.length>0)throw AggregateError(n,`Failed to release config leases owned by session '${e}'`)}async destroyClientSessionDir(e,t){try{await this.bus.requestOptional(xt(e),{sessionDir:t,platform:Ct()})}finally{await d.rm(t,{recursive:!0,force:!0})}}isLiveLease(e,t){return this.getLiveLease(e,t)!==void 0}getLiveLease(e,t){return this.liveLeasesByClient.get(e)?.get(t)}resolveClientSessionDir(e,t,n){return wt(f.join(this.clientsBasePath,e,`sessions`),t,n)}reserveLiveLease(e){if(this.isLiveLease(e.clientId,e.leaseId))throw Error(`Config lease '${e.leaseId}' is already active for client '${e.clientId}'`);let t=Promise.withResolvers(),n={...e,state:`creating`,releaseRequested:!1,creationSettled:t.promise,settleCreation:()=>t.resolve()},r=this.liveLeasesByClient.get(n.clientId)??new Map;if(r.set(n.leaseId,n),this.liveLeasesByClient.set(n.clientId,r),n.ownerSessionId!==void 0){let e=this.liveLeasesByOwner.get(n.ownerSessionId)??new Set;e.add(n),this.liveLeasesByOwner.set(n.ownerSessionId,e)}return n}async releaseLiveLease(e){if(this.getLiveLease(e.clientId,e.leaseId)!==e){e.releasePromise!==void 0&&await e.releasePromise;return}if(e.releaseRequested=!0,e.state===`creating`){await e.creationSettled,e.releasePromise!==void 0&&await e.releasePromise;return}await this.beginLeaseCleanup(e)}beginLeaseCleanup(e){if(e.releasePromise!==void 0)return e.releasePromise;if(this.getLiveLease(e.clientId,e.leaseId)!==e)return Promise.resolve();let t=e.state===`creating`;e.state=`releasing`;let n=this.resolveClientSessionDir(e.clientId,e.leaseId,`sessionConfig.release`);return e.releasePromise=this.destroyClientSessionDir(e.clientId,n).finally(()=>{e.state=`released`,t||this.untrackLiveLease(e)}),e.releasePromise}untrackLiveLease(e){let t=this.liveLeasesByClient.get(e.clientId);if(t?.get(e.leaseId)===e&&(t.delete(e.leaseId),t.size===0&&this.liveLeasesByClient.delete(e.clientId),e.ownerSessionId!==void 0)){let t=this.liveLeasesByOwner.get(e.ownerSessionId);t?.delete(e),t?.size===0&&this.liveLeasesByOwner.delete(e.ownerSessionId)}}async listClientIds(){return(await d.readdir(this.clientsBasePath,{withFileTypes:!0}).catch(()=>[])).filter(e=>e.isDirectory()).map(e=>e.name)}},Et=class extends _{store=new Map;constructor(e){super(e)}record(e,t){let{clientId:n,adapterSessionId:r,agentId:i}=e,a=this.buildKey(n,r,i);if(this.store.get(a)!==void 0)this.store.delete(a);else if(this.store.size>=1e3){let e=this.store.keys().next().value;e!==void 0&&this.store.delete(e)}this.store.set(a,{token:t,lastActivity:Date.now()})}onInit(){this.registerHandler(D.session.token.get,e=>{let{clientId:t,adapterSessionId:n,agentId:r}=e.payload,i=this.buildKey(t,n,r),a=this.store.get(i);a!==void 0&&(this.store.delete(i),this.store.set(i,{token:a.token,lastActivity:Date.now()})),e.setResult({token:a?.token??null})});let e=setInterval(()=>{let e=Date.now()-864e5;for(let[t,n]of this.store)n.lastActivity<e&&this.store.delete(t)},3e5);e.unref(),this.addCleanup(()=>clearInterval(e))}onDestroy(){this.store.clear()}buildKey(e,t,n){let r=`${e}\n${t}`;return n===void 0?r:`${r}\n${n}`}};function Dt(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function Ot(e,t){return Dt(e[t])}function kt(e){return{clientId:e.clientId,source:`adapter-derived`,observedAt:Date.now(),...e.sessionId!==void 0&&{sessionId:e.sessionId},...e.adapterSessionId!==void 0&&{adapterSessionId:e.adapterSessionId}}}function At(e){try{e().catch(jt)}catch(e){jt(e)}}function jt(e){(process.env.DEBUG||process.env.MAKAIO_DEBUG)&&console.debug(`[emitBestEffort] observed-semantics emission failed`,e)}const Mt=new Set([`hook.received`,`hook.handle`]);function Nt(e,t){return g.registerNamespace(h(`client:${e}`,{"hook.received":o,"hook.handle":ee({request:o,response:r}),...t})).subjects}function Pt(e,t){let n=Object.keys(t).filter(e=>Mt.has(e));if(n.length===0)return;let r=n.join(`, `);throw Error([`[createClientNamespace] additionalSchemas for client:${e}`,`cannot override reserved shared hook subjects: ${r}`].join(` `))}function Ft(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||!(e in n))return!1;n=n[e]}return!0}function It(e,t,n){let r=Object.keys(n).filter(e=>!Ft(t,e));if(r.length!==0)throw Error(`[createClientNamespace] client:${e} was already registered without required subjects: ${r.join(`, `)}`)}function Lt(e,t){let n=s(e,`createClientNamespace`),r=t??{};Pt(n,r);let i=Nt(n,r);return It(n,i,r),{namespaceDomain:`client:${n}`,subjects:i}}const q=b(`client_runtimes`,e=>({id:e.text(`id`).primaryKey(),clientId:e.text(`client_id`).notNull(),status:e.text(`status`).notNull(),supervisorSessionId:e.text(`supervisor_session_id`),pid:e.int4(`pid`),parentPid:e.int4(`parent_pid`),adapterSessionId:e.text(`adapter_session_id`),sessionId:e.text(`session_id`),cwd:e.text(`cwd`),argv:e.jsonCol(`argv`),metadata:e.jsonCol(`metadata`),observedAt:e.epochMs(`observed_at`).notNull(),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()}),{sqlite:e=>[v(`idx_client_runtimes_supervisor_session_id`).on(e.supervisorSessionId),v(`idx_client_runtimes_pid_client_id`).on(e.pid,e.clientId),v(`idx_client_runtimes_adapter_session_id_client_id`).on(e.adapterSessionId,e.clientId)],postgres:e=>[se(`idx_client_runtimes_supervisor_session_id`).on(e.supervisorSessionId),se(`idx_client_runtimes_pid_client_id`).on(e.pid,e.clientId),se(`idx_client_runtimes_adapter_session_id_client_id`).on(e.adapterSessionId,e.clientId)]}),Rt=q.sqlite,zt=q.postgres,Bt=y({clientRuntimes:Rt},{clientRuntimes:zt}),Vt=new Set(R);function Ht(e){if(!Vt.has(e.status))throw Error(`Unknown ClientRuntimeStatus in DB: '${e.status}'`);return{clientRuntimeId:e.id,clientId:e.clientId,status:e.status,supervisorSessionId:e.supervisorSessionId??void 0,pid:e.pid??void 0,parentPid:e.parentPid??void 0,adapterSessionId:e.adapterSessionId??void 0,sessionId:e.sessionId??void 0,cwd:e.cwd??void 0,argv:e.argv??void 0,metadata:e.metadata??void 0,observedAt:e.observedAt,createdAt:e.createdAt,updatedAt:e.updatedAt}}function Ut(e,t){let{clientRuntimes:n}=S(t,Bt),r=e.on(V.upsert,async e=>{let r=e.payload,i={clientId:r.clientId,status:r.status,supervisorSessionId:r.supervisorSessionId??null,pid:r.pid??null,parentPid:r.parentPid??null,adapterSessionId:r.adapterSessionId??null,sessionId:r.sessionId??null,cwd:r.cwd??null,argv:r.argv??null,metadata:r.metadata??null,observedAt:r.observedAt,updatedAt:r.updatedAt};await t.insert(n).values({id:r.clientRuntimeId,createdAt:r.createdAt,...i}).onConflictDoUpdate({target:n.id,set:i,setWhere:fe(T`excluded.updated_at`,n.updatedAt)}),e.setResult({success:!0})}),i=e.on(V.loadAll,async e=>{let r=await t.select().from(n);e.setResult({records:r.map(Ht)})});return()=>{r(),i()}}const Wt=b(`client_binary_versions`,e=>({id:e.text(`id`).primaryKey(),clientId:e.text(`client_id`).notNull(),version:e.text(`version`).notNull(),installPath:e.text(`install_path`).notNull(),installedAt:e.epochMs(`installed_at`).notNull(),createdAt:e.epochMs(`created_at`).notNull()}),{sqlite:e=>[ae(`uq_client_binary_versions_client_version`).on(e.clientId,e.version)],postgres:e=>[ce(`uq_client_binary_versions_client_version`).on(e.clientId,e.version)]}),Gt=Wt.sqlite,Kt=b(`client_binary_state`,e=>({clientId:e.text(`client_id`).primaryKey(),activeVersion:e.text(`active_version`),updatedAt:e.epochMs(`updated_at`).notNull()})),qt=Kt.sqlite,Jt=Wt.postgres,Yt=Kt.postgres,J=y({clientBinaryVersions:Gt,clientBinaryState:qt},{clientBinaryVersions:Jt,clientBinaryState:Yt});function Y(e){return{id:e.id,clientId:e.clientId,version:e.version,installPath:e.installPath,installedAt:e.installedAt,createdAt:e.createdAt}}function X(e){return{clientId:e.clientId,activeVersion:e.activeVersion??null,updatedAt:e.updatedAt}}function Xt(e){return{id:e.id,clientId:e.clientId,version:e.version,installPath:e.installPath,installedAt:e.installedAt,createdAt:e.createdAt}}async function Zt(e,t,n){await e.insert(n).values(Xt(t)).onConflictDoNothing({target:[n.clientId,n.version]})}function Qt(e,t,n){return{clientId:e,activeVersion:t,updatedAt:n}}async function $t(e,t,n,r,i){await e.insert(i).values(Qt(t,n,r)).onConflictDoUpdate({target:i.clientId,set:{activeVersion:n,updatedAt:r}})}async function en(e,t){let{clientBinaryVersions:n}=S(e,J);await Zt(e,t,n)}async function tn(e,t,n,r){let{clientBinaryVersions:i,clientBinaryState:a}=S(e,J);return x(e,async e=>{let[o]=await e.select().from(a).where(w(a.clientId,t.clientId)).limit(1),s=o?.activeVersion??null;return await Zt(e,t,i),n?(await $t(e,t.clientId,t.version,r,a),{previousActiveVersion:s,activeVersion:t.version}):{previousActiveVersion:s,activeVersion:s}})}async function nn(e,t){let{clientBinaryVersions:n,clientBinaryState:r}=S(e,J);return x(e,async e=>{let[i]=await e.select().from(r).where(w(r.clientId,t)).limit(1),a=await e.select().from(n).where(w(n.clientId,t));return{state:i?X(i):null,versions:a.map(Y)}})}async function rn(e){let{clientBinaryVersions:t,clientBinaryState:n}=S(e,J);return x(e,async e=>{let r=await e.select().from(n),i=await e.select().from(t);return{states:r.map(X),versions:i.map(Y)}})}async function an(e,t){let{clientBinaryState:n}=S(e,J),r={clientId:t.clientId,activeVersion:t.activeVersion??null,updatedAt:t.updatedAt};await e.insert(n).values(r).onConflictDoUpdate({target:n.clientId,set:r})}async function on(e,t,n,r){let{clientBinaryState:i}=S(e,J);return x(e,async e=>{let[a]=await e.select().from(i).where(w(i.clientId,t)).limit(1),o=a?.activeVersion??null;return await $t(e,t,n,r,i),{previousActiveVersion:o,activeVersion:n}})}async function sn(e,t,n,r){let{clientBinaryVersions:i,clientBinaryState:a}=S(e,J);return x(e,async e=>{let[o]=await e.select().from(a).where(w(a.clientId,t)).limit(1),s=o?.activeVersion??null;if(!ue(await e.delete(i).where(C(w(i.clientId,t),w(i.version,n)))))return{removedVersion:null,previousActiveVersion:s,activeVersion:s};await e.update(a).set({activeVersion:null,updatedAt:r}).where(C(w(a.clientId,t),w(a.activeVersion,n)));let[c]=await e.select().from(a).where(w(a.clientId,t)).limit(1);return{removedVersion:n,previousActiveVersion:s,activeVersion:c?.activeVersion??null}})}function cn(e,t){let{clientBinaryVersions:n,clientBinaryState:r}=S(t,J),i=[e.on(F.insertVersion,async e=>{await en(t,e.payload),e.setResult({success:!0})}),e.on(F.recordInstalledVersion,async e=>{let{versionRecord:n,makeActive:r,updatedAt:i}=e.payload,a=await tn(t,n,r,i);e.setResult(a)}),e.on(F.listVersions,async e=>{let r=await t.select().from(n).where(w(n.clientId,e.payload.clientId));e.setResult({versions:r.map(Y)})}),e.on(F.getSnapshot,async e=>{let{state:n,versions:r}=await nn(t,e.payload.clientId);e.setResult({state:n,versions:r})}),e.on(F.loadAllVersions,async e=>{let r=await t.select().from(n);e.setResult({versions:r.map(Y)})}),e.on(F.upsertState,async e=>{await an(t,e.payload),e.setResult({success:!0})}),e.on(F.setActiveVersion,async e=>{let{clientId:n,activeVersion:r,updatedAt:i}=e.payload,a=await on(t,n,r,i);e.setResult(a)}),e.on(F.getState,async e=>{let[n]=await t.select().from(r).where(w(r.clientId,e.payload.clientId)).limit(1);e.setResult({state:n?X(n):null})}),e.on(F.loadAllState,async e=>{let n=await t.select().from(r);e.setResult({states:n.map(X)})}),e.on(F.loadSnapshot,async e=>{let{states:n,versions:r}=await rn(t);e.setResult({states:n,versions:r})}),e.on(F.removeVersionAndClearActive,async e=>{let{clientId:n,version:r,updatedAt:i}=e.payload,a=await sn(t,n,r,i);e.setResult(a)})];return()=>{for(let e of i)e()}}const ln=b(`client_profiles`,e=>({id:e.text(`id`).primaryKey(),clientId:e.text(`client_id`).notNull(),name:e.text(`name`).notNull(),description:e.text(`description`),configDir:e.text(`config_dir`).notNull(),isDefault:e.bool(`is_default`).notNull().default(!1),createdAt:e.epochMs(`created_at`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()}),{sqlite:e=>[oe(`uq_client_profiles_client_name`).on(e.clientId,e.name),oe(`uq_client_profiles_default`).on(e.clientId).where(T`${e.isDefault} = 1`)],postgres:e=>[le(`uq_client_profiles_client_name`).on(e.clientId,e.name),le(`uq_client_profiles_default`).on(e.clientId).where(T`${e.isDefault} = true`)]}),un=ln.sqlite,dn=ln.postgres,fn=y({clientProfiles:un},{clientProfiles:dn});function Z(e){return{id:e.id,clientId:e.clientId,name:e.name,description:e.description??null,configDir:e.configDir,isDefault:e.isDefault,createdAt:e.createdAt,updatedAt:e.updatedAt}}async function pn(e,t,n){let{clientProfiles:r}=S(e,fn),i=Date.now();return x(e,async e=>{let[a]=await e.select().from(r).where(C(w(r.clientId,t),w(r.name,n))).limit(1);if(a===void 0)return null;await e.update(r).set({isDefault:!1,updatedAt:i}).where(C(w(r.clientId,t),w(r.isDefault,!0))),await e.update(r).set({isDefault:!0,updatedAt:i}).where(C(w(r.clientId,t),w(r.name,n)));let[o]=await e.select().from(r).where(C(w(r.clientId,t),w(r.name,n))).limit(1);return o===void 0?null:Z(o)})}function mn(e,t){let{clientProfiles:n}=S(t,fn),r=[e.on(K.get,async e=>{let{clientId:r,name:i}=e.payload,[a]=await t.select().from(n).where(C(w(n.clientId,r),w(n.name,i))).limit(1);e.setResult({record:a?Z(a):null})}),e.on(K.getById,async e=>{let[r]=await t.select().from(n).where(w(n.id,e.payload.id)).limit(1);e.setResult({record:r?Z(r):null})}),e.on(K.list,async e=>{let r=await t.select().from(n).where(w(n.clientId,e.payload.clientId));e.setResult({records:r.map(Z)})}),e.on(K.set,async e=>{let r=e.payload,i={id:r.id,clientId:r.clientId,name:r.name,description:r.description??null,configDir:r.configDir,isDefault:r.isDefault,createdAt:r.createdAt,updatedAt:r.updatedAt};await t.insert(n).values(i).onConflictDoUpdate({target:n.id,set:{name:r.name,description:r.description??null,configDir:r.configDir,isDefault:r.isDefault,updatedAt:r.updatedAt}}),e.setResult({success:!0})}),e.on(K.delete,async e=>{let{clientId:r,name:i}=e.payload,a=await t.delete(n).where(C(w(n.clientId,r),w(n.name,i)));e.setResult({success:ue(a)})}),e.on(K.clearDefault,async e=>{await t.update(n).set({isDefault:!1,updatedAt:Date.now()}).where(C(w(n.clientId,e.payload.clientId),w(n.isDefault,!0))),e.setResult({success:!0})}),e.on(K.setDefault,async e=>{let{clientId:n,name:r}=e.payload,i=await pn(t,n,r);e.setResult({record:i})})];return()=>{for(let e of r)e()}}function hn(e,t){return`${e}\0${t}`}function gn(e){let t=e=>typeof e==`string`&&e.trim().length>0;if(typeof e!=`object`||!e)throw Error(`Provider contract catalog must be an object`);if(!t(e.clientId)||!t(e.contractId)||!t(e.version))throw Error(`Provider contract catalog requires non-empty clientId, contractId, and version`);if(!Array.isArray(e.supportedInteractions)||e.supportedInteractions.length===0)throw Error(`Provider contract catalog requires supported interactions`);if(e.supportedInteractions.some(e=>!t(e))||new Set(e.supportedInteractions).size!==e.supportedInteractions.length)throw Error(`Provider contract catalog interactions must be non-empty and unique`);if(!Array.isArray(e.blockability)||e.blockability.length!==e.supportedInteractions.length)throw Error(`Provider contract catalog requires complete blockability metadata`);let n=new Map;for(let r of e.blockability){if(!t(r.interaction)||typeof r.blockable!=`boolean`||n.has(r.interaction))throw Error(`Provider contract catalog blockability metadata must be complete and unique`);n.set(r.interaction,r.blockable)}if(e.supportedInteractions.some(e=>!n.has(e))||typeof e.validate!=`function`)throw Error(`Provider contract catalog must provide blockability metadata and a validator for every interaction`)}var _n=class{entries=new Map;registerProviderContract(e,t){gn(t);let n=hn(t.clientId,t.contractId),r=this.entries.get(n);if(r)throw Error(`Provider contract collision: contract '${t.contractId}' for client '${t.clientId}' is already registered by extension '${r.extensionId}'; extension '${e}' cannot claim it`);this.entries.set(n,{extensionId:e,catalog:t})}unregisterProviderContract(e,t,n){let r=hn(t,n),i=this.entries.get(r);i&&i.extensionId===e&&this.entries.delete(r)}unregisterAllByExtension(e){for(let[t,n]of this.entries)n.extensionId===e&&this.entries.delete(t)}getProviderContract(e,t){let n=hn(e,t);return this.entries.get(n)?.catalog}getProviderContractsByClient(e){let t=[];for(let n of this.entries.values())n.catalog.clientId===e&&t.push(n.catalog);return t}getAllProviderContracts(){return[...this.entries.values()].map(e=>e.catalog)}clear(){this.entries.clear()}};function vn(e,t){return`${e}/${t}`}function yn(e,t,n){switch(e.kind){case`event-name`:return e.name===t;case`capability`:return n.includes(e.capability)}}function bn(e,t){let n=t.definition.priority-e.definition.priority;return n===0?e.ordinal-t.ordinal:n}function xn(e){return Array.isArray(e)&&e.length>0&&e.every(e=>typeof e!=`object`||!e?!1:e.kind===`event-name`?typeof e.name==`string`&&e.name.trim().length>0:e.kind===`capability`&&typeof e.capability==`string`&&e.capability.trim().length>0)}function Sn(e){return e.lane===`canonical`?e.clientIds===void 0||Array.isArray(e.clientIds)&&e.clientIds.length>0&&e.clientIds.every(e=>typeof e==`string`&&e.trim().length>0):e.lane===`provider`?typeof e.clientId==`string`&&e.clientId.trim().length>0&&typeof e.contractId==`string`&&e.contractId.trim().length>0:!1}function Cn(e,t){if(typeof t!=`object`||!t||Array.isArray(t))return{code:`invalid-contributor-lane`,message:`Contributor definition must be an object`,extensionName:e};let n={...typeof t.id==`string`&&{contributorId:t.id},extensionName:e};if(!Number.isFinite(t.priority))return{...n,code:`invalid-priority`,message:`Contributor '${t.id}' priority must be a finite number`};if(!xn(t.selectors))return{...n,code:`invalid-selectors`,message:`Contributor '${t.id}' requires non-empty valid selectors`};if(typeof t.respond!=`function`)return{...n,code:`invalid-respond`,message:`Contributor '${t.id}' respond must be a function`};if(!Sn(t))return{...n,code:`invalid-contributor-lane`,message:`Contributor '${t.id}' has an invalid lane or target identity`};if(!ve(t.id))return{...n,code:`invalid-contributor-id`,message:`Contributor ID is empty or invalid`};if(!ye(t.timeoutMs))return{...n,code:`invalid-timeout-ms`,message:`Contributor '${t.id}' has an invalid timeoutMs: ${String(t.timeoutMs)}; must be a positive finite number`}}function wn(e,t,n,r){let i=[],a=new Set;for(let o of t){let t=Cn(e,o);if(t){i.push(t);continue}let s=vn(e,o.id);if(a.has(s)){i.push({code:`invalid-contributor-id`,message:`Duplicate contributor ID '${o.id}' within the same extension batch '${e}'`,contributorId:o.id,extensionName:e});continue}if(r.has(s)){i.push({code:`invalid-contributor-id`,message:`Contributor ID '${o.id}' is already registered by extension '${e}'`,contributorId:o.id,extensionName:e});continue}a.add(s),Tn(e,o,n,i)}return i}function Tn(e,t,n,r){let i=t.failurePolicy??`open`;if(t.lane===`provider`){let a=n.getProviderContract(t.clientId,t.contractId);if(!a){r.push({code:`inactive-provider-contract`,message:`Provider contributor requires active contract '${t.contractId}' for client '${t.clientId}'`,contributorId:t.id,extensionName:e});return}En(e,t,[a],i,r);return}En(e,t,t.clientIds?t.clientIds.flatMap(e=>n.getProviderContractsByClient(e)):n.getAllProviderContracts(),i,r)}function En(e,t,n,r,i){for(let a of t.selectors){let o=a.kind===`capability`?a.capability:a.name,s=n.filter(e=>e.supportedInteractions.includes(o));if((t.lane===`provider`||a.kind===`capability`)&&s.length===0){i.push({code:`unsupported-interaction`,message:`Interaction '${o}' is not supported by an eligible active provider contract`,contributorId:t.id,extensionName:e});continue}if(r===`closed`){if(s.length===0){i.push({code:`closed-policy-on-non-blockable`,message:`Closed failure policy requires blockability proof for interaction '${o}', but no contract declares it for an eligible active client`,contributorId:t.id,extensionName:e});continue}for(let n of s)for(let r of be([a],n))i.push({code:`closed-policy-on-non-blockable`,message:r,contributorId:t.id,extensionName:e})}}}var Dn=class{contractRegistry;contributors=new Map;extensionIndex=new Map;nextOrdinal=1;constructor(e){this.contractRegistry=e}installContributors(e,t){let n=wn(e,t,this.contractRegistry,this.contributors);if(n.length>0)return{errors:n};let r=this.extensionIndex.get(e)??new Set;for(let n of t){let t=vn(e,n.id),i=Object.freeze({...n,selectors:Object.freeze(n.selectors.map(e=>Object.freeze({...e})))}),a=Object.freeze({namespacedId:t,extensionId:e,ordinal:this.nextOrdinal,definition:i});this.nextOrdinal+=1,this.contributors.set(t,a),r.add(t)}return this.extensionIndex.set(e,r),{errors:[]}}removeContributors(e){let t=this.extensionIndex.get(e);if(t){for(let e of t)this.contributors.delete(e);this.extensionIndex.delete(e)}}snapshot(e,t,n,r=[]){let i=[];for(let a of this.contributors.values()){let{definition:o}=a;o.lane===`provider`&&(o.clientId!==e||o.contractId!==t)||o.lane===`canonical`&&o.clientIds!==void 0&&!o.clientIds.includes(e)||a.definition.selectors.some(e=>yn(e,n,r))&&i.push(a)}return i.sort(bn),Object.freeze(i)}clear(){this.contributors.clear(),this.extensionIndex.clear(),this.nextOrdinal=1}};function On(e,t){return{filter:e=>!!e.clientHookResponses,async processActivated(n,r,i){let a=r.clientHookResponses;if(!a)return;let o={extensionName:n,extensionContext:i,getProviderContract:(e,n)=>t.getProviderContract(e,n)},s;try{s=await a.createContributors(o)}catch(e){throw Error(`[ClientHookResponseContributionProcessor] createContributors failed for '${n}': ${e instanceof Error?e.message:String(e)}`,{cause:e})}let c=e.installContributors(n,s);if(c.errors.length>0){let e=c.errors.map(e=>`[${e.code}] ${e.contributorId??`<unknown>`}: ${e.message}`).join(`; `);throw Error(`[ClientHookResponseContributionProcessor] Contributor validation failed for '${n}': ${e}`)}},async processStopped(t){e.removeContributors(t)}}}var kn=class{runtimeService;binaryManager;configPrimeService;profileService;sessionConfigService;sessionTokenService;providerContractRegistry;hookResponseRegistry;sessionTokens;constructor(e,t,n,r,i,a,o,s){this.runtimeService=e,this.binaryManager=t,this.configPrimeService=n,this.profileService=r,this.sessionConfigService=i,this.sessionTokenService=a,this.providerContractRegistry=o,this.hookResponseRegistry=s,this.sessionTokens=a}async init(){let e=(await Promise.allSettled([this.runtimeService.init(),this.binaryManager.init(),this.configPrimeService.init(),this.profileService.init(),this.sessionConfigService.init(),this.sessionTokenService.init()])).filter(e=>e.status===`rejected`);if(e.length>0){for(let t=1;t<e.length;t++)console.warn(`[ClientsCoreService] Multiple init failures, secondary:`,e[t].reason);throw e[0].reason}}async destroy(){let e=(await Promise.allSettled([this.runtimeService.destroy(),this.binaryManager.destroy(),this.configPrimeService.destroy(),this.profileService.destroy(),this.sessionConfigService.destroy(),this.sessionTokenService.destroy()])).filter(e=>e.status===`rejected`);if(e.length>0)throw AggregateError(e.map(e=>e.reason),`ClientsCoreService failed to tear down cleanly`)}};const An=ne(`makaio.clients-core`);function jn(e){let t=[],n=()=>{for(let e of[...t].reverse())e()};try{for(let n of e)t.push(n())}catch(e){throw n(),e}return n}function Mn(e={}){let{definitions:t=[],strategyDependencies:n,postInstallHandlers:r,binaryResolutionPolicy:i}=e,a=[...t],o=new _n,s=new Dn(o);return{name:`makaio.clients-core`,displayName:`Clients Core`,version:`0.1.0`,critical:!0,namespaces:[Ve,B,G],storage:{registerHandlers:de((e,t)=>jn([()=>Ut(e,t),()=>cn(e,t),()=>mn(e,t)]))},create:e=>{let t=new He(a),c=f.join(e.makaioHome,`clients`),l=new qe(e.bus,{basePath:f.join(e.makaioHome,`binaries`),configBasePath:c,postInstallHandlers:r,...i!==void 0&&{resolutionPolicy:i}},t,n),u=new yt(e.bus,c),d=new Tt(e.bus,c),p=new Et(e.bus);return new kn(new dt(e.bus),l,new _t(e.bus),u,d,p,o,s)},runtimeBoot:{configure:e=>{e.registerContributionProcessor(On(s,o))}}}}async function Nn(e,t){let n=await e.requestOptional(D.resolveBinary,{clientId:t});return n.handled?n.data:void 0}function Pn(e,t,n){return[...n??[],e,...t].map(Rn).join(` `)}function Fn(e,t,n,r,i){return Pn(e,[...i??[],...t.split(` `),n],r)}function In(e){return e.runtimeCapabilities.hookEvents.map(e=>{let t={eventName:e.name,mode:_e(e)};return e.minimumVersion===void 0?t:{...t,minimumVersion:e.minimumVersion}})}function Ln(e,t){return e.minimumVersion===void 0||typeof t!=`string`||!te.safeParse(t).success?!0:ie(t,`>=${e.minimumVersion}`)}function Rn(e){return/^[A-Za-z0-9_@%+=:,./-]+$/.test(e)?e:`'${e.replaceAll(`'`,`'\\''`)}'`}const zn=new Set([`context.append`,`session.token`]);function Bn(e){if(e===void 0)return!0;if(!Array.isArray(e))return`canonicalEffects must be an array`;for(let t of e){if(typeof t!=`object`||!t||!zn.has(t.kind)||typeof t.value!=`string`)return`canonicalEffects must contain complete context.append or session.token effects`;if(Object.keys(t).some(e=>e!==`kind`&&e!==`value`))return`canonicalEffects must contain only kind and value`;if(t.kind===`session.token`&&t.value.length===0)return`session.token effect requires a non-empty string value`}return!0}function Vn(e,t,n){return e===void 0?!0:typeof e!=`object`||!e||Array.isArray(e)||e.clientId!==t||e.contractId!==n||typeof e.effects!=`object`||e.effects===null||Array.isArray(e.effects)?`providerEnvelope must contain the exact clientId, contractId, and an effects object`:Object.keys(e).some(e=>e!==`clientId`&&e!==`contractId`&&e!==`effects`)?`providerEnvelope must contain only clientId, contractId, and effects`:!0}function Hn(e,t,n,r,i,a){if(!r)return`Provider contributor requires active contract '${t.contractId}'`;if(r.clientId!==n||r.clientId!==t.clientId)return`Provider contract client '${r.clientId}' does not match '${t.clientId}'`;if(r.contractId!==t.contractId)return`Provider contract '${r.contractId}' does not match '${t.contractId}'`;let o=Vn(e.providerEnvelope,t.clientId,t.contractId);return o===!0?r.validate(e,{clientId:n,eventName:i,eventPayload:a}):o}function Un(e,t,n,r,i,a){if(e===void 0)return!0;if(typeof e!=`object`||!e||Array.isArray(e))return`Contributor response must be an object or undefined`;let o=t.lane===`canonical`?[`canonicalEffects`]:[`providerEnvelope`];return Object.keys(e).some(e=>!o.includes(e))?`Contributor response contains keys outside the ${t.lane} lane`:t.lane===`canonical`?Bn(e.canonicalEffects):Hn(e,t,n,r,i,a)}const Q=Symbol(`contributor-timeout`);function Wn(e){return e.failurePolicy??he}function Gn(e){return e.namespacedId??e.definition.id}function $(e,t){return e===`closed`?`closed-failure`:t}function Kn(e){if(!e)return;let t=[];return e.canonicalEffects&&t.push(...e.canonicalEffects),e.providerEnvelope&&t.push(e.providerEnvelope),t.length>0?t:void 0}function qn(e,t,n){let r=t-Date.now();return r<=0||n.signal.aborted?(n.abort(Error(`Contributor deadline expired`)),Promise.resolve(Q)):new Promise((i,a)=>{let o=!1,s=e=>{o||(o=!0,clearTimeout(c),n.signal.removeEventListener(`abort`,l),i(e))},c=setTimeout(()=>{n.abort(Error(`Contributor timeout`)),s(Q)},r),l=()=>s(Q);n.signal.addEventListener(`abort`,l,{once:!0}),e.then(e=>{Date.now()>=t?(n.abort(Error(`Contributor timeout`)),s(Q)):s(e)},e=>{o||(o=!0,clearTimeout(c),n.signal.removeEventListener(`abort`,l),a(e))})})}function Jn(e){let t=[],n=[],r=`Request deadline already expired before collection started`;for(let i of e){let e=Gn(i),a=$(Wn(i.definition),`timeout`);t.push({contributorId:e,outcome:a,durationMs:0}),n.push({contributorId:e,severity:`error`,message:r})}let i=t.find(e=>e.outcome===`closed-failure`);return{outcomes:t,diagnostics:n,closedFailure:i?{contributorId:i.contributorId,detail:r}:void 0}}function Yn(e,t){if(t.aborted){e.abort(t.reason);return}let n=()=>{e.abort(t.reason)};t.addEventListener(`abort`,n,{once:!0}),e.signal.addEventListener(`abort`,()=>{t.removeEventListener(`abort`,n)},{once:!0})}function Xn(e,t,n,r,i,a){let{definition:o}=e,s=Gn(e),c=Date.now(),l=c+o.timeoutMs,u=n===void 0?l:Math.min(n,l),d=u-c,f=new AbortController;r&&Yn(f,r);let p={clientId:t,deadline:u,remainingBudgetMs:d,signal:f.signal,eventName:i,eventPayload:a};if(f.signal.aborted)return{contributorId:s,definition:o,startMs:c,abort:f,settled:Promise.resolve({tag:`timeout`})};let m;try{let e=o.respond(p);m=e instanceof Promise?e:Promise.resolve(e)}catch(e){m=Promise.reject(e)}return{contributorId:s,definition:o,startMs:c,abort:f,settled:qn(m,u,f).then(e=>e===Q?{tag:`timeout`}:{tag:`ok`,response:e},e=>({tag:`rejected`,error:e}))}}function Zn(e,t,n,r,i,a){let{contributorId:o,definition:s,startMs:c,abort:l}=e,u=Date.now()-c,d=Wn(s);if(l.signal.aborted||l.abort(Error(`Collection complete`)),t.tag===`timeout`){let e=`Contributor timed out after ${u}ms`;return{outcome:{contributorId:o,outcome:$(d,`timeout`),durationMs:u},diagnostic:{contributorId:o,severity:`error`,message:e}}}if(t.tag===`rejected`){let e=`Contributor rejected: ${t.error instanceof Error?t.error.message:String(t.error)}`;return{outcome:{contributorId:o,outcome:$(d,`rejection`),durationMs:u},diagnostic:{contributorId:o,severity:`error`,message:e,cause:t.error}}}let{response:f}=t,p=Un(f,s,n,r,i,a);if(p!==!0){let e=`Validation failed: ${p}`;return{outcome:{contributorId:o,outcome:$(d,`rejection`),durationMs:u},diagnostic:{contributorId:o,severity:`error`,message:e}}}return{outcome:{contributorId:o,outcome:`success`,durationMs:u,effects:Kn(f)}}}function Qn(e,t){let n=e.find(e=>e.outcome===`closed-failure`);if(!n)return{outcomes:e,diagnostics:t};let r={contributorId:n.contributorId,detail:t.find(e=>e.contributorId===n.contributorId)?.message??`Closed failure`};return{outcomes:e.map(e=>{if(e.effects){let{effects:t,...n}=e;return n}return e}),diagnostics:t,closedFailure:r}}async function $n(e,t,n,r,i,a,o){if(e.length===0)return{outcomes:[],diagnostics:[]};if(n!==void 0&&n<=Date.now())return Jn(e);let s=e.map(e=>Xn(e,t,n,r,i,a)),c=await Promise.all(s.map(e=>e.settled)),l=[],u=[];for(let e=0;e<s.length;e++){let{outcome:n,diagnostic:r}=Zn(s[e],c[e],t,o,i,a);l.push(n),r&&u.push(r)}return Qn(l,u)}export{at as AbsolutePathSchema,De as BinaryNotFoundError,R as CLIENT_RUNTIME_STATUSES,Oe as ClientAccountRegistry,ze as ClientBinaryJobRunner,qe as ClientBinaryManager,P as ClientBinaryStateRecordSchema,Ve as ClientBinaryStorageNamespace,F as ClientBinaryStorageSubjects,N as ClientBinaryVersionRecordSchema,Re as ClientBinaryVersionResolver,_t as ClientConfigPrimeService,He as ClientDefinitionRegistry,r as ClientHookHandleResponseSchema,_n as ClientHookProviderContractRegistry,Dn as ClientHookResponseRegistry,U as ClientProfileRecordSchema,yt as ClientProfileService,G as ClientProfileStorageNamespace,K as ClientProfileStorageSubjects,nt as ClientRuntimeRegistry,dt as ClientRuntimeService,B as ClientRuntimeStorageNamespace,V as ClientRuntimeStorageSubjects,Tt as ClientSessionConfigService,Et as ClientSessionTokenService,me as ClientSubjects,lt as ClientWiringAggregatedResultSchema,st as ClientWiringApplyResponseSchema,O as ClientWiringEntrySchema,ot as ClientWiringListResponseSchema,ct as ClientWiringRemoveResponseSchema,kn as ClientsCoreService,An as ClientsCoreToken,i as DEFAULT_HOOK_HANDLE_TIMEOUT_MS,a as NOOP_HOOK_HANDLE_RESPONSE,o as RawClientHookPayloadSchema,z as RuntimeRecordSchema,ut as assertAbsoluteProjectDir,we as atomicModifyFile,Pn as buildClientCommand,kt as buildClientSessionBase,Fn as buildHookCommand,s as canonicalizeClientId,q as clientRuntimesDual,$n as collectContributions,On as createClientHookResponseContributionProcessor,Lt as createClientNamespace,it as createClientWiringListSubjectDef,rt as createClientWiringSubjectDef,Mn as createClientsCorePackage,c as createRawClientHookHandleSubject,l as createRawClientHookReceivedSubject,t as createStrategy,In as deriveSessionEventDescriptors,At as emitBestEffort,j as isPathWithinBase,Ln as isSessionEventSupported,Ot as pickNonEmptyString,Dt as pickNonEmptyStringValue,cn as registerDrizzleClientBinaryStorage,mn as registerDrizzleProfileStorage,Ut as registerDrizzleRuntimeStorage,jn as registerStorageHandlersWithRollback,M as resolveAndValidateBasePath,Nn as resolveClientBinary,n as verifyInstalledVersion};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { $ as ArtifactPartAreaSchema, A as ConfidenceMetadata, B as ARTIFACT_CATEGORY_LIFECYCLE_STATES, C as ArtifactScope, D as ConfidenceBasisSchema, E as ConfidenceBasis, F as EvidenceRefSchema, G as ArtifactEvidenceRequirementsSchema, H as ArtifactCategorySchema, I as LocalRef, J as ArtifactKindView, K as ArtifactKindRegistration, L as LocalRefSchema, M as EntityRef, N as EntityRefSchema, O as ConfidenceLevel, P as EvidenceRef, Q as ArtifactPartArea, R as RelationTypeRegistration, S as ArtifactRevisionSchema, T as ArtifactStatusPathSchema, U as ArtifactDataPathSchema, V as ArtifactCategory, W as ArtifactEvidenceRequirements, X as ArtifactLifecycleState, Y as ArtifactKindViewSchema, Z as ArtifactLifecycleStateSchema, _ as ArtifactRelationTarget, a as ArtifactCompareResponse, at as ArtifactUniquenessRule, b as ArtifactRepresentationsSchema, c as ArtifactObservationSchema, ct as ArtifactRef, d as ArtifactQueryScope, et as ArtifactRelationRequirement, f as ArtifactQueryScopeSchema, g as ArtifactRelationSchema, h as ArtifactRelationQueryTargetSchema, i as ArtifactCompareRequestSchema, it as ArtifactSchemaVersionSchema, j as ConfidenceMetadataSchema, k as ConfidenceLevelSchema, l as ArtifactQueryRequest, lt as ArtifactRefSchema, m as ArtifactRelationQueryTarget, n as ArtifactActorSchema, nt as ArtifactRelationRequirementConditionSchema, o as ArtifactCompareResponseSchema, ot as ArtifactUniquenessRuleSchema, p as ArtifactRelation, q as ArtifactKindRegistrationSchema, r as ArtifactCompareRequest, rt as ArtifactRelationRequirementSchema, s as ArtifactObservation, st as ArtifactUniquenessSelectorSchema, t as ArtifactActor, tt as ArtifactRelationRequirementCondition, u as ArtifactQueryRequestSchema, v as ArtifactRelationTargetSchema, w as ArtifactScopeSchema, x as ArtifactRevision, y as ArtifactRepresentations, z as RelationTypeRegistrationSchema } from "../../schemas-BNQtL3Ln.mjs";
|
|
2
|
-
import { $ as ArtifactLifecycleSnapshotSchema, $n as ARTIFACT_CONTEXT_RELATION_DIRECTIONS, $t as resolveArtifactPart, A as ArtifactLifecycleHistoryRequestSchema, An as ArtifactReviseRequest, Ar as BeforeArtifactHookContext, At as ArtifactPatchPersistedSchema, B as ArtifactLifecycleCurrent, Bn as hydrateArtifactContextTree, Br as mayArtifactDataCarryProperty, Bt as artifactPatchFilterName, C as ArtifactLifecycleFailure, Cn as ArtifactRelationTypeListResponse, Cr as ArtifactDraft, Ct as ArtifactPatchIssueSchema, D as ArtifactLifecycleGetResponse, Dn as ArtifactResolveContextResponse, Dr as ArtifactLifecycleHookEvent, Dt as ArtifactPatchOperationResultSchema, E as ArtifactLifecycleGetRequestSchema, En as ArtifactResolveContextRequest, Er as ArtifactLifecycleHookDefinition, Et as ArtifactPatchOperationResult, F as ArtifactLifecycleSchemas, Fn as ArtifactSubjects, Fr as extractEvidenceOccurrences, Ft as ArtifactPatchSegment, G as ArtifactLifecycleIdentitySchema, Gn as UnresolvedArtifactContextNode, Gr as ArtifactSlugSchema, Gt as ARTIFACT_RESOLVE_PART_ERROR_CODES, H as ArtifactLifecycleError, Hn as ArtifactContextRootNode, Hr as ARTIFACT_SLUG_FIELD, Ht as artifactPatchPathFilterNames, I as ArtifactLifecycleTransitionResponse, In as ArtifactResolvePartRequest, Ir as EvidenceResolveRequest, It as ArtifactPatchSuccess, J as ArtifactLifecycleRejection, Jn as ArtifactContextUnresolvedReason, Jr as ARTIFACT_VALUE_TYPE_KEYWORD, Jt as ArtifactResolvePartError, K as ArtifactLifecycleInitializedEntry, Kn as ArtifactContextRefEntry, Kr as deriveArtifactSlug, Kt as ArtifactPartResolution, L as ArtifactLifecycleTransitionResponseSchema, Ln as ArtifactResolvePartRequestSchema, Lr as EvidenceResolveRequestSchema, Lt as ArtifactPatchSuccessSchema, M as ArtifactLifecycleHistoryResponseSchema, Mn as ArtifactRevisedPayload, Mr as defineArtifactLifecycleHooks, Mt as ArtifactPatchRequestSchema, N as ArtifactLifecycleRejectedPayload, Nn as ArtifactSchemas, Nr as EvidenceOccurrence, Nt as ArtifactPatchResponse, O as ArtifactLifecycleGetResponseSchema, On as ArtifactResolveRequest, Or as ArtifactLifecycleHookRegistration, Ot as ArtifactPatchOperator, P as ArtifactLifecycleRejectedPayloadSchema, Pn as ArtifactStatusChangedPayload, Pr as EvidenceOccurrenceExtractionOptions, Pt as ArtifactPatchResponseSchema, Q as ArtifactLifecycleSnapshot, Qn as artifactRevisionKey, Qt as checkArtifactRelationSourceParts, R as toArtifactLifecycleFailure, Rn as ArtifactResolvePartResponse, Rr as EvidenceResolveResponse, Rt as ArtifactPatchTarget, S as ArtifactLifecycleCommittedPayloadSchema, Sn as ArtifactRelationTypeListRequest, Sr as AfterArtifactHookRegistration, St as ArtifactPatchIssue, T as ArtifactLifecycleGetRequest, Tn as ArtifactRelationTypeRegisterResponse, Tr as ArtifactHookFilter, Tt as ArtifactPatchMigrationSchema, U as ArtifactLifecycleHistoryEntry, Un as ArtifactContextTree, Ur as ARTIFACT_SLUG_PATTERN, Ut as artifactPatchSegment, V as ArtifactLifecycleCurrentSchema, Vn as ArtifactContextNode, Vr as ARTIFACT_DERIVED_SLUG_MAX_LENGTH, Vt as artifactPatchInstructions, W as ArtifactLifecycleHistoryEntrySchema, Wn as ResolvedArtifactContextNode, Wr as ArtifactSlug, Wt as artifactPatchSegments, X as ArtifactLifecycleSituation, Xn as ResolvedArtifactContextWire, Xr as EvidenceValue, Xt as ArtifactResolvePartErrorSchema, Y as ArtifactLifecycleRejectionSchema, Yn as ArtifactContextUnresolvedReasonSchema, Yr as EVIDENCE_VALUE_TYPE, Yt as ArtifactResolvePartErrorCode, Z as ArtifactLifecycleSituationSchema, Zn as ResolvedArtifactContextWireSchema, Zr as EvidenceValueSchema, Zt as checkArtifactPartIds, _ as ArtifactRelationTargetIdentitySchema, _n as ArtifactObservationAddedPayload, _r as ArtifactDataOf, _t as ArtifactPatchError, a as UniquenessDataKeyPart, an as readArtifactTitle, ar as ArtifactContextRelationSelectorSchema, at as ArtifactLifecycleTransitionedEntrySchema, b as serializeArtifactRelationTargetIdentity, bn as ArtifactQueryResponse, br as defineArtifactKind, bt as ArtifactPatchFailureSchema, c as UniquenessKeyIssueReason, cn as ArtifactCreatedPayload, cr as ArtifactContextSelector, ct as initialArtifactLifecycle, d as UniquenessSelectorCapability, dn as ArtifactKindChangedPayload, dr as ArtifactDataChecker, dt as ARTIFACT_PATCH_OPERATORS, en as validateArtifactPartAreas, er as ARTIFACT_CONTEXT_RENDER_HINTS, et as ArtifactLifecycleTransitionCommand, f as UniquenessSupportIssue, fn as ArtifactKindListRequest, fr as ArtifactDataIssue, ft as ArtifactPatchArrayFilter, g as ArtifactRelationTargetIdentity, gn as ArtifactNamespace, gr as AnyArtifactKindDefinition, gt as ArtifactPatchDryRunSchema, h as describeUniquenessKey, hn as ArtifactKindRegisterResponse, hr as compileArtifactDataSchema, ht as ArtifactPatchDocumentSchema, i as BuildUniquenessKeysResult, in as isArtifactDataPathDeclared, ir as ArtifactContextRelationSelector, it as ArtifactLifecycleTransitionedEntry, j as ArtifactLifecycleHistoryResponse, jn as ArtifactReviseResponse, jr as BeforeArtifactHookRegistration, jt as ArtifactPatchRequest, k as ArtifactLifecycleHistoryRequest, kn as ArtifactResolveResponse, kr as ArtifactLifecycleSemanticEvent, kt as ArtifactPatchPathSchema, l as UniquenessKeyPart, ln as ArtifactEvidenceResolveRequest, lr as ArtifactContextSelectorSchema, lt as isArtifactLifecycleTransitionAllowed, m as buildUniquenessKeys, mn as ArtifactKindRegisterRequest, mr as compileArtifactDataChecker, mt as ArtifactPatchDocument, n as RelationRequirementIssueReason, nn as ArtifactSchemaFragment, nr as ArtifactContextRelationDirection, nt as ArtifactLifecycleTransitionIntent, o as UniquenessKey, on as ArtifactCreateRequest, or as ArtifactContextRenderHint, ot as ArtifactLifecycleVersionSchema, p as assessUniquenessSupport, pn as ArtifactKindListResponse, pr as ArtifactDataValidator, pt as ArtifactPatchArrayFilterSchema, q as ArtifactLifecycleInitializedEntrySchema, qn as ArtifactContextRefEntrySchema, qr as slugify, qt as ArtifactRelationSourceIssue, r as evaluateRelationRequirements, rn as inspectArtifactDataLocation, rr as ArtifactContextRelationDirectionSchema, rt as ArtifactLifecycleTransitionIntentSchema, s as UniquenessKeyIssue, sn as ArtifactCreateResponse, sr as ArtifactContextRenderHintSchema, st as advanceArtifactLifecycle, t as RelationRequirementIssue, tn as ARTIFACT_COLLECTION_ELEMENT_SEGMENT, tr as ArtifactContextKnownRenderHint, tt as ArtifactLifecycleTransitionCommandSchema, u as UniquenessRelationTargetKeyPart, un as ArtifactEvidenceResolveResponse, ur as ArtifactDataCheck, ut as ARTIFACT_PATCH_ERROR_CODES, v as artifactRelationTargetIdentity, vn as ArtifactPatchSubjectRequest, vr as ArtifactKindDefinition, vt as ArtifactPatchErrorCode, w as ArtifactLifecycleFailureSchema, wn as ArtifactRelationTypeRegisterRequest, wr as ArtifactDraftPatch, wt as ArtifactPatchMigration, x as ArtifactLifecycleCommittedPayload, xn as ArtifactRelationAddedPayload, xr as AfterArtifactHookContext, xt as ArtifactPatchInstruction, y as describeArtifactRelationTargetIdentity, yn as ArtifactPatchSubjectResponse, yr as ArtifactOf, yt as ArtifactPatchErrorSchema, z as ARTIFACT_LIFECYCLE_REJECTED_CODE, zn as ArtifactResolvePartResponseSchema, zr as EvidenceResolveResponseSchema, zt as ArtifactPatchTargetSchema } from "../../index-
|
|
2
|
+
import { $ as ArtifactLifecycleSnapshotSchema, $n as ARTIFACT_CONTEXT_RELATION_DIRECTIONS, $t as resolveArtifactPart, A as ArtifactLifecycleHistoryRequestSchema, An as ArtifactReviseRequest, Ar as BeforeArtifactHookContext, At as ArtifactPatchPersistedSchema, B as ArtifactLifecycleCurrent, Bn as hydrateArtifactContextTree, Br as mayArtifactDataCarryProperty, Bt as artifactPatchFilterName, C as ArtifactLifecycleFailure, Cn as ArtifactRelationTypeListResponse, Cr as ArtifactDraft, Ct as ArtifactPatchIssueSchema, D as ArtifactLifecycleGetResponse, Dn as ArtifactResolveContextResponse, Dr as ArtifactLifecycleHookEvent, Dt as ArtifactPatchOperationResultSchema, E as ArtifactLifecycleGetRequestSchema, En as ArtifactResolveContextRequest, Er as ArtifactLifecycleHookDefinition, Et as ArtifactPatchOperationResult, F as ArtifactLifecycleSchemas, Fn as ArtifactSubjects, Fr as extractEvidenceOccurrences, Ft as ArtifactPatchSegment, G as ArtifactLifecycleIdentitySchema, Gn as UnresolvedArtifactContextNode, Gr as ArtifactSlugSchema, Gt as ARTIFACT_RESOLVE_PART_ERROR_CODES, H as ArtifactLifecycleError, Hn as ArtifactContextRootNode, Hr as ARTIFACT_SLUG_FIELD, Ht as artifactPatchPathFilterNames, I as ArtifactLifecycleTransitionResponse, In as ArtifactResolvePartRequest, Ir as EvidenceResolveRequest, It as ArtifactPatchSuccess, J as ArtifactLifecycleRejection, Jn as ArtifactContextUnresolvedReason, Jr as ARTIFACT_VALUE_TYPE_KEYWORD, Jt as ArtifactResolvePartError, K as ArtifactLifecycleInitializedEntry, Kn as ArtifactContextRefEntry, Kr as deriveArtifactSlug, Kt as ArtifactPartResolution, L as ArtifactLifecycleTransitionResponseSchema, Ln as ArtifactResolvePartRequestSchema, Lr as EvidenceResolveRequestSchema, Lt as ArtifactPatchSuccessSchema, M as ArtifactLifecycleHistoryResponseSchema, Mn as ArtifactRevisedPayload, Mr as defineArtifactLifecycleHooks, Mt as ArtifactPatchRequestSchema, N as ArtifactLifecycleRejectedPayload, Nn as ArtifactSchemas, Nr as EvidenceOccurrence, Nt as ArtifactPatchResponse, O as ArtifactLifecycleGetResponseSchema, On as ArtifactResolveRequest, Or as ArtifactLifecycleHookRegistration, Ot as ArtifactPatchOperator, P as ArtifactLifecycleRejectedPayloadSchema, Pn as ArtifactStatusChangedPayload, Pr as EvidenceOccurrenceExtractionOptions, Pt as ArtifactPatchResponseSchema, Q as ArtifactLifecycleSnapshot, Qn as artifactRevisionKey, Qt as checkArtifactRelationSourceParts, R as toArtifactLifecycleFailure, Rn as ArtifactResolvePartResponse, Rr as EvidenceResolveResponse, Rt as ArtifactPatchTarget, S as ArtifactLifecycleCommittedPayloadSchema, Sn as ArtifactRelationTypeListRequest, Sr as AfterArtifactHookRegistration, St as ArtifactPatchIssue, T as ArtifactLifecycleGetRequest, Tn as ArtifactRelationTypeRegisterResponse, Tr as ArtifactHookFilter, Tt as ArtifactPatchMigrationSchema, U as ArtifactLifecycleHistoryEntry, Un as ArtifactContextTree, Ur as ARTIFACT_SLUG_PATTERN, Ut as artifactPatchSegment, V as ArtifactLifecycleCurrentSchema, Vn as ArtifactContextNode, Vr as ARTIFACT_DERIVED_SLUG_MAX_LENGTH, Vt as artifactPatchInstructions, W as ArtifactLifecycleHistoryEntrySchema, Wn as ResolvedArtifactContextNode, Wr as ArtifactSlug, Wt as artifactPatchSegments, X as ArtifactLifecycleSituation, Xn as ResolvedArtifactContextWire, Xr as EvidenceValue, Xt as ArtifactResolvePartErrorSchema, Y as ArtifactLifecycleRejectionSchema, Yn as ArtifactContextUnresolvedReasonSchema, Yr as EVIDENCE_VALUE_TYPE, Yt as ArtifactResolvePartErrorCode, Z as ArtifactLifecycleSituationSchema, Zn as ResolvedArtifactContextWireSchema, Zr as EvidenceValueSchema, Zt as checkArtifactPartIds, _ as ArtifactRelationTargetIdentitySchema, _n as ArtifactObservationAddedPayload, _r as ArtifactDataOf, _t as ArtifactPatchError, a as UniquenessDataKeyPart, an as readArtifactTitle, ar as ArtifactContextRelationSelectorSchema, at as ArtifactLifecycleTransitionedEntrySchema, b as serializeArtifactRelationTargetIdentity, bn as ArtifactQueryResponse, br as defineArtifactKind, bt as ArtifactPatchFailureSchema, c as UniquenessKeyIssueReason, cn as ArtifactCreatedPayload, cr as ArtifactContextSelector, ct as initialArtifactLifecycle, d as UniquenessSelectorCapability, dn as ArtifactKindChangedPayload, dr as ArtifactDataChecker, dt as ARTIFACT_PATCH_OPERATORS, en as validateArtifactPartAreas, er as ARTIFACT_CONTEXT_RENDER_HINTS, et as ArtifactLifecycleTransitionCommand, f as UniquenessSupportIssue, fn as ArtifactKindListRequest, fr as ArtifactDataIssue, ft as ArtifactPatchArrayFilter, g as ArtifactRelationTargetIdentity, gn as ArtifactNamespace, gr as AnyArtifactKindDefinition, gt as ArtifactPatchDryRunSchema, h as describeUniquenessKey, hn as ArtifactKindRegisterResponse, hr as compileArtifactDataSchema, ht as ArtifactPatchDocumentSchema, i as BuildUniquenessKeysResult, in as isArtifactDataPathDeclared, ir as ArtifactContextRelationSelector, it as ArtifactLifecycleTransitionedEntry, j as ArtifactLifecycleHistoryResponse, jn as ArtifactReviseResponse, jr as BeforeArtifactHookRegistration, jt as ArtifactPatchRequest, k as ArtifactLifecycleHistoryRequest, kn as ArtifactResolveResponse, kr as ArtifactLifecycleSemanticEvent, kt as ArtifactPatchPathSchema, l as UniquenessKeyPart, ln as ArtifactEvidenceResolveRequest, lr as ArtifactContextSelectorSchema, lt as isArtifactLifecycleTransitionAllowed, m as buildUniquenessKeys, mn as ArtifactKindRegisterRequest, mr as compileArtifactDataChecker, mt as ArtifactPatchDocument, n as RelationRequirementIssueReason, nn as ArtifactSchemaFragment, nr as ArtifactContextRelationDirection, nt as ArtifactLifecycleTransitionIntent, o as UniquenessKey, on as ArtifactCreateRequest, or as ArtifactContextRenderHint, ot as ArtifactLifecycleVersionSchema, p as assessUniquenessSupport, pn as ArtifactKindListResponse, pr as ArtifactDataValidator, pt as ArtifactPatchArrayFilterSchema, q as ArtifactLifecycleInitializedEntrySchema, qn as ArtifactContextRefEntrySchema, qr as slugify, qt as ArtifactRelationSourceIssue, r as evaluateRelationRequirements, rn as inspectArtifactDataLocation, rr as ArtifactContextRelationDirectionSchema, rt as ArtifactLifecycleTransitionIntentSchema, s as UniquenessKeyIssue, sn as ArtifactCreateResponse, sr as ArtifactContextRenderHintSchema, st as advanceArtifactLifecycle, t as RelationRequirementIssue, tn as ARTIFACT_COLLECTION_ELEMENT_SEGMENT, tr as ArtifactContextKnownRenderHint, tt as ArtifactLifecycleTransitionCommandSchema, u as UniquenessRelationTargetKeyPart, un as ArtifactEvidenceResolveResponse, ur as ArtifactDataCheck, ut as ARTIFACT_PATCH_ERROR_CODES, v as artifactRelationTargetIdentity, vn as ArtifactPatchSubjectRequest, vr as ArtifactKindDefinition, vt as ArtifactPatchErrorCode, w as ArtifactLifecycleFailureSchema, wn as ArtifactRelationTypeRegisterRequest, wr as ArtifactDraftPatch, wt as ArtifactPatchMigration, x as ArtifactLifecycleCommittedPayload, xn as ArtifactRelationAddedPayload, xr as AfterArtifactHookContext, xt as ArtifactPatchInstruction, y as describeArtifactRelationTargetIdentity, yn as ArtifactPatchSubjectResponse, yr as ArtifactOf, yt as ArtifactPatchErrorSchema, z as ARTIFACT_LIFECYCLE_REJECTED_CODE, zn as ArtifactResolvePartResponseSchema, zr as EvidenceResolveResponseSchema, zt as ArtifactPatchTargetSchema } from "../../index-CbVqpQBu.mjs";
|
|
3
3
|
export { ARTIFACT_CATEGORY_LIFECYCLE_STATES, ARTIFACT_COLLECTION_ELEMENT_SEGMENT, ARTIFACT_CONTEXT_RELATION_DIRECTIONS, ARTIFACT_CONTEXT_RENDER_HINTS, ARTIFACT_DERIVED_SLUG_MAX_LENGTH, ARTIFACT_LIFECYCLE_REJECTED_CODE, ARTIFACT_PATCH_ERROR_CODES, ARTIFACT_PATCH_OPERATORS, ARTIFACT_RESOLVE_PART_ERROR_CODES, ARTIFACT_SLUG_FIELD, ARTIFACT_SLUG_PATTERN, ARTIFACT_VALUE_TYPE_KEYWORD, AfterArtifactHookContext, AfterArtifactHookRegistration, AnyArtifactKindDefinition, ArtifactActor, ArtifactActorSchema, ArtifactCategory, ArtifactCategorySchema, ArtifactCompareRequest, ArtifactCompareRequestSchema, ArtifactCompareResponse, ArtifactCompareResponseSchema, ArtifactContextKnownRenderHint, ArtifactContextNode, ArtifactContextRefEntry, ArtifactContextRefEntrySchema, ArtifactContextRelationDirection, ArtifactContextRelationDirectionSchema, ArtifactContextRelationSelector, ArtifactContextRelationSelectorSchema, ArtifactContextRenderHint, ArtifactContextRenderHintSchema, ArtifactContextRootNode, ArtifactContextSelector, ArtifactContextSelectorSchema, ArtifactContextTree, ArtifactContextUnresolvedReason, ArtifactContextUnresolvedReasonSchema, ArtifactCreateRequest, ArtifactCreateResponse, ArtifactCreatedPayload, ArtifactDataCheck, ArtifactDataChecker, ArtifactDataIssue, ArtifactDataOf, ArtifactDataPathSchema, ArtifactDataValidator, ArtifactDraft, ArtifactDraftPatch, ArtifactEvidenceRequirements, ArtifactEvidenceRequirementsSchema, ArtifactEvidenceResolveRequest, ArtifactEvidenceResolveResponse, ArtifactHookFilter, ArtifactKindChangedPayload, ArtifactKindDefinition, ArtifactKindListRequest, ArtifactKindListResponse, ArtifactKindRegisterRequest, ArtifactKindRegisterResponse, ArtifactKindRegistration, ArtifactKindRegistrationSchema, ArtifactKindView, ArtifactKindViewSchema, ArtifactLifecycleCommittedPayload, ArtifactLifecycleCommittedPayloadSchema, ArtifactLifecycleCurrent, ArtifactLifecycleCurrentSchema, ArtifactLifecycleError, ArtifactLifecycleFailure, ArtifactLifecycleFailureSchema, ArtifactLifecycleGetRequest, ArtifactLifecycleGetRequestSchema, ArtifactLifecycleGetResponse, ArtifactLifecycleGetResponseSchema, ArtifactLifecycleHistoryEntry, ArtifactLifecycleHistoryEntrySchema, ArtifactLifecycleHistoryRequest, ArtifactLifecycleHistoryRequestSchema, ArtifactLifecycleHistoryResponse, ArtifactLifecycleHistoryResponseSchema, ArtifactLifecycleHookDefinition, ArtifactLifecycleHookEvent, ArtifactLifecycleHookRegistration, ArtifactLifecycleIdentitySchema, ArtifactLifecycleInitializedEntry, ArtifactLifecycleInitializedEntrySchema, ArtifactLifecycleRejectedPayload, ArtifactLifecycleRejectedPayloadSchema, ArtifactLifecycleRejection, ArtifactLifecycleRejectionSchema, ArtifactLifecycleSchemas, ArtifactLifecycleSemanticEvent, ArtifactLifecycleSituation, ArtifactLifecycleSituationSchema, ArtifactLifecycleSnapshot, ArtifactLifecycleSnapshotSchema, ArtifactLifecycleState, ArtifactLifecycleStateSchema, ArtifactLifecycleTransitionCommand, ArtifactLifecycleTransitionCommandSchema, ArtifactLifecycleTransitionIntent, ArtifactLifecycleTransitionIntentSchema, ArtifactLifecycleTransitionResponse, ArtifactLifecycleTransitionResponseSchema, ArtifactLifecycleTransitionedEntry, ArtifactLifecycleTransitionedEntrySchema, ArtifactLifecycleVersionSchema, ArtifactNamespace, ArtifactObservation, ArtifactObservationAddedPayload, ArtifactObservationSchema, ArtifactOf, ArtifactPartArea, ArtifactPartAreaSchema, ArtifactPartResolution, ArtifactPatchArrayFilter, ArtifactPatchArrayFilterSchema, ArtifactPatchDocument, ArtifactPatchDocumentSchema, ArtifactPatchDryRunSchema, ArtifactPatchError, ArtifactPatchErrorCode, ArtifactPatchErrorSchema, ArtifactPatchFailureSchema, ArtifactPatchInstruction, ArtifactPatchIssue, ArtifactPatchIssueSchema, ArtifactPatchMigration, ArtifactPatchMigrationSchema, ArtifactPatchOperationResult, ArtifactPatchOperationResultSchema, ArtifactPatchOperator, ArtifactPatchPathSchema, ArtifactPatchPersistedSchema, ArtifactPatchRequest, ArtifactPatchRequestSchema, ArtifactPatchResponse, ArtifactPatchResponseSchema, ArtifactPatchSegment, ArtifactPatchSubjectRequest, ArtifactPatchSubjectResponse, ArtifactPatchSuccess, ArtifactPatchSuccessSchema, ArtifactPatchTarget, ArtifactPatchTargetSchema, ArtifactQueryRequest, ArtifactQueryRequestSchema, ArtifactQueryResponse, ArtifactQueryScope, ArtifactQueryScopeSchema, ArtifactRef, ArtifactRefSchema, ArtifactRelation, ArtifactRelationAddedPayload, ArtifactRelationQueryTarget, ArtifactRelationQueryTargetSchema, ArtifactRelationRequirement, ArtifactRelationRequirementCondition, ArtifactRelationRequirementConditionSchema, ArtifactRelationRequirementSchema, ArtifactRelationSchema, ArtifactRelationSourceIssue, ArtifactRelationTarget, ArtifactRelationTargetIdentity, ArtifactRelationTargetIdentitySchema, ArtifactRelationTargetSchema, ArtifactRelationTypeListRequest, ArtifactRelationTypeListResponse, ArtifactRelationTypeRegisterRequest, ArtifactRelationTypeRegisterResponse, ArtifactRepresentations, ArtifactRepresentationsSchema, ArtifactResolveContextRequest, ArtifactResolveContextResponse, ArtifactResolvePartError, ArtifactResolvePartErrorCode, ArtifactResolvePartErrorSchema, ArtifactResolvePartRequest, ArtifactResolvePartRequestSchema, ArtifactResolvePartResponse, ArtifactResolvePartResponseSchema, ArtifactResolveRequest, ArtifactResolveResponse, ArtifactReviseRequest, ArtifactReviseResponse, ArtifactRevisedPayload, ArtifactRevision, ArtifactRevisionSchema, ArtifactSchemaFragment, ArtifactSchemaVersionSchema, ArtifactSchemas, ArtifactScope, ArtifactScopeSchema, ArtifactSlug, ArtifactSlugSchema, ArtifactStatusChangedPayload, ArtifactStatusPathSchema, ArtifactSubjects, ArtifactUniquenessRule, ArtifactUniquenessRuleSchema, ArtifactUniquenessSelectorSchema, BeforeArtifactHookContext, BeforeArtifactHookRegistration, BuildUniquenessKeysResult, ConfidenceBasis, ConfidenceBasisSchema, ConfidenceLevel, ConfidenceLevelSchema, ConfidenceMetadata, ConfidenceMetadataSchema, EVIDENCE_VALUE_TYPE, EntityRef, EntityRefSchema, EvidenceOccurrence, EvidenceOccurrenceExtractionOptions, EvidenceRef, EvidenceRefSchema, EvidenceResolveRequest, EvidenceResolveRequestSchema, EvidenceResolveResponse, EvidenceResolveResponseSchema, EvidenceValue, EvidenceValueSchema, LocalRef, LocalRefSchema, RelationRequirementIssue, RelationRequirementIssueReason, RelationTypeRegistration, RelationTypeRegistrationSchema, ResolvedArtifactContextNode, ResolvedArtifactContextWire, ResolvedArtifactContextWireSchema, UniquenessDataKeyPart, UniquenessKey, UniquenessKeyIssue, UniquenessKeyIssueReason, UniquenessKeyPart, UniquenessRelationTargetKeyPart, UniquenessSelectorCapability, UniquenessSupportIssue, UnresolvedArtifactContextNode, advanceArtifactLifecycle, artifactPatchFilterName, artifactPatchInstructions, artifactPatchPathFilterNames, artifactPatchSegment, artifactPatchSegments, artifactRelationTargetIdentity, artifactRevisionKey, assessUniquenessSupport, buildUniquenessKeys, checkArtifactPartIds, checkArtifactRelationSourceParts, compileArtifactDataChecker, compileArtifactDataSchema, defineArtifactKind, defineArtifactLifecycleHooks, deriveArtifactSlug, describeArtifactRelationTargetIdentity, describeUniquenessKey, evaluateRelationRequirements, extractEvidenceOccurrences, hydrateArtifactContextTree, initialArtifactLifecycle, inspectArtifactDataLocation, isArtifactDataPathDeclared, isArtifactLifecycleTransitionAllowed, mayArtifactDataCarryProperty, readArtifactTitle, resolveArtifactPart, serializeArtifactRelationTargetIdentity, slugify, toArtifactLifecycleFailure, validateArtifactPartAreas };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as ProviderAllocationRef, $n as ReviewTriggerResult, $t as STTResult, A as AllocationInspection, An as VisionAnalysisRequest, Ar as VCSCommitStatus, At as CheckRunDetail, B as IWorkerRecoveryCapability, Bn as unregisterReviewerProcessor, Br as VCSRepository, Bt as PullRequestState, C as unregisterWorkerProvider, Cn as STTMode, Cr as VCSSubjects, Ct as WorkerProvisionRequest, D as createAllocationRefCodec, Dn as VisionNamespace, Dr as VCSSchemas, Dt as WorkspaceSnapshotMaterializationSchema, E as ProviderAllocationRefError, En as TTS_MODE_LITERALS, Er as MergeOptions, Et as WorkerRuntimeConnection, F as BoundedRecoveryEvidence, Fn as REVIEWER_PROCESSOR_CAPABILITY_ID, Fr as VCSPullRequestDetail, Ft as FindingsSummarySchema, G as NO_ALLOCATION_OBSERVED_CODE, Gn as IReviewerProcessor, Gr as IServerProvider, Gt as ReadinessAssessmentSchema, H as MATERIALIZATION_MODES, Hn as ReviewSubjects, Hr as registerServerProvider, Ht as PullRequestTarget, I as BoundedRecoveryEvidenceSchema, In as REVIEW_SOURCE_CAPABILITY_ID, Ir as VCSPullRequestDetailSchema, It as LabelInfo, J as OutcomeAckDecision, Jn as ProcessIssueCommentsParams, Jr as UpgradeHandler, Jt as ReviewsSummary, K as NormalizedWorkerCapabilities, Kn as ProcessCliOutputParams, Kr as SERVER_CAPABILITY_ID, Kt as ReviewerState, L as EXHAUSTIVE_SEARCH_UNAVAILABLE_CODE, Ln as registerReviewSource, Lr as VCSPullRequestSchema, Lt as LabelInfoSchema, M as AllocationState, Mn as VisionAnalysisResult, Mr as VCSCheckRun, Mt as ChecksSummary, N as AllocationStateSchema, Nn as VisionAnalysisResultSchema, Nr as VCSCheckRunSchema, Nt as ChecksSummarySchema, O as ALLOCATION_STATES, On as VisionSubjects, Or as VCSReviewComment, Ot as VCSPRNamespace, P as BUILT_IN_THIN_WORKFLOW_PROVIDER_ID, Pn as VisionSchemas, Pr as VCSPullRequest, Pt as FindingsSummary, Q as PROVISIONING_DISCOVERY_KINDS, Qn as ReviewTriggerParams, Qt as VoiceSubjects, R as IRecoverableWorkerProvider, Rn as registerReviewerProcessor, Rr as VCSReview, Rt as LabelSemantic, S as registerWorkerProvider, Sn as VoiceProviderPreference, Sr as VCSNamespace, St as WorkerProvisionOutcome, T as ProviderAllocationRefCodec, Tn as TTSMode, Tr as IVCSProvider, Tt as WorkerRequirementsSchema, U as MaterializationMode, Un as FetchFindingsParams, Ur as unregisterServerProvider, Ut as PullRequestTargetSchema, V as LocalDirectoryMaterializationSchema, Vn as ReviewNamespace, Vr as VCSRepositorySchema, Vt as PullRequestStateSchema, W as MaterializationModeSchema, Wn as IReviewSource, Wr as HttpServerLike, Wt as ReadinessAssessment, X as PRE_REQUEST_REJECTION_CODE, Xn as ReviewRequestContext, Xr as registerAutoLaunchProvider, Xt as VCSPRSchemas, Y as OutcomeAckDecisionSchema, Yn as ProcessReviewBodyParams, Yr as AUTO_LAUNCH_CAPABILITY_ID, Yt as ReviewsSummarySchema, Z as PROVIDER_ALLOCATION_REF_VERSION, Zn as ReviewSourceSnapshot, Zr as IAutoLaunchProvider, Zt as VoiceNamespace, _ as GitHookRewritePair, _n as STTRequest, _r as VCS_CAPABILITY_ID, _t as WorkerHandle, a as GitHookCoverageReason, an as VoiceProviderPreferenceSchema, ar as FindingStatusSchema, at as WORKER_CAPABILITY_ID, b as GitHookNamespace, bn as VoicePipelineLeg, br as VCSEvents, bt as WorkerMaterializationSpecSchema, c as GitHookCoverageRequestSchema, cn as VoiceStatusState, cr as ReviewFinding, ct as WorkerAllocationLifetimeSchema, d as GitHookCoveredOperation, dn as ClientVoiceProviderDescriptor, dr as ReviewIssueCommentSchema, dt as WorkerCapabilitiesSchema, en as STTResultSchema, er as FindingOrigin, et as ProviderAllocationRefSchema, f as GitHookCoveredOperationSchema, fn as ISTTProvider, fr as ReviewSchemas, ft as WorkerConfirmedAbsentOutcome, g as GitHookRewriteEventSchema, gn as STTProviderCapabilities, gr as SuggestedChangeSchema, gt as WorkerDispatchAck, h as GitHookRewriteEvent, hn as ProviderRuntime, hr as SuggestedChange, ht as WorkerDispatch, i as IGitHookEventsProvider, in as VoicePipelineStrategySchemaType, ir as FindingStatus, it as WORKER_ALLOCATION_LIFETIMES, j as AllocationInspectionSchema, jn as VisionAnalysisRequestSchema, jr as VCSCommitStatusSchema, jt as CheckRunDetailSchema, k as AMBIGUOUS_ALLOCATION_MATCH_CODE, kn as IVisionProvider, kr as VCSReviewCommentSchema, kt as VCSPRSubjects, l as GitHookCoverageResponse, ln as VoiceStatusStateSchema, lr as ReviewFindingSchema, lt as WorkerCapabilities, m as GitHookNativeMergeEventSchema, mn as IVocabularyProvider, mr as ReviewSourceRateLimitSchema, mt as WorkerContributionRefSchema, n as registerGitHookEventsProvider, nn as VoicePipelineLegSchemaType, nr as FindingSeverity, nt as ProvisioningDiscoverySchema, o as GitHookCoverageReasonSchema, on as VoiceSchemas, or as FindingTarget, ot as WorkerAllocatedOutcome, p as GitHookNativeMergeEvent, pn as ITTSProvider, pr as ReviewSourceRateLimit, pt as WorkerContributionRef, q as NormalizedWorkerRequirements, qn as ProcessCommentsParams, qr as ServerAddress, qt as ReviewerStateSchema, r as unregisterGitHookEventsProvider, rn as VoicePipelineStrategySchema, rr as FindingSeveritySchema, rt as RECOVERY_EVIDENCE_LIMITS, s as GitHookCoverageRequest, sn as VoiceSessionStartResponse, sr as FindingTargetSchema, st as WorkerAllocationLifetime, t as GIT_HOOK_EVENTS_CAPABILITY_ID, tn as VoicePipelineLegSchema, tr as FindingOriginSchema, tt as ProvisioningDiscovery, u as GitHookCoverageResponseSchema, un as AudioChunk, ur as ReviewIssueComment, ut as WorkerCapabilitiesInput, v as GitHookRewritePairSchema, vn as TTSProviderCapabilities, vr as registerVCSProvider, vt as WorkerInfrastructureConclusion, w as boundedProviderEvidence, wn as STT_MODE_LITERALS, wr as CreatePROptions, wt as WorkerRequirements, x as GitHookSubjects, xn as VoicePipelineStrategy, xr as VCSEventsNamespace, xt as WorkerProviderContext, y as GitHookSchemas, yn as TTSRequest, yr as unregisterVCSProvider, yt as WorkerMaterializationSpec, z as IWorkerProvider, zn as unregisterReviewSource, zr as VCSReviewSchema, zt as LabelSemanticSchema } from "../../index-
|
|
1
|
+
import { $ as ProviderAllocationRef, $n as ReviewTriggerResult, $t as STTResult, A as AllocationInspection, An as VisionAnalysisRequest, Ar as VCSCommitStatus, At as CheckRunDetail, B as IWorkerRecoveryCapability, Bn as unregisterReviewerProcessor, Br as VCSRepository, Bt as PullRequestState, C as unregisterWorkerProvider, Cn as STTMode, Cr as VCSSubjects, Ct as WorkerProvisionRequest, D as createAllocationRefCodec, Dn as VisionNamespace, Dr as VCSSchemas, Dt as WorkspaceSnapshotMaterializationSchema, E as ProviderAllocationRefError, En as TTS_MODE_LITERALS, Er as MergeOptions, Et as WorkerRuntimeConnection, F as BoundedRecoveryEvidence, Fn as REVIEWER_PROCESSOR_CAPABILITY_ID, Fr as VCSPullRequestDetail, Ft as FindingsSummarySchema, G as NO_ALLOCATION_OBSERVED_CODE, Gn as IReviewerProcessor, Gr as IServerProvider, Gt as ReadinessAssessmentSchema, H as MATERIALIZATION_MODES, Hn as ReviewSubjects, Hr as registerServerProvider, Ht as PullRequestTarget, I as BoundedRecoveryEvidenceSchema, In as REVIEW_SOURCE_CAPABILITY_ID, Ir as VCSPullRequestDetailSchema, It as LabelInfo, J as OutcomeAckDecision, Jn as ProcessIssueCommentsParams, Jr as UpgradeHandler, Jt as ReviewsSummary, K as NormalizedWorkerCapabilities, Kn as ProcessCliOutputParams, Kr as SERVER_CAPABILITY_ID, Kt as ReviewerState, L as EXHAUSTIVE_SEARCH_UNAVAILABLE_CODE, Ln as registerReviewSource, Lr as VCSPullRequestSchema, Lt as LabelInfoSchema, M as AllocationState, Mn as VisionAnalysisResult, Mr as VCSCheckRun, Mt as ChecksSummary, N as AllocationStateSchema, Nn as VisionAnalysisResultSchema, Nr as VCSCheckRunSchema, Nt as ChecksSummarySchema, O as ALLOCATION_STATES, On as VisionSubjects, Or as VCSReviewComment, Ot as VCSPRNamespace, P as BUILT_IN_THIN_WORKFLOW_PROVIDER_ID, Pn as VisionSchemas, Pr as VCSPullRequest, Pt as FindingsSummary, Q as PROVISIONING_DISCOVERY_KINDS, Qn as ReviewTriggerParams, Qt as VoiceSubjects, R as IRecoverableWorkerProvider, Rn as registerReviewerProcessor, Rr as VCSReview, Rt as LabelSemantic, S as registerWorkerProvider, Sn as VoiceProviderPreference, Sr as VCSNamespace, St as WorkerProvisionOutcome, T as ProviderAllocationRefCodec, Tn as TTSMode, Tr as IVCSProvider, Tt as WorkerRequirementsSchema, U as MaterializationMode, Un as FetchFindingsParams, Ur as unregisterServerProvider, Ut as PullRequestTargetSchema, V as LocalDirectoryMaterializationSchema, Vn as ReviewNamespace, Vr as VCSRepositorySchema, Vt as PullRequestStateSchema, W as MaterializationModeSchema, Wn as IReviewSource, Wr as HttpServerLike, Wt as ReadinessAssessment, X as PRE_REQUEST_REJECTION_CODE, Xn as ReviewRequestContext, Xr as registerAutoLaunchProvider, Xt as VCSPRSchemas, Y as OutcomeAckDecisionSchema, Yn as ProcessReviewBodyParams, Yr as AUTO_LAUNCH_CAPABILITY_ID, Yt as ReviewsSummarySchema, Z as PROVIDER_ALLOCATION_REF_VERSION, Zn as ReviewSourceSnapshot, Zr as IAutoLaunchProvider, Zt as VoiceNamespace, _ as GitHookRewritePair, _n as STTRequest, _r as VCS_CAPABILITY_ID, _t as WorkerHandle, a as GitHookCoverageReason, an as VoiceProviderPreferenceSchema, ar as FindingStatusSchema, at as WORKER_CAPABILITY_ID, b as GitHookNamespace, bn as VoicePipelineLeg, br as VCSEvents, bt as WorkerMaterializationSpecSchema, c as GitHookCoverageRequestSchema, cn as VoiceStatusState, cr as ReviewFinding, ct as WorkerAllocationLifetimeSchema, d as GitHookCoveredOperation, dn as ClientVoiceProviderDescriptor, dr as ReviewIssueCommentSchema, dt as WorkerCapabilitiesSchema, en as STTResultSchema, er as FindingOrigin, et as ProviderAllocationRefSchema, f as GitHookCoveredOperationSchema, fn as ISTTProvider, fr as ReviewSchemas, ft as WorkerConfirmedAbsentOutcome, g as GitHookRewriteEventSchema, gn as STTProviderCapabilities, gr as SuggestedChangeSchema, gt as WorkerDispatchAck, h as GitHookRewriteEvent, hn as ProviderRuntime, hr as SuggestedChange, ht as WorkerDispatch, i as IGitHookEventsProvider, in as VoicePipelineStrategySchemaType, ir as FindingStatus, it as WORKER_ALLOCATION_LIFETIMES, j as AllocationInspectionSchema, jn as VisionAnalysisRequestSchema, jr as VCSCommitStatusSchema, jt as CheckRunDetailSchema, k as AMBIGUOUS_ALLOCATION_MATCH_CODE, kn as IVisionProvider, kr as VCSReviewCommentSchema, kt as VCSPRSubjects, l as GitHookCoverageResponse, ln as VoiceStatusStateSchema, lr as ReviewFindingSchema, lt as WorkerCapabilities, m as GitHookNativeMergeEventSchema, mn as IVocabularyProvider, mr as ReviewSourceRateLimitSchema, mt as WorkerContributionRefSchema, n as registerGitHookEventsProvider, nn as VoicePipelineLegSchemaType, nr as FindingSeverity, nt as ProvisioningDiscoverySchema, o as GitHookCoverageReasonSchema, on as VoiceSchemas, or as FindingTarget, ot as WorkerAllocatedOutcome, p as GitHookNativeMergeEvent, pn as ITTSProvider, pr as ReviewSourceRateLimit, pt as WorkerContributionRef, q as NormalizedWorkerRequirements, qn as ProcessCommentsParams, qr as ServerAddress, qt as ReviewerStateSchema, r as unregisterGitHookEventsProvider, rn as VoicePipelineStrategySchema, rr as FindingSeveritySchema, rt as RECOVERY_EVIDENCE_LIMITS, s as GitHookCoverageRequest, sn as VoiceSessionStartResponse, sr as FindingTargetSchema, st as WorkerAllocationLifetime, t as GIT_HOOK_EVENTS_CAPABILITY_ID, tn as VoicePipelineLegSchema, tr as FindingOriginSchema, tt as ProvisioningDiscovery, u as GitHookCoverageResponseSchema, un as AudioChunk, ur as ReviewIssueComment, ut as WorkerCapabilitiesInput, v as GitHookRewritePairSchema, vn as TTSProviderCapabilities, vr as registerVCSProvider, vt as WorkerInfrastructureConclusion, w as boundedProviderEvidence, wn as STT_MODE_LITERALS, wr as CreatePROptions, wt as WorkerRequirements, x as GitHookSubjects, xn as VoicePipelineStrategy, xr as VCSEventsNamespace, xt as WorkerProviderContext, y as GitHookSchemas, yn as TTSRequest, yr as unregisterVCSProvider, yt as WorkerMaterializationSpec, z as IWorkerProvider, zn as unregisterReviewSource, zr as VCSReviewSchema, zt as LabelSemanticSchema } from "../../index-BtyeBaw-.mjs";
|
|
2
2
|
export { ALLOCATION_STATES, AMBIGUOUS_ALLOCATION_MATCH_CODE, AUTO_LAUNCH_CAPABILITY_ID, AllocationInspection, AllocationInspectionSchema, AllocationState, AllocationStateSchema, AudioChunk, BUILT_IN_THIN_WORKFLOW_PROVIDER_ID, BoundedRecoveryEvidence, BoundedRecoveryEvidenceSchema, CheckRunDetail, CheckRunDetailSchema, ChecksSummary, ChecksSummarySchema, ClientVoiceProviderDescriptor, CreatePROptions, EXHAUSTIVE_SEARCH_UNAVAILABLE_CODE, FetchFindingsParams, FindingOrigin, FindingOriginSchema, FindingSeverity, FindingSeveritySchema, FindingStatus, FindingStatusSchema, FindingTarget, FindingTargetSchema, FindingsSummary, FindingsSummarySchema, GIT_HOOK_EVENTS_CAPABILITY_ID, GitHookCoverageReason, GitHookCoverageReasonSchema, GitHookCoverageRequest, GitHookCoverageRequestSchema, GitHookCoverageResponse, GitHookCoverageResponseSchema, GitHookCoveredOperation, GitHookCoveredOperationSchema, GitHookNamespace, GitHookNativeMergeEvent, GitHookNativeMergeEventSchema, GitHookRewriteEvent, GitHookRewriteEventSchema, GitHookRewritePair, GitHookRewritePairSchema, GitHookSchemas, GitHookSubjects, HttpServerLike, IAutoLaunchProvider, IGitHookEventsProvider, IRecoverableWorkerProvider, IReviewSource, IReviewerProcessor, ISTTProvider, IServerProvider, ITTSProvider, IVCSProvider, IVisionProvider, IVocabularyProvider, IWorkerProvider, IWorkerRecoveryCapability, LabelInfo, LabelInfoSchema, LabelSemantic, LabelSemanticSchema, LocalDirectoryMaterializationSchema, MATERIALIZATION_MODES, MaterializationMode, MaterializationModeSchema, MergeOptions, NO_ALLOCATION_OBSERVED_CODE, NormalizedWorkerCapabilities, NormalizedWorkerRequirements, OutcomeAckDecision, OutcomeAckDecisionSchema, PRE_REQUEST_REJECTION_CODE, PROVIDER_ALLOCATION_REF_VERSION, PROVISIONING_DISCOVERY_KINDS, ProcessCliOutputParams, ProcessCommentsParams, ProcessIssueCommentsParams, ProcessReviewBodyParams, ProviderAllocationRef, ProviderAllocationRefCodec, ProviderAllocationRefError, ProviderAllocationRefSchema, ProviderRuntime, ProvisioningDiscovery, ProvisioningDiscoverySchema, PullRequestState, PullRequestStateSchema, PullRequestTarget, PullRequestTargetSchema, RECOVERY_EVIDENCE_LIMITS, REVIEWER_PROCESSOR_CAPABILITY_ID, REVIEW_SOURCE_CAPABILITY_ID, ReadinessAssessment, ReadinessAssessmentSchema, ReviewFinding, ReviewFindingSchema, ReviewIssueComment, ReviewIssueCommentSchema, ReviewNamespace, ReviewRequestContext, ReviewSchemas, ReviewSourceRateLimit, ReviewSourceRateLimitSchema, ReviewSourceSnapshot, ReviewSubjects, ReviewTriggerParams, ReviewTriggerResult, ReviewerState, ReviewerStateSchema, ReviewsSummary, ReviewsSummarySchema, SERVER_CAPABILITY_ID, STTMode, STTProviderCapabilities, STTRequest, STTResult, STTResultSchema, STT_MODE_LITERALS, ServerAddress, SuggestedChange, SuggestedChangeSchema, TTSMode, TTSProviderCapabilities, TTSRequest, TTS_MODE_LITERALS, UpgradeHandler, VCSCheckRun, VCSCheckRunSchema, VCSCommitStatus, VCSCommitStatusSchema, VCSEvents, VCSEventsNamespace, VCSNamespace, VCSPRNamespace, VCSPRSchemas, VCSPRSubjects, VCSPullRequest, VCSPullRequestDetail, VCSPullRequestDetailSchema, VCSPullRequestSchema, VCSRepository, VCSRepositorySchema, VCSReview, VCSReviewComment, VCSReviewCommentSchema, VCSReviewSchema, VCSSchemas, VCSSubjects, VCS_CAPABILITY_ID, VisionAnalysisRequest, VisionAnalysisRequestSchema, VisionAnalysisResult, VisionAnalysisResultSchema, VisionNamespace, VisionSchemas, VisionSubjects, VoiceNamespace, VoicePipelineLeg, VoicePipelineLegSchema, VoicePipelineLegSchemaType, VoicePipelineStrategy, VoicePipelineStrategySchema, VoicePipelineStrategySchemaType, VoiceProviderPreference, VoiceProviderPreferenceSchema, VoiceSchemas, VoiceSessionStartResponse, VoiceStatusState, VoiceStatusStateSchema, VoiceSubjects, WORKER_ALLOCATION_LIFETIMES, WORKER_CAPABILITY_ID, WorkerAllocatedOutcome, WorkerAllocationLifetime, WorkerAllocationLifetimeSchema, WorkerCapabilities, WorkerCapabilitiesInput, WorkerCapabilitiesSchema, WorkerConfirmedAbsentOutcome, WorkerContributionRef, WorkerContributionRefSchema, WorkerDispatch, WorkerDispatchAck, WorkerHandle, WorkerInfrastructureConclusion, WorkerMaterializationSpec, WorkerMaterializationSpecSchema, WorkerProviderContext, WorkerProvisionOutcome, WorkerProvisionRequest, WorkerRequirements, WorkerRequirementsSchema, WorkerRuntimeConnection, WorkspaceSnapshotMaterializationSchema, boundedProviderEvidence, createAllocationRefCodec, registerAutoLaunchProvider, registerGitHookEventsProvider, registerReviewSource, registerReviewerProcessor, registerServerProvider, registerVCSProvider, registerWorkerProvider, unregisterGitHookEventsProvider, unregisterReviewSource, unregisterReviewerProcessor, unregisterServerProvider, unregisterVCSProvider, unregisterWorkerProvider };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { $ as VersionCommandSchema, A as ClientDefinitionInput, B as ConfigIsolation, C as createSessionTokenEffect, D as ClientBinaryCompatibility, E as validateClosedPolicy, F as ClientRuntimeCapabilitiesSchema, G as ManagedInstallDescriptorSchema, H as LogSourceDefinition, I as ClientToolCapabilityAnnotation, J as PostInstallDescriptor, K as NpmInstallDescriptor, L as ClientToolCapabilityAnnotationSchema, M as ClientHookEventDeclaration, N as ClientHookEventDeclarationSchema, O as ClientBinaryCompatibilitySchema, P as ClientRuntimeCapabilities, Q as VersionCommand, R as ClientToolDefinition, S as createAppendEffect, T as isValidTimeoutMs, U as LogSourceDefinitionSchema, V as ConfigIsolationSchema, W as ManagedInstallDescriptor, X as SignedBinaryBucketInstallDescriptor, Y as PostInstallDescriptorSchema, Z as SignedBinaryBucketInstallDescriptorSchema, _ as InteractionSelector, a as CanonicalEffect, b as RuntimeOutcome, c as ContributorActivationContext, d as ContributorResponse, et as deriveHookEventTransportMode, f as DEFAULT_FAILURE_POLICY, g as InteractionBlockability, h as FailurePolicy, i as CanonicalAppendEffect, j as ClientDefinitionSchema, k as ClientDefinition, l as ContributorCallbackContext, m as ExtensionClientHookResponsesContribution, n as ActivationValidationError, o as CanonicalSessionTokenEffect, p as EventNameSelector, q as NpmInstallDescriptorSchema, r as CANONICAL_HOOK_RESPONSE_CAPABILITIES, s as CapabilitySelector, t as ActivationErrorCode, u as ContributorDefinition, v as ProviderContractCatalogEntry, w as isValidContributorId, x as RuntimeOutcomeCode, y as ProviderContributionEnvelope, z as ClientToolDefinitionSchema } from "../../hook-responses-OETFKaAL.mjs";
|
|
2
|
-
import { $ as ClientSessionCompactionPreSchema, $n as ClientExecutionContext, $t as ClientListResponse, A as SessionConfigInheritance, An as ClientIdentifierStrengthSchema, At as ClientRuntimeObserveResponse, B as SessionConfigTeardownResponseSchema, Bn as ClientSessionAccountObserveSchema, Bt as ClientRuntimeSourceSchema, C as SessionConfigCleanupRequest, Cn as ClientSessionUsageSnapshotSchema, Ct as ClientWiringEntrySchema, D as SessionConfigDestroyRequest, Dn as ClientAccountObserveResponse, Dt as ClientRuntimeIsAdapterManagedResponse, E as SessionConfigCreateResponse, En as ClientAccountObserveRequest, Et as ClientRuntimeIsAdapterManagedRequest, F as SessionConfigSetupResponse, Fn as ClientScanResultSchema, Ft as ClientRuntimeResolveBySupervisorSessionIdResponse, G as ClientSessionTokenGetRequestSchema, Gn as ClientUsageIngestSchema, Gt as ClientInstallCompleted, H as ClientNamespace, Hn as ClientSessionLocatorSchema, Ht as ClientRuntimeStartedSchema, I as SessionConfigSetupResponseSchema, In as ClientScanTarget, It as ClientRuntimeResolveBySupervisorSessionIdSchema, J as ClientSessionTokenScope, Jn as ClientUsageWindow, Jt as ClientInstallProgressSchema, K as ClientSessionTokenGetResponse, Kn as ClientUsageSnapshot, Kt as ClientInstallCompletedSchema, L as SessionConfigTeardownRequest, Ln as ClientScanTargetSchema, Lt as ClientRuntimeSource, M as SessionConfigLeaseIdSchema, Mn as ClientIdentityObservationSchema, Mt as ClientRuntimeObserved, N as SessionConfigSetupRequest, Nn as ClientMetadataSchema, Nt as ClientRuntimeObservedSchema, O as SessionConfigDestroyResponse, On as ClientAccountObserveSchema, Ot as ClientRuntimeIsAdapterManagedSchema, P as SessionConfigSetupRequestSchema, Pn as ClientScanResult, Pt as ClientRuntimeResolveBySupervisorSessionIdRequest, Q as ClientSessionCompactionPre, Qn as ClientSchemas, Qt as ClientListRequest, R as SessionConfigTeardownRequestSchema, Rn as ClientSessionAccountObserveRequest, Rt as ClientRuntimeSourceLayer, S as ProfileUpdateResponse, Sn as ClientSessionUsageSnapshot, St as ClientWiringEntry, T as SessionConfigCreateRequest, Tn as ClientAccountIdentifierSchema, Tt as ClientRuntimeEvidenceBaseSchema, U as ClientSubjects, Un as ClientUsageIngestRequest, Ut as ClientBinaryListEntry, V as createClientDefinition, Vn as ClientSessionLocator, Vt as ClientRuntimeStarted, W as ClientSessionTokenGetRequest, Wn as ClientUsageIngestResponse, Wt as ClientBinaryListEntrySchema, X as CLIENT_SESSION_COMPACTION_TRIGGERS, Xn as ClientUsageWindows, Xt as ClientInstallResponse, Y as ClientSessionTokenScopeSchema, Yn as ClientUsageWindowSchema, Yt as ClientInstallRequest, Z as CLIENT_SESSION_START_MODES, Zn as ClientUsageWindowsSchema, Zt as ClientInstallSchema, _ as ProfileListRequest, _n as InstalledVersionEntrySchema, _t as ClientSessionTurnCompletedSchema, a as ClientConfigPrimeSchema, an as ClientUninstallResponse, at as ClientSessionStartModeSchema, b as ProfileSetDefaultResponse, bn as ClientSessionUsageCostProvenance, bt as ClientSessionUserPromptSubmitted, c as ClientProfileSchema, cn as ClientUpdateResponse, ct as ClientSessionSubagentCompleted, d as ProfileCreateRequest, dn as ClientVersionChangedSchema, dt as ClientSessionSubagentStartedSchema, en as ClientListSchema, er as ClientExecutionContextSchema, et as ClientSessionCompactionTrigger, f as ProfileCreateResponse, fn as InstallError, ft as ClientSessionToolPost, g as ProfileGetResponse, gn as InstalledVersionEntry, gt as ClientSessionTurnCompleted, h as ProfileGetRequest, hn as InstallStageSchema, ht as ClientSessionToolPreSchema, i as ClientConfigPrimeResponse, in as ClientUninstallRequest, it as ClientSessionStartMode, j as SessionConfigInheritanceSchema, jn as ClientIdentityObservation, jt as ClientRuntimeObserveSchema, k as SessionConfigEnvSchema, kn as ClientIdentifierStrength, kt as ClientRuntimeObserveRequest, l as ClientProfileSchemas, ln as ClientUpdateSchema, lt as ClientSessionSubagentCompletedSchema, m as ProfileDeleteResponse, mn as InstallStage, mt as ClientSessionToolPre, n as ClientConfigPrimePhaseSchema, nn as ClientSetActiveResponse, nr as ClientResolveBinaryResponse, nt as ClientSessionObservedBase, o as ClientProfile, on as ClientUninstallSchema, ot as ClientSessionStarted, p as ProfileDeleteRequest, pn as InstallErrorSchema, pt as ClientSessionToolPostSchema, q as ClientSessionTokenGetResponseSchema, qn as ClientUsageSnapshotSchema, qt as ClientInstallProgress, r as ClientConfigPrimeRequest, rn as ClientSetActiveSchema, rr as ClientResolveBinarySchema, rt as ClientSessionObservedBaseSchema, s as ClientProfileNameSchema, sn as ClientUpdateRequest, st as ClientSessionStartedSchema, t as ClientConfigPrimePhase, tn as ClientSetActiveRequest, tr as ClientResolveBinaryRequest, tt as ClientSessionCompactionTriggerSchema, u as ClientSessionConfigSchemas, un as ClientVersionChanged, ut as ClientSessionSubagentStarted, v as ProfileListResponse, vn as ManagedInstallStrategy, vt as ClientSessionTurnStarted, w as SessionConfigCleanupResponse, wn as ClientAccountIdentifier, wt as ClientRuntimeEvidenceBase, x as ProfileUpdateRequest, xn as ClientSessionUsageCostProvenanceSchema, xt as ClientSessionUserPromptSubmittedSchema, y as ProfileSetDefaultRequest, yn as ManagedInstallStrategySchema, yt as ClientSessionTurnStartedSchema, z as SessionConfigTeardownResponse, zn as ClientSessionAccountObserveResponse, zt as ClientRuntimeSourceLayerSchema } from "../../index-
|
|
2
|
+
import { $ as ClientSessionCompactionPreSchema, $n as ClientExecutionContext, $t as ClientListResponse, A as SessionConfigInheritance, An as ClientIdentifierStrengthSchema, At as ClientRuntimeObserveResponse, B as SessionConfigTeardownResponseSchema, Bn as ClientSessionAccountObserveSchema, Bt as ClientRuntimeSourceSchema, C as SessionConfigCleanupRequest, Cn as ClientSessionUsageSnapshotSchema, Ct as ClientWiringEntrySchema, D as SessionConfigDestroyRequest, Dn as ClientAccountObserveResponse, Dt as ClientRuntimeIsAdapterManagedResponse, E as SessionConfigCreateResponse, En as ClientAccountObserveRequest, Et as ClientRuntimeIsAdapterManagedRequest, F as SessionConfigSetupResponse, Fn as ClientScanResultSchema, Ft as ClientRuntimeResolveBySupervisorSessionIdResponse, G as ClientSessionTokenGetRequestSchema, Gn as ClientUsageIngestSchema, Gt as ClientInstallCompleted, H as ClientNamespace, Hn as ClientSessionLocatorSchema, Ht as ClientRuntimeStartedSchema, I as SessionConfigSetupResponseSchema, In as ClientScanTarget, It as ClientRuntimeResolveBySupervisorSessionIdSchema, J as ClientSessionTokenScope, Jn as ClientUsageWindow, Jt as ClientInstallProgressSchema, K as ClientSessionTokenGetResponse, Kn as ClientUsageSnapshot, Kt as ClientInstallCompletedSchema, L as SessionConfigTeardownRequest, Ln as ClientScanTargetSchema, Lt as ClientRuntimeSource, M as SessionConfigLeaseIdSchema, Mn as ClientIdentityObservationSchema, Mt as ClientRuntimeObserved, N as SessionConfigSetupRequest, Nn as ClientMetadataSchema, Nt as ClientRuntimeObservedSchema, O as SessionConfigDestroyResponse, On as ClientAccountObserveSchema, Ot as ClientRuntimeIsAdapterManagedSchema, P as SessionConfigSetupRequestSchema, Pn as ClientScanResult, Pt as ClientRuntimeResolveBySupervisorSessionIdRequest, Q as ClientSessionCompactionPre, Qn as ClientSchemas, Qt as ClientListRequest, R as SessionConfigTeardownRequestSchema, Rn as ClientSessionAccountObserveRequest, Rt as ClientRuntimeSourceLayer, S as ProfileUpdateResponse, Sn as ClientSessionUsageSnapshot, St as ClientWiringEntry, T as SessionConfigCreateRequest, Tn as ClientAccountIdentifierSchema, Tt as ClientRuntimeEvidenceBaseSchema, U as ClientSubjects, Un as ClientUsageIngestRequest, Ut as ClientBinaryListEntry, V as createClientDefinition, Vn as ClientSessionLocator, Vt as ClientRuntimeStarted, W as ClientSessionTokenGetRequest, Wn as ClientUsageIngestResponse, Wt as ClientBinaryListEntrySchema, X as CLIENT_SESSION_COMPACTION_TRIGGERS, Xn as ClientUsageWindows, Xt as ClientInstallResponse, Y as ClientSessionTokenScopeSchema, Yn as ClientUsageWindowSchema, Yt as ClientInstallRequest, Z as CLIENT_SESSION_START_MODES, Zn as ClientUsageWindowsSchema, Zt as ClientInstallSchema, _ as ProfileListRequest, _n as InstalledVersionEntrySchema, _t as ClientSessionTurnCompletedSchema, a as ClientConfigPrimeSchema, an as ClientUninstallResponse, at as ClientSessionStartModeSchema, b as ProfileSetDefaultResponse, bn as ClientSessionUsageCostProvenance, bt as ClientSessionUserPromptSubmitted, c as ClientProfileSchema, cn as ClientUpdateResponse, ct as ClientSessionSubagentCompleted, d as ProfileCreateRequest, dn as ClientVersionChangedSchema, dt as ClientSessionSubagentStartedSchema, en as ClientListSchema, er as ClientExecutionContextSchema, et as ClientSessionCompactionTrigger, f as ProfileCreateResponse, fn as InstallError, ft as ClientSessionToolPost, g as ProfileGetResponse, gn as InstalledVersionEntry, gt as ClientSessionTurnCompleted, h as ProfileGetRequest, hn as InstallStageSchema, ht as ClientSessionToolPreSchema, i as ClientConfigPrimeResponse, in as ClientUninstallRequest, it as ClientSessionStartMode, j as SessionConfigInheritanceSchema, jn as ClientIdentityObservation, jt as ClientRuntimeObserveSchema, k as SessionConfigEnvSchema, kn as ClientIdentifierStrength, kt as ClientRuntimeObserveRequest, l as ClientProfileSchemas, ln as ClientUpdateSchema, lt as ClientSessionSubagentCompletedSchema, m as ProfileDeleteResponse, mn as InstallStage, mt as ClientSessionToolPre, n as ClientConfigPrimePhaseSchema, nn as ClientSetActiveResponse, nr as ClientResolveBinaryResponse, nt as ClientSessionObservedBase, o as ClientProfile, on as ClientUninstallSchema, ot as ClientSessionStarted, p as ProfileDeleteRequest, pn as InstallErrorSchema, pt as ClientSessionToolPostSchema, q as ClientSessionTokenGetResponseSchema, qn as ClientUsageSnapshotSchema, qt as ClientInstallProgress, r as ClientConfigPrimeRequest, rn as ClientSetActiveSchema, rr as ClientResolveBinarySchema, rt as ClientSessionObservedBaseSchema, s as ClientProfileNameSchema, sn as ClientUpdateRequest, st as ClientSessionStartedSchema, t as ClientConfigPrimePhase, tn as ClientSetActiveRequest, tr as ClientResolveBinaryRequest, tt as ClientSessionCompactionTriggerSchema, u as ClientSessionConfigSchemas, un as ClientVersionChanged, ut as ClientSessionSubagentStarted, v as ProfileListResponse, vn as ManagedInstallStrategy, vt as ClientSessionTurnStarted, w as SessionConfigCleanupResponse, wn as ClientAccountIdentifier, wt as ClientRuntimeEvidenceBase, x as ProfileUpdateRequest, xn as ClientSessionUsageCostProvenanceSchema, xt as ClientSessionUserPromptSubmittedSchema, y as ProfileSetDefaultRequest, yn as ManagedInstallStrategySchema, yt as ClientSessionTurnStartedSchema, z as SessionConfigTeardownResponse, zn as ClientSessionAccountObserveResponse, zt as ClientRuntimeSourceLayerSchema } from "../../index-DpiNhNHS.mjs";
|
|
3
3
|
export { ActivationErrorCode, ActivationValidationError, CANONICAL_HOOK_RESPONSE_CAPABILITIES, CLIENT_SESSION_COMPACTION_TRIGGERS, CLIENT_SESSION_START_MODES, CanonicalAppendEffect, CanonicalEffect, CanonicalSessionTokenEffect, CapabilitySelector, 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, ClientRuntimeIsAdapterManagedRequest, ClientRuntimeIsAdapterManagedResponse, ClientRuntimeIsAdapterManagedSchema, ClientRuntimeObserveRequest, ClientRuntimeObserveResponse, ClientRuntimeObserveSchema, ClientRuntimeObserved, ClientRuntimeObservedSchema, ClientRuntimeResolveBySupervisorSessionIdRequest, ClientRuntimeResolveBySupervisorSessionIdResponse, ClientRuntimeResolveBySupervisorSessionIdSchema, ClientRuntimeSource, ClientRuntimeSourceLayer, ClientRuntimeSourceLayerSchema, ClientRuntimeSourceSchema, ClientRuntimeStarted, ClientRuntimeStartedSchema, ClientScanResult, ClientScanResultSchema, ClientScanTarget, ClientScanTargetSchema, ClientSchemas, ClientSessionAccountObserveRequest, ClientSessionAccountObserveResponse, ClientSessionAccountObserveSchema, ClientSessionCompactionPre, ClientSessionCompactionPreSchema, ClientSessionCompactionTrigger, ClientSessionCompactionTriggerSchema, ClientSessionConfigSchemas, ClientSessionLocator, ClientSessionLocatorSchema, ClientSessionObservedBase, ClientSessionObservedBaseSchema, ClientSessionStartMode, ClientSessionStartModeSchema, ClientSessionStarted, ClientSessionStartedSchema, ClientSessionSubagentCompleted, ClientSessionSubagentCompletedSchema, ClientSessionSubagentStarted, ClientSessionSubagentStartedSchema, ClientSessionTokenGetRequest, ClientSessionTokenGetRequestSchema, ClientSessionTokenGetResponse, ClientSessionTokenGetResponseSchema, ClientSessionTokenScope, ClientSessionTokenScopeSchema, ClientSessionToolPost, ClientSessionToolPostSchema, ClientSessionToolPre, ClientSessionToolPreSchema, ClientSessionTurnCompleted, ClientSessionTurnCompletedSchema, ClientSessionTurnStarted, ClientSessionTurnStartedSchema, ClientSessionUsageCostProvenance, ClientSessionUsageCostProvenanceSchema, ClientSessionUsageSnapshot, ClientSessionUsageSnapshotSchema, 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, ContributorActivationContext, ContributorCallbackContext, ContributorDefinition, ContributorResponse, DEFAULT_FAILURE_POLICY, EventNameSelector, ExtensionClientHookResponsesContribution, FailurePolicy, InstallError, InstallErrorSchema, InstallStage, InstallStageSchema, InstalledVersionEntry, InstalledVersionEntrySchema, InteractionBlockability, InteractionSelector, LogSourceDefinition, LogSourceDefinitionSchema, ManagedInstallDescriptor, ManagedInstallDescriptorSchema, ManagedInstallStrategy, ManagedInstallStrategySchema, NpmInstallDescriptor, NpmInstallDescriptorSchema, PostInstallDescriptor, PostInstallDescriptorSchema, ProfileCreateRequest, ProfileCreateResponse, ProfileDeleteRequest, ProfileDeleteResponse, ProfileGetRequest, ProfileGetResponse, ProfileListRequest, ProfileListResponse, ProfileSetDefaultRequest, ProfileSetDefaultResponse, ProfileUpdateRequest, ProfileUpdateResponse, ProviderContractCatalogEntry, ProviderContributionEnvelope, RuntimeOutcome, RuntimeOutcomeCode, SessionConfigCleanupRequest, SessionConfigCleanupResponse, SessionConfigCreateRequest, SessionConfigCreateResponse, SessionConfigDestroyRequest, SessionConfigDestroyResponse, SessionConfigEnvSchema, SessionConfigInheritance, SessionConfigInheritanceSchema, SessionConfigLeaseIdSchema, SessionConfigSetupRequest, SessionConfigSetupRequestSchema, SessionConfigSetupResponse, SessionConfigSetupResponseSchema, SessionConfigTeardownRequest, SessionConfigTeardownRequestSchema, SessionConfigTeardownResponse, SessionConfigTeardownResponseSchema, SignedBinaryBucketInstallDescriptor, SignedBinaryBucketInstallDescriptorSchema, VersionCommand, VersionCommandSchema, createAppendEffect, createClientDefinition, createSessionTokenEffect, deriveHookEventTransportMode, isValidContributorId, isValidTimeoutMs, validateClosedPolicy };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Dr as ArtifactLifecycleHookEvent } from "../../index-
|
|
1
|
+
import { Dr as ArtifactLifecycleHookEvent } from "../../index-CbVqpQBu.mjs";
|
|
2
2
|
import { _ as extensionToken, a as ExtensionService, c as ExtensionWarningAction, d as ExtensionWarningEntrySchema, f as ExtensionWarningSchema, g as ExtensionToken, h as getExtensionWarningActionLabel, i as ExtensionIdentity, l as ExtensionWarningActionSchema, m as ExtensionWarningSeveritySchema, n as ExtensionContext, o as ExtensionServiceLifecycle, p as ExtensionWarningSeverity, r as NodeExtensionContext, s as ExtensionWarning, t as CredentialResolver, u as ExtensionWarningEntry } from "../../extension-context-DH84KOm9.mjs";
|
|
3
3
|
import { m as ExtensionClientHookResponsesContribution } from "../../hook-responses-OETFKaAL.mjs";
|
|
4
|
-
import { $ as ExtensionConfigComponentLoader, $n as WindowStyle, $t as ActionShortcut, A as ExtensionRuntimeBootContext, An as normalizeExtensionManifestExport, Ar as UiSurfaceFlags, At as TileCapabilities, B as BootstrapImportContext, Bn as ExtensionManifestSchema, Bt as UiRuntimeNavigationLevel, C as ExtensionEntrypointsSchema, Cn as ExtensionCliInteractiveContext, Cr as ProtocolConfigSchema, Ct as SlotPlacementDeclaration, D as ArtifactLifecycleHooksContributionContext, Dn as AdapterProviderDefinitionContract, Dr as ProviderManifestSchema, Dt as WidgetProps, E as safeParseExtensionDescriptor, En as AdapterDefinitionContract, Er as ProviderManifest, Et as WidgetDefinition, F as BootstrapAssetKey, Fn as CliSubcommandManifest, Ft as UiContextDimension, G as AdapterContribution, Gn as StorageManifest, Gt as HashSuggestion, H as BootstrapResult, Hn as RuntimeRequirementSchema, Ht as UiScopeMap, I as BootstrapChoice, In as CliSubcommandManifestSchema, It as UiContextSnapshot, J as ExtensionSessionEventActionsContribution, Jn as TrayManifestSchema, Jt as HashTriggerMetadata, K as ExtensionHashTriggersContribution, Kn as StorageManifestSchema, Kt as HashTrigger, L as BootstrapDiscoverContext, Ln as ExtensionDependency, Lt as UiContextValueMap, M as MakaioExtension, Mn as CliArgManifestSchema, Mr as BrowserEntrypoint, Mt as TileIconLoader, N as MakaioNodeExtension, Nn as CliManifest, Nr as BrowserEntrypointSchema, Nt as TileProps, O as ExtensionArtifactLifecycleHooksContribution, On as AdapterProviderRef, Or as SessionEventActionManifest, Ot as WidgetRenderers, P as BootstrapAsset, Pn as CliManifestSchema, Pt as TileRenderers, Q as ExtensionWorkflowBlocksContribution, Qn as WindowParamSpecSchema, Qt as ActionCategoryMap, R as BootstrapExportContext, Rn as ExtensionDependencySchema, Rt as UiNavigationLevel, S as ExtensionEntrypoints, Sn as ExtensionCliHandlerContext, Sr as ProtocolConfig, St as SlotId, T as parseExtensionDescriptor, Tn as ExtensionCliSubcommandEntry, Tr as ProtocolRefSchema, Tt as WidgetDeclaration, U as ExtensionBootstrap, Un as STORAGE_DIALECTS, Ut as GatheredContext, V as BootstrapImportResult, Vn as RuntimeRequirement, Vt as UiScope, W as getBootstrapAssetKey, Wn as StorageDialect, Wt as GatheredEntry, X as ExtensionUiContribution, Xn as WindowManifestSchema, Xt as HashTriggerSuggestResult, Y as ExtensionToolsContribution, Yn as WindowManifest, Yt as HashTriggerStage, Z as LogImportContribution, Zn as WindowParamSpec, Zt as ActionCategory, _ as EmbeddedDescriptor, _n as ExtensionRuntimeOwnership, _r as HashTriggerManifest, _t as PageComponentProps, a as ExtensionOperatorConfigValue, an as ExecuteResult, ar as CapabilityTokenSchema, at as LoaderContext, b as ExtensionDescriptorParseResult, bn as ExtensionCliBeforeRunResult, br as LogImporterManifest, bt as SlotContentDeclaration, c as EXTENSION_OPERATOR_CONFIG_FILE_SUFFIX, cn as PickerConfig, cr as AdapterManifest, ct as MakaioWebUiComponentProps, d as encodeExtensionNameAsPathSegment, dn as SelectionFeedback, dr as ArtifactLifecycleHookManifest, dt as PromisifiedActions, en as ActionShortcutModifiers, er as allMigrationsPaths, et as ExtensionConfigComponentProps, f as ExtensionConfigProvider, fn as SessionEventActionContext, fr as ArtifactLifecycleHookManifestSchema, ft as PluginFormattedToolCallOutput, g as DetachedTransportSchema, gn as WhenContext, gr as ContributionManifestSchema, gt as ToolCallFormatterDeclaration, h as DetachedTransportConfig, hn as StructuralEventFilter, hr as ContributionManifest, ht as PluginTransformedContentType, i as ExtensionOperatorConfigSource, in as ExecuteContext, ir as CapabilityTokenMap, it as ExtensionOperatorConfigProvenance, j as ExtensionRuntimeBootContribution, jn as CliArgManifest, jr as UiSurfaceFlagsSchema, jt as TileDeclaration, k as ExtensionContributionProcessor, kn as isExtensionManifestLike, kr as SessionEventActionManifestSchema, kt as WidgetSize$1, l as MAX_OPERATOR_CONFIG_FILE_NAME_BYTES, ln as PickerOpenContext, lr as AdapterManifestSchema, lt as MakaioWebUiLoader, m as DetachedDescriptor, mn as SessionEventActionOptions, mr as ClientManifestSchema, mt as PluginTransformedContent, n as ExtensionOperatorConfigFailure, nn as EntrypointConfig, nr as primaryMigrationsPath, nt as ExtensionFieldTypeLoader, o as EXTENSION_DATA_DIR_SEGMENT, on as MessageEventFilter, or as AdapterClientRef, ot as MakaioWebUiAction, p as parseExtensionConfig, pn as SessionEventActionDeclaration, pr as ClientManifest, pt as PluginToolCallFormatterInput, q as ExtensionNamespaceContribution, qn as TrayManifest, qt as HashTriggerContext, r as ExtensionOperatorConfigFailureReason, rn as EventFilter, rr as CapabilityToken, rt as ExtensionFieldTypeRegistration, s as EXTENSION_NAME_PATH_SEGMENT_UNRESERVED, sn as MessageRole, sr as AdapterClientRefSchema, st as MakaioWebUiActions, t as ExtensionOperatorConfigEntry, tn as CreateSessionEventActionResult, tr as dep, tt as ExtensionFieldTypeEntry, u as decodeExtensionNamePathSegment, un as SelectionChangeContext, ur as ArtifactLifecycleHookEventSchema, ut as MakaioWebUiRoute, v as ExtensionDescriptor, vn as isRuntimeOwnershipFieldClaimed, vr as HashTriggerManifestSchema, vt as PageDeclaration, w as isDetachedDescriptor, wn as ExtensionCliOutputWriter, wr as ProtocolRef, wt as WidgetSize, x as ExtensionDescriptorSchema, xn as ExtensionCliContribution, xr as LogImporterManifestSchema, xt as SlotDeclaration, y as ExtensionDescriptorBase, yn as ExtensionCliBeforeRunContext, yr as HashTriggerStageManifest, yt as PageMode, z as BootstrapExportResult, zn as ExtensionManifest, zt as UiNavigationLevelMap } from "../../index-
|
|
4
|
+
import { $ as ExtensionConfigComponentLoader, $n as WindowStyle, $t as ActionShortcut, A as ExtensionRuntimeBootContext, An as normalizeExtensionManifestExport, Ar as UiSurfaceFlags, At as TileCapabilities, B as BootstrapImportContext, Bn as ExtensionManifestSchema, Bt as UiRuntimeNavigationLevel, C as ExtensionEntrypointsSchema, Cn as ExtensionCliInteractiveContext, Cr as ProtocolConfigSchema, Ct as SlotPlacementDeclaration, D as ArtifactLifecycleHooksContributionContext, Dn as AdapterProviderDefinitionContract, Dr as ProviderManifestSchema, Dt as WidgetProps, E as safeParseExtensionDescriptor, En as AdapterDefinitionContract, Er as ProviderManifest, Et as WidgetDefinition, F as BootstrapAssetKey, Fn as CliSubcommandManifest, Ft as UiContextDimension, G as AdapterContribution, Gn as StorageManifest, Gt as HashSuggestion, H as BootstrapResult, Hn as RuntimeRequirementSchema, Ht as UiScopeMap, I as BootstrapChoice, In as CliSubcommandManifestSchema, It as UiContextSnapshot, J as ExtensionSessionEventActionsContribution, Jn as TrayManifestSchema, Jt as HashTriggerMetadata, K as ExtensionHashTriggersContribution, Kn as StorageManifestSchema, Kt as HashTrigger, L as BootstrapDiscoverContext, Ln as ExtensionDependency, Lt as UiContextValueMap, M as MakaioExtension, Mn as CliArgManifestSchema, Mr as BrowserEntrypoint, Mt as TileIconLoader, N as MakaioNodeExtension, Nn as CliManifest, Nr as BrowserEntrypointSchema, Nt as TileProps, O as ExtensionArtifactLifecycleHooksContribution, On as AdapterProviderRef, Or as SessionEventActionManifest, Ot as WidgetRenderers, P as BootstrapAsset, Pn as CliManifestSchema, Pt as TileRenderers, Q as ExtensionWorkflowBlocksContribution, Qn as WindowParamSpecSchema, Qt as ActionCategoryMap, R as BootstrapExportContext, Rn as ExtensionDependencySchema, Rt as UiNavigationLevel, S as ExtensionEntrypoints, Sn as ExtensionCliHandlerContext, Sr as ProtocolConfig, St as SlotId, T as parseExtensionDescriptor, Tn as ExtensionCliSubcommandEntry, Tr as ProtocolRefSchema, Tt as WidgetDeclaration, U as ExtensionBootstrap, Un as STORAGE_DIALECTS, Ut as GatheredContext, V as BootstrapImportResult, Vn as RuntimeRequirement, Vt as UiScope, W as getBootstrapAssetKey, Wn as StorageDialect, Wt as GatheredEntry, X as ExtensionUiContribution, Xn as WindowManifestSchema, Xt as HashTriggerSuggestResult, Y as ExtensionToolsContribution, Yn as WindowManifest, Yt as HashTriggerStage, Z as LogImportContribution, Zn as WindowParamSpec, Zt as ActionCategory, _ as EmbeddedDescriptor, _n as ExtensionRuntimeOwnership, _r as HashTriggerManifest, _t as PageComponentProps, a as ExtensionOperatorConfigValue, an as ExecuteResult, ar as CapabilityTokenSchema, at as LoaderContext, b as ExtensionDescriptorParseResult, bn as ExtensionCliBeforeRunResult, br as LogImporterManifest, bt as SlotContentDeclaration, c as EXTENSION_OPERATOR_CONFIG_FILE_SUFFIX, cn as PickerConfig, cr as AdapterManifest, ct as MakaioWebUiComponentProps, d as encodeExtensionNameAsPathSegment, dn as SelectionFeedback, dr as ArtifactLifecycleHookManifest, dt as PromisifiedActions, en as ActionShortcutModifiers, er as allMigrationsPaths, et as ExtensionConfigComponentProps, f as ExtensionConfigProvider, fn as SessionEventActionContext, fr as ArtifactLifecycleHookManifestSchema, ft as PluginFormattedToolCallOutput, g as DetachedTransportSchema, gn as WhenContext, gr as ContributionManifestSchema, gt as ToolCallFormatterDeclaration, h as DetachedTransportConfig, hn as StructuralEventFilter, hr as ContributionManifest, ht as PluginTransformedContentType, i as ExtensionOperatorConfigSource, in as ExecuteContext, ir as CapabilityTokenMap, it as ExtensionOperatorConfigProvenance, j as ExtensionRuntimeBootContribution, jn as CliArgManifest, jr as UiSurfaceFlagsSchema, jt as TileDeclaration, k as ExtensionContributionProcessor, kn as isExtensionManifestLike, kr as SessionEventActionManifestSchema, kt as WidgetSize$1, l as MAX_OPERATOR_CONFIG_FILE_NAME_BYTES, ln as PickerOpenContext, lr as AdapterManifestSchema, lt as MakaioWebUiLoader, m as DetachedDescriptor, mn as SessionEventActionOptions, mr as ClientManifestSchema, mt as PluginTransformedContent, n as ExtensionOperatorConfigFailure, nn as EntrypointConfig, nr as primaryMigrationsPath, nt as ExtensionFieldTypeLoader, o as EXTENSION_DATA_DIR_SEGMENT, on as MessageEventFilter, or as AdapterClientRef, ot as MakaioWebUiAction, p as parseExtensionConfig, pn as SessionEventActionDeclaration, pr as ClientManifest, pt as PluginToolCallFormatterInput, q as ExtensionNamespaceContribution, qn as TrayManifest, qt as HashTriggerContext, r as ExtensionOperatorConfigFailureReason, rn as EventFilter, rr as CapabilityToken, rt as ExtensionFieldTypeRegistration, s as EXTENSION_NAME_PATH_SEGMENT_UNRESERVED, sn as MessageRole, sr as AdapterClientRefSchema, st as MakaioWebUiActions, t as ExtensionOperatorConfigEntry, tn as CreateSessionEventActionResult, tr as dep, tt as ExtensionFieldTypeEntry, u as decodeExtensionNamePathSegment, un as SelectionChangeContext, ur as ArtifactLifecycleHookEventSchema, ut as MakaioWebUiRoute, v as ExtensionDescriptor, vn as isRuntimeOwnershipFieldClaimed, vr as HashTriggerManifestSchema, vt as PageDeclaration, w as isDetachedDescriptor, wn as ExtensionCliOutputWriter, wr as ProtocolRef, wt as WidgetSize, x as ExtensionDescriptorSchema, xn as ExtensionCliContribution, xr as LogImporterManifestSchema, xt as SlotDeclaration, y as ExtensionDescriptorBase, yn as ExtensionCliBeforeRunContext, yr as HashTriggerStageManifest, yt as PageMode, z as BootstrapExportResult, zn as ExtensionManifest, zt as UiNavigationLevelMap } from "../../index-CQAriG-z.mjs";
|
|
5
5
|
import { D as EntityUIConfig } from "../../index-DDCixELI.mjs";
|
|
6
6
|
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, CredentialResolver, DetachedDescriptor, DetachedTransportConfig, DetachedTransportSchema, EXTENSION_DATA_DIR_SEGMENT, EXTENSION_NAME_PATH_SEGMENT_UNRESERVED, EXTENSION_OPERATOR_CONFIG_FILE_SUFFIX, EmbeddedDescriptor, EntityUIConfig, EntrypointConfig, EventFilter, ExecuteContext, ExecuteResult, ExtensionArtifactLifecycleHooksContribution, ExtensionBootstrap, ExtensionCliBeforeRunContext, ExtensionCliBeforeRunResult, ExtensionCliContribution, ExtensionCliHandlerContext, ExtensionCliInteractiveContext, ExtensionCliOutputWriter, ExtensionCliSubcommandEntry, ExtensionClientHookResponsesContribution, ExtensionConfigComponentLoader, ExtensionConfigComponentProps, ExtensionConfigProvider, ExtensionContext, ExtensionContributionProcessor, ExtensionDependency, ExtensionDependencySchema, ExtensionDescriptor, ExtensionDescriptorBase, ExtensionDescriptorParseResult, ExtensionDescriptorSchema, ExtensionEntrypoints, ExtensionEntrypointsSchema, ExtensionFieldTypeEntry, ExtensionFieldTypeLoader, ExtensionFieldTypeRegistration, ExtensionHashTriggersContribution, ExtensionIdentity, ExtensionManifest, ExtensionManifestSchema, ExtensionNamespaceContribution, ExtensionOperatorConfigEntry, ExtensionOperatorConfigFailure, ExtensionOperatorConfigFailureReason, ExtensionOperatorConfigProvenance, ExtensionOperatorConfigSource, ExtensionOperatorConfigValue, ExtensionRuntimeBootContext, ExtensionRuntimeBootContribution, ExtensionRuntimeOwnership, ExtensionService, ExtensionServiceLifecycle, ExtensionSessionEventActionsContribution, ExtensionToken, ExtensionToolsContribution, ExtensionUiContribution, ExtensionWarning, ExtensionWarningAction, ExtensionWarningActionSchema, ExtensionWarningEntry, ExtensionWarningEntrySchema, ExtensionWarningSchema, ExtensionWarningSeverity, ExtensionWarningSeveritySchema, ExtensionWorkflowBlocksContribution, GatheredContext, GatheredEntry, HashSuggestion, HashTrigger, HashTriggerContext, HashTriggerManifest, HashTriggerManifestSchema, HashTriggerMetadata, HashTriggerStage, HashTriggerStageManifest, HashTriggerSuggestResult, LoaderContext, LogImportContribution, LogImporterManifest, LogImporterManifestSchema, MAX_OPERATOR_CONFIG_FILE_NAME_BYTES, 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, 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, decodeExtensionNamePathSegment, dep, encodeExtensionNameAsPathSegment, extensionToken, getBootstrapAssetKey, getExtensionWarningActionLabel, isDetachedDescriptor, isExtensionManifestLike, isRuntimeOwnershipFieldClaimed, normalizeExtensionManifestExport, parseExtensionConfig, parseExtensionDescriptor, primaryMigrationsPath, safeParseExtensionDescriptor };
|