@makaio/framework 1.0.0-dev-1788963848381 → 1.0.0-dev-1788966380232

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/dist/.makaio-build.json +2 -2
  2. package/dist/{attempt-record-codec-62Ifw7fv.mjs → attempt-record-codec-D2Gb_epJ.mjs} +1 -1
  3. package/dist/contracts/adapter/index.d.mts +2 -2
  4. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  5. package/dist/contracts/artifact/index.d.mts +1 -1
  6. package/dist/contracts/automation-trigger/index.d.mts +1 -1
  7. package/dist/contracts/capabilities/index.d.mts +1 -1
  8. package/dist/contracts/client/index.d.mts +2 -2
  9. package/dist/contracts/extension/index.d.mts +4 -4
  10. package/dist/contracts/facet/index.d.mts +1 -1
  11. package/dist/contracts/harness/index.d.mts +1 -1
  12. package/dist/contracts/index.d.mts +71 -71
  13. package/dist/contracts/materialization/index.d.mts +2 -2
  14. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  15. package/dist/contracts/reaction/index.d.mts +1 -1
  16. package/dist/contracts/session/index.d.mts +2 -2
  17. package/dist/contracts/variant/index.d.mts +1 -1
  18. package/dist/contracts/worker/index.d.mts +1 -1
  19. package/dist/contracts/workflow/index.d.mts +1 -1
  20. package/dist/{contribution-BexrtFLC.d.mts → contribution-BfEEQ8YZ.d.mts} +1 -1
  21. package/dist/{execution-attempt-owner-recovery-CwTiTnnR.mjs → execution-attempt-owner-recovery-D4APLAvt.mjs} +1 -1
  22. package/dist/{execution-attempt-repository-CE7UXmEi.d.mts → execution-attempt-repository--RVils5-.d.mts} +273 -189
  23. package/dist/execution-attempt-repository-CWbgCTwA.mjs +1 -0
  24. package/dist/{extension-context-DDfSMPat.d.mts → extension-context-Cpf_n5FH.d.mts} +3 -3
  25. package/dist/{hook-responses-CRQYe15-.d.mts → hook-responses-CpEfxEmG.d.mts} +1 -1
  26. package/dist/{index-Bq8JJ77a2.d.mts → index-09eal6WI2.d.mts} +11 -11
  27. package/dist/{index-B_gyAIAo.d.mts → index-B7wjmaev.d.mts} +23 -13
  28. package/dist/{index-DTadNB7U.d.mts → index-BKwYE1Qk.d.mts} +3 -3
  29. package/dist/{index-BsZu6i8H2.d.mts → index-BT5qcsEf2.d.mts} +15 -15
  30. package/dist/{index-CCYavCD92.d.mts → index-BfzuauBt2.d.mts} +1 -1
  31. package/dist/{index-DkviOBAT.d.mts → index-Bj2JCo9V.d.mts} +1 -1
  32. package/dist/{index-CpGf9W_u.d.mts → index-BkQlL0Pl.d.mts} +8 -8
  33. package/dist/{index-DsEwuqKE.d.mts → index-Bnm0QvJ4.d.mts} +32 -32
  34. package/dist/{index-dpaDWzUU.d.mts → index-BqR2xDu6.d.mts} +234 -234
  35. package/dist/{index-CR5OVrQJ.d.mts → index-Bxq_zO2E.d.mts} +4 -4
  36. package/dist/{index-ndFBIZvG2.d.mts → index-C75h1xHF2.d.mts} +1 -1
  37. package/dist/{index-BdGOOFbD.d.mts → index-CVh7ZP2I.d.mts} +6 -6
  38. package/dist/{index-Bk8WkSa_.d.mts → index-DO633_D-.d.mts} +45 -45
  39. package/dist/{index-CP96gudX2.d.mts → index-DU9Y9tes2.d.mts} +4 -4
  40. package/dist/{index-CX9F0vHE.d.mts → index-DY_0TRvM.d.mts} +7 -7
  41. package/dist/{index-DhhHzOUU.d.mts → index-DzlGAEws.d.mts} +1 -1
  42. package/dist/{index-BIlFSGnW.d.mts → index-LjLUr3Dm.d.mts} +10 -10
  43. package/dist/{index-E55FZQKt.d.mts → index-MtDz_goH.d.mts} +49 -49
  44. package/dist/{index-DCHdW5g-.d.mts → index-ud9i9pue.d.mts} +16 -16
  45. package/dist/{index-di-02yaB2.d.mts → index-v9TbeVee2.d.mts} +5 -5
  46. package/dist/kernel/extension/index.d.mts +1 -1
  47. package/dist/kernel/index.d.mts +2 -2
  48. package/dist/kernel/observability/index.d.mts +1 -1
  49. package/dist/{namespace-CfA0C0JR.d.mts → namespace-B1sjokHd.d.mts} +2 -2
  50. package/dist/{namespace-BFZ4HTH-.d.mts → namespace-BYsKOw-g.d.mts} +2 -2
  51. package/dist/{namespace-Dmbm2JzV.d.mts → namespace-Cy62a3YP.d.mts} +2 -2
  52. package/dist/{namespace-De6ORL69.d.mts → namespace-KTRWfIPy.d.mts} +2 -2
  53. package/dist/package-B-xpYKe8.mjs +7 -0
  54. package/dist/{package-DjI3DSDe.d.mts → package-Bl0mcGb8.d.mts} +8 -1
  55. package/dist/package.json +1 -1
  56. package/dist/runtime-node/index.d.mts +1 -1
  57. package/dist/runtime-node/index.mjs +1 -1
  58. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  59. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  60. package/dist/{schemas-a4aVR0WT.d.mts → schemas-BYyT43gX.d.mts} +13 -13
  61. package/dist/{schemas-CQe4xCRn.d.mts → schemas-DGKWi7mk.d.mts} +2 -2
  62. package/dist/{schemas-CikbhFMx.d.mts → schemas-DwqibWUL.d.mts} +2 -2
  63. package/dist/services/agent-runtime/index.d.mts +2 -2
  64. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  65. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  66. package/dist/services/execution-target/index.d.mts +3 -3
  67. package/dist/services/execution-target/namespace.d.mts +1 -1
  68. package/dist/services/execution-target/schemas.d.mts +1 -1
  69. package/dist/services/filesystem/namespace.d.mts +6 -6
  70. package/dist/services/filesystem/schemas.d.mts +3 -3
  71. package/dist/services/index.d.mts +24 -24
  72. package/dist/services/log-import/browser.d.mts +2 -2
  73. package/dist/services/log-import/index.d.mts +2 -2
  74. package/dist/services/log-import/log-import.d.mts +1 -1
  75. package/dist/services/log-import/namespace.d.mts +2 -2
  76. package/dist/services/log-import/schemas.d.mts +1 -1
  77. package/dist/services/session/handlers/index.d.mts +1 -1
  78. package/dist/services/session/index.d.mts +3 -3
  79. package/dist/services/session/messages/namespace.d.mts +1 -1
  80. package/dist/services/settings/namespace.d.mts +10 -10
  81. package/dist/services/subagent-template/index.d.mts +2 -2
  82. package/dist/services/subagent-template/namespace.d.mts +1 -1
  83. package/dist/services/subagent-template/schemas.d.mts +1 -1
  84. package/dist/{session-lineage-CLOlB9l_.d.mts → session-lineage-CEyJWg_J.d.mts} +1 -1
  85. package/dist/{types-Bs3Pm8rB2.d.mts → types-Bnc-pdB12.d.mts} +1 -1
  86. package/dist/{types-DoxPKNUW.d.mts → types-ZvPhKp3j.d.mts} +8 -8
  87. package/dist/{view-builder-BMpOHHlf.d.mts → view-builder-D54kvyf7.d.mts} +9 -9
  88. package/dist/workflow-engine/execution-attempt-repository.d.mts +2 -2
  89. package/dist/workflow-engine/execution-attempt-repository.mjs +1 -1
  90. package/dist/workflow-engine/index.d.mts +51 -51
  91. package/dist/workflow-engine/index.mjs +1 -1
  92. package/dist/workflow-engine/package.d.mts +1 -1
  93. package/dist/workflow-engine/package.mjs +1 -1
  94. package/dist/workflow-engine/provider-operation.d.mts +1 -1
  95. package/dist/workflow-engine/testing/conformance.d.mts +1 -1
  96. package/dist/workflow-engine/testing/conformance.mjs +2 -2
  97. package/dist/workflow-engine/testing/index.d.mts +3 -1
  98. package/dist/workflow-engine/testing/index.mjs +1 -1
  99. package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
  100. package/dist/workflow-engine/testing/sqlite.mjs +66 -61
  101. package/dist/workflow-worker-CrnDwpkP.mjs +2 -0
  102. package/package.json +1 -1
  103. package/dist/execution-attempt-repository-Z7oEBcgp.mjs +0 -1
  104. package/dist/package-BESXccyx.mjs +0 -7
  105. package/dist/workflow-worker-Drf-skvM.mjs +0 -2
  106. package/dist/{index-BU9HQ1vJ2.d.mts → index-BBkJsViX2.d.mts} +6 -6
@@ -1,4 +1,4 @@
1
- import{i as e,o as t,t as n}from"../chunk-DTipWd-i.mjs";import{t as r}from"../semver-_h8-BJ8k.mjs";import{A as i,B as a,F as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,V as m,_ as h,a as g,c as _,d as v,h as y,i as b,j as x,k as S,m as C,n as w,o as T,r as E,s as D,t as ee,u as te,v as ne,z as re}from"../workflow-worker-Drf-skvM.mjs";import{createNodeClientBinaryStrategyDependencies as ie}from"./client-binary-strategy-dependencies.mjs";import{RuntimeNamespace as ae,RuntimeSubjects as O}from"./bus/runtime/namespace.mjs";import{ExplicitDescriptorDiscovery as oe,FilesystemDescriptorDiscovery as se,MergedDescriptorDiscovery as k}from"./extension-discovery.mjs";import{MAKAIO_CONFIG_FILE_ENV as ce,MAKAIO_HOME_ENV as le,buildConfiguredRuntimeOptions as A,createMakaioConfigDiscovery as ue,defineMakaioConfig as de,loadMakaioConfig as fe,parseMakaioConfig as pe,resolveMakaioConfigPath as me,resolveMakaioHome as he,shouldIncludeExtension as ge}from"./makaio-config.mjs";import{n as _e}from"../extension-package-provenance-Dr7JXjLS.mjs";import{t as j}from"../descriptor-to-package-GVZk9ZGT.mjs";import{a as ve,c as M,i as ye,l as N,n as be,o as xe,r as Se,s as Ce,t as we}from"../load-extensions-s4YmICgn.mjs";import{a as Te,c as Ee,i as De,n as Oe,o as ke,r as Ae,s as je,t as Me}from"../bootstrap-start-client-rW55mDI-.mjs";import{captureWorkflowExecutionBusSecretCleanup as Ne}from"./workflow-execution-bus-access.mjs";import{a as Pe,c as Fe,i as Ie,n as Le,o as Re,r as ze,s as Be,t as Ve}from"../types-Bh2fQoxM.mjs";import{t as He}from"../code-execution-ByLSAlEg2.mjs";import{createRequire as Ue}from"node:module";import{z as P}from"zod";import{execFile as We}from"node:child_process";import{promisify as Ge}from"node:util";import{fileURLToPath as Ke,pathToFileURL as qe}from"node:url";import*as F from"node:fs/promises";import*as I from"node:path";import L from"node:path";import*as Je from"node:crypto";import{createHash as Ye}from"node:crypto";import*as R from"node:fs";import{existsSync as Xe,readFileSync as Ze,statSync as Qe}from"node:fs";import{isRecord as $e}from"@makaio/framework/utils";import{createBusNamespace as et}from"@makaio/framework/core";import{AIModelSchema as tt,BUILT_IN_THIN_WORKFLOW_PROVIDER_ID as nt,ConfigSchema as rt,ConfigSubjects as it,CredentialSubjects as at,FrameworkContractNamespaces as ot,FrameworkStorageNamespaces as st,SubjectTelemetrySubjects as ct,isDetachedDescriptor as lt,registerWorkerProvider as ut,safeParseExtensionDescriptor as dt,unregisterWorkerProvider as ft,versionSatisfies as pt}from"@makaio/framework/contracts";import{ChannelClosedError as mt,MakaioBus as ht,openChannel as gt,projectSubjectTelemetryFacts as _t}from"@makaio/framework/bus";import{DispatchingAuth as vt,E2EAuth as yt,HmacAuth as bt,WebSocketClientTransport as xt}from"@makaio/framework/node/transports";import{BootNamespace as St,ExtensionCoordinator as Ct,ExtensionNamespace as wt,KernelNamespace as Tt,createShutdownSequence as Et}from"@makaio/framework/kernel";import{BaseService as Dt}from"@makaio/framework/service-base";import{uniqueIndex as Ot}from"drizzle-orm/sqlite-core";import{uniqueIndex as kt}from"drizzle-orm/pg-core";import{STORAGE_ENGINE_URL_HINTS as At,defineDialectSchema as jt,defineDualTable as Mt,findStorageEngine as Nt,getDatabaseDialect as Pt,getRawSqlExecutor as Ft,getStorageEngine as It,registerDrizzleHandlers as Lt,registerStorageEngine as Rt,resolveSchema as zt,resolveStorageEngine as Bt,resolveStorageEngineForUrl as Vt}from"@makaio/framework/storage/drizzle";import{and as Ht,eq as z,sql as B}from"drizzle-orm";import{parseStoredCredentialRef as Ut}from"@makaio/framework/contracts/config";import*as Wt from"node:os";import{ProviderStorageSubjects as Gt}from"@makaio/framework/services/settings/storage";import{FrameworkServicesCoreNamespaces as Kt,createArtifactKindContributionProcessor as qt,createArtifactLifecycleHookContributionProcessor as Jt,createFacetNamespaceContributionProcessor as Yt,createModelRegistryPackage as Xt,createReactionContributionProcessor as Zt,createToolContributionProcessor as Qt,createTransitionContributionProcessor as $t,createWorkflowBlockContributionProcessor as en}from"@makaio/framework/services";import{CachedRegistryFetcher as tn,FallbackRegistryFetcher as nn,ModelRegistrySchema as rn,ProviderModelOverrideSchema as an,mergeModelMetadata as on}from"@makaio/framework/services/model-registry";import{createClientsCorePackage as sn}from"@makaio/framework/clients";import{createDatabaseClient as cn}from"@makaio/framework/storage/drizzle/client";import{AdapterRuntimeSnapshotError as ln,resolveAdapterRuntimeSnapshot as un,resolveBoundProviderAuth as dn,resolveConnectorCredentials as fn,resolveCredentialRef as pn}from"@makaio/framework/adapters/config";import{DefinitionSubjects as mn}from"@makaio/framework/services/definition";import{ProviderRuntimeSubjects as hn}from"@makaio/framework/services/provider-runtime";import{SettingsSubjects as gn}from"@makaio/framework/services/settings/namespace";import{AdapterSubsystemToken as _n,FileAdapterConfigRepository as vn,orderAfterAdapterSubsystem as yn}from"@makaio/framework/adapter-subsystem";import{loadOrCreateMachineIdentity as bn,loadOrCreateMachineIdentity as xn,machineKeysExist as Sn,validateMachineKeys as Cn}from"@makaio/framework/node/machine-identity";import{resolveWorkspaceRoot as wn}from"@makaio/framework/utils/workspace-root";import{Hono as Tn}from"hono";import{CliNamespace as En}from"@makaio/framework/kernel/cli";import{startBusServer as Dn}from"@makaio/framework/node/bus-server";import{WebSocketServer as On}from"ws";import{ConfigProvider as kn}from"@makaio/framework/providers";import{KernelSubjects as V}from"@makaio/framework/kernel/namespace";import{createAutomationTriggerContributionProcessor as An,selectAutomationCronSchedulerPackage as jn}from"@makaio/framework/services/automation-trigger";import{createArtifactViewBuilderContributionProcessor as Mn,createSurfaceBindingContributionProcessor as Nn}from"@makaio/framework/services/materialization";import{createLogImportContributionProcessor as Pn,logImportRegistryPackage as Fn}from"@makaio/framework/services/log-import";import{WorkflowEngineToken as In,createWorkflowEnginePackage as Ln}from"@makaio/framework/workflow-engine/package";import{PreferenceValueSchema as Rn,PreferencesSubjects as zn}from"@makaio/framework/services/preferences";import{parseWorkspaceGlobs as Bn}from"@makaio/framework/utils/workspace-packages";import{serveStatic as Vn}from"@hono/node-server/serve-static";var Hn=class extends Error{constructor(){super(`Live model discovery requires an adapter/provider protocol declaration.`),this.name=`ProviderModelFetchProtocolError`}};function Un(e){let t=e.providerProtocol;if(t===void 0)throw new Hn;return e.snapshot.context.endpointOverrides?.[t]??e.snapshot.definition.endpoints?.[t]}function Wn(e){let t,n=!1;for(let r=e.length-1;r>=0;--r){let i=e[r];try{i()}catch(e){n||=(t=e,!0)}}if(e.length=0,n)throw t}function Gn(e,t){try{return t()}catch(t){try{Wn(e)}catch{}throw t}}function Kn(e,t){for(let n of e){let e=n.providers.find(e=>e.definition.id===t);if(e)return e}}function qn(e){let{$schema:t,...n}=e;return n}function Jn(e){let t=e.definition,n=Date.now();return{id:t.id,packageName:e.providerPackageName,name:t.name,description:t.description,endpoints:t.endpoints,defaultModel:t.defaultModel,fastModel:t.fastModel,availableModels:t.availableModels??[],defaultModelFilterMode:`show-all`,authMethods:t.authMethods,capabilities:t.capabilities,enabled:!0,createdAt:n,updatedAt:n}}function Yn(e,t,n,r){let i=[];return Gn(i,()=>(i.push(e.on(gn.adapter.getConfigSchema,({payload:e,setResult:n})=>{let r=t().find(t=>t.name===e.adapterName);if(!r?.adapterConfigSchema){n({hasSchema:!1,schema:null});return}n({hasSchema:!0,schema:P.toJSONSchema(r.adapterConfigSchema)})})),i.push(e.on(mn.getConfigSchema,({payload:e,setResult:n})=>{let r=Kn(t(),e.definitionId)?.configSchema;if(r){n({hasSchema:!0,schema:P.toJSONSchema(r)});return}n({hasSchema:!1,schema:null})})),r&&i.push(e.on(gn.extension.getConfigSchema,({payload:e,setResult:t})=>{let n=r(e.extensionName);if(!n?.configSchema){t({hasSchema:!1,schema:null,uiConfig:null});return}t({hasSchema:!0,schema:qn(P.toJSONSchema(n.configSchema)),uiConfig:n.uiConfig??null})})),i.push(e.on(Gt.get,({payload:e,setResult:n})=>{for(let r of t()){let t=r.providers.find(t=>t.definition.id===e.id);if(t){n({provider:Jn(t)});return}}n({provider:null})},{priority:-1})),i.push(e.on(Gt.list,({setResult:e})=>{let n=[],r=new Set;for(let e of t())for(let t of e.providers)r.has(t.definition.id)||(r.add(t.definition.id),n.push(Jn(t)));e({providers:n})},{priority:-1})),i.push(e.on(hn.listModelFetchAdapters,async({payload:r,setResult:i})=>{let a=[];for(let i of t()){let t=i.options.adapterId,o=t?n().get(t):void 0;if(!(!o||!(`fetchModels`in o)||typeof o.fetchModels!=`function`))try{await un(e,{adapterName:i.name,providerConfigId:r.providerConfigId}),a.push(i.name)}catch(e){if(!(e instanceof ln))throw e}}a.sort((e,t)=>e.localeCompare(t)),i({adapterNames:a})})),i.push(e.on(hn.fetchModels,async({payload:r,setResult:i})=>{let a=t().find(e=>e.name===r.adapterName);if(!a)throw Error(`Adapter '${r.adapterName}' is not loaded for live model discovery`);let o=await un(e,{adapterName:a.name,providerConfigId:r.providerConfigId}),s=a.options.adapterId,c=s?n().get(s):void 0;if(!s||!c)throw Error(`Adapter instance for '${a.name}' not initialized`);if(!(`fetchModels`in c)||typeof c.fetchModels!=`function`)throw Error(`Adapter '${a.name}' does not support model fetching`);let l=Un(o),u=await dn(o.boundProviderAuth,t=>fn(e,t));i({models:await c.fetchModels(l,u)})})),()=>{Wn(i)}))}function Xn(e=`sqlite`){let{migrations:t}=It(e);return t.resolveSourceChainDir?.()??L.resolve(import.meta.dirname,`..`,t.chainDirName)}var Zn=class extends Error{expectedDialect;journalDialect;constructor(e,t,n,r){super(`Migration journal at ${r} declares dialect '${n??`unknown`}', but the target database speaks '${e}'. Point the runner at a migrations directory generated for '${e}' (journal dialect '${t}').`),this.name=`MigrationDialectMismatchError`,this.expectedDialect=e,this.journalDialect=n}};function Qn(e={}){let t=typeof e==`string`?void 0:e.expectedDialect,n=typeof e==`string`?e:e.migrationsDir??Xn(t),r=L.join(n,`meta`,`_journal.json`);if(!Xe(r))throw Error(`Cannot find migrations journal at ${r}`);let i=JSON.parse(Ze(r,`utf-8`));if(t!==void 0){let e=It(t).migrations.journalDialect;if(i.dialect!==e)throw new Zn(t,e,i.dialect,r)}return i.entries.map(e=>{let t=Ze(L.join(n,`${e.tag}.sql`),`utf-8`);return{tag:e.tag,sql:t.split(`--> statement-breakpoint`),folderMillis:e.when,hash:Ye(`sha256`).update(t).digest(`hex`),bps:e.breakpoints}})}function $n(e){return e.replace(/--.*$/gm,``).trim()}async function er(e,t){try{await e.run(B.raw(`ROLLBACK`))}catch(e){console.error(`[storage-migrations] Failed to roll back migration transaction`,{...t,rollbackError:e})}}async function tr(e){let{migrations:t}=e.engine;if(await e.session.run(B.raw(t.beginTransactionStatement)),t.acquireTransactionLock)try{await t.acquireTransactionLock(e.session,e.tableName)}catch(t){throw await er(e.session,{migrationsTable:e.tableName}),t}}async function nr(e){let t=e.engine.migrations.acquireTransactionLock!==void 0;t&&await tr(e);try{await e.session.run(B.raw(e.engine.migrations.buildLedgerDdl(e.tableName)));let n=await e.session.all(B`SELECT hash FROM ${e.tableId}`);return t&&await e.session.run(B.raw(`COMMIT`)),new Set(n.map(e=>e.hash))}catch(n){throw t&&await er(e.session,{migrationsTable:e.tableName}),n}}async function rr(e,t){try{await e.session.run(B`INSERT INTO ${e.tableId} ("hash", "created_at") VALUES (${t.hash}, ${t.folderMillis})`),await e.session.run(B.raw(`COMMIT`))}catch(e){throw console.error(`[storage-migrations] Failed to finalize migration`,{hash:t.hash,folderMillis:t.folderMillis,error:e}),e}}async function ir(e,t){return e.engine.migrations.acquireTransactionLock===void 0||(await e.session.all(B`SELECT hash FROM ${e.tableId} WHERE hash = ${t.hash}`)).length===0?!1:(console.warn(`[storage-migrations] Migration already recorded by a concurrent runner, skipping`,{hash:t.hash,folderMillis:t.folderMillis}),await e.session.run(B.raw(`COMMIT`)),!0)}async function ar(e,t){await e.session.run(B.raw(`ROLLBACK`)),await tr(e),!await ir(e,t)&&await rr(e,t)}async function or(e,t){await tr(e);try{if(await ir(e,t))return;for(let[n,r]of t.sql.entries())if($n(r))try{await e.session.run(B.raw(r))}catch(i){if(n===0&&/^\s*CREATE\s/i.test(r)&&e.engine.errors.isDuplicateObjectError(i)){if(t.sql.length>1)throw Error(`Cannot adopt multi-statement migration '${t.tag}' because its first schema object already exists. Reset the database or provide an incremental migration.`,{cause:i});console.warn(`[storage-migrations] Schema object already exists, adopting into ledger`,{hash:t.hash,folderMillis:t.folderMillis,statementIndex:n}),await ar(e,t);return}throw console.error(`[storage-migrations] Failed to apply migration statement`,{hash:t.hash,folderMillis:t.folderMillis,statementIndex:n,statement:r,error:i}),i}await rr(e,t)}catch(n){throw await er(e.session,{hash:t.hash,folderMillis:t.folderMillis}),n}}async function sr(e,t,n){let r=e.engine.migrations.constraintSuspension;if(!r?.isRequestedBy(t.sql)){await n();return}await e.session.run(B.raw(r.suspendStatement));try{await n()}finally{await e.session.run(B.raw(r.restoreStatement))}}async function cr(e,t,n){let r=Ft(e),i=It(r.dialect),a=n??i.migrations.defaultLedgerTable;await r.withSession(async e=>{let n={session:e,engine:i,tableName:a,tableId:B.identifier(a)},r=await nr(n);for(let e of t)r.has(e.hash)||(await sr(n,e,()=>or(n,e)),r.add(e.hash))})}async function lr(e,t={}){await cr(e,Qn({migrationsDir:t.migrationsDir,expectedDialect:Pt(e)})),await Bt(e).fts.provisionSearchIndex(e)}var ur=class{configPath;constructor(e){this.configPath=I.join(e,`config.json`)}async getConfig(){try{let e=await F.readFile(this.configPath,`utf-8`);return rt.parse(JSON.parse(e))}catch(e){if(e.code===`ENOENT`)return rt.parse({});if(e instanceof SyntaxError||e instanceof Error&&e.name===`ZodError`)return console.warn(`[FileConfigStorage] Failed to parse config, falling back to defaults:`,e),rt.parse({});throw e}}async saveConfig(e){let t=I.dirname(this.configPath);await F.mkdir(t,{recursive:!0}),await F.writeFile(this.configPath,JSON.stringify(e,null,2),{encoding:`utf-8`,mode:384}),await F.chmod(this.configPath,384)}};function dr(e){try{let t=wn(e);return[I.resolve(t,`framework/static/model-registry.yaml`),I.resolve(t,`static/model-registry.yaml`)].find(e=>{try{return Qe(e).isFile()}catch{return!1}})}catch{return}}async function fr(e,t){await new Promise((n,r)=>{if(e.address()){n();return}let i=e=>{if(o(),e.code===`EADDRINUSE`){r(Error(`Port ${t} is already in use`));return}r(e)},a=()=>{o(),n()},o=()=>{e.off(`error`,i),e.off(`listening`,a)};e.once(`error`,i),e.once(`listening`,a)}),e.on(`error`,e=>{console.error(`[HttpServer] Post-bind error:`,e)})}function pr(e){let t=e.address();if(typeof t==`object`&&t&&`port`in t)return t.port;throw Error(`HTTP server is not bound to a TCP address`)}function mr(e,t){let n=e,r=!1;return{fetch:(e,i,a)=>{if(!r)return new Response(`Makaio runtime is booting`,{status:503,headers:{"Retry-After":`1`}});let{pathname:o}=new URL(e.url);return t?.health&&e.method===`GET`&&o===`/health`?Response.json(t.health()):e.method===`GET`&&o===`/bus`?new Response(`WebSocket endpoint`,{status:426,headers:{Upgrade:`websocket`}}):n.fetch(e,i,a)},markReady(){r=!0},replaceApp(e){n=e}}}const hr=[`extension`,`static-fallback`];function gr(e){let t=[];function n(e){let t=new Tn,n=[...e].sort((e,t)=>hr.indexOf(e.phase)-hr.indexOf(t.phase));for(let e of n)e.mount(t);return t}function r(){return n(t)}function i(r){e&&e.replaceApp(n(r)),t=r}return{add(e){i([...t,e])},remove(e){let n=t.filter(t=>t.owner!==e);n.length!==t.length&&i(n)},build:r,get contributions(){return[...t]}}}function _r(e){let t=e.url?.split(`?`)[0]??``;return t===`/bus`?!0:(t===`/`||t===``)&&e.headers.origin===void 0}function vr(e,t){return(n,r,i)=>{if(!_r(n))return;let a=e();if(!a||!t()){r.destroy();return}a.handleUpgrade(n,r,i,e=>{a.emit(`connection`,e,n)})}}var yr=class{options;busServer=null;websocketServer=null;upgradeHandlerServer=null;upgradeHandler=null;busReady=!1;connecting=!1;constructor(e){this.options=e}get dispatchingAuth(){return this.options.auth instanceof vt?this.options.auth:void 0}async connect(e,t){if(this.connecting||this.busServer||this.websocketServer)throw Error(`[BusServerTransport] connect() called while transport is already connected or connecting`);if(this.options.httpServer.address()===null)throw Error(`[BusServerTransport] httpServer must already be listening before connect() is called`);this.connecting=!0;try{let t=new On({noServer:!0});this.websocketServer=t;let n=vr(()=>this.websocketServer,()=>this.busReady);this.options.httpServer.on(`upgrade`,n),this.upgradeHandlerServer=this.options.httpServer,this.upgradeHandler=n,this.busServer=await Dn({websocket:t,bus:e,auth:this.options.auth,loopbackName:this.options.loopbackName??`node`}),this.busReady=!0}catch(e){throw await this.stopBusServer(`startup error`),this.detachUpgradeHandler(),await this.stopWebSocketServer(`startup error`),e}finally{this.connecting=!1}}async disconnect(){await this.stopBusServer(`shutdown`),this.detachUpgradeHandler(),await this.stopWebSocketServer(`shutdown`)}async stopBusServer(e){this.busReady=!1,this.busServer&&=(await this.busServer.stop().catch(t=>{console.error(`[BusServerTransport] Failed to stop bus server during ${e}:`,t)}),null)}detachUpgradeHandler(){this.upgradeHandlerServer&&this.upgradeHandler&&this.upgradeHandlerServer.off(`upgrade`,this.upgradeHandler),this.upgradeHandlerServer=null,this.upgradeHandler=null}async stopWebSocketServer(e){this.websocketServer&&=(await new Promise((e,t)=>{this.websocketServer.close(n=>n?t(n):e())}).catch(t=>{t instanceof Error&&t.message===`The server is not running`||console.error(`[BusServerTransport] Failed to close WebSocket server during ${e}:`,t)}),null)}},br=class extends kn{keysDir;constructor(e,t){super(e),this.keysDir=I.join(t,`keys`)}async getConfig(e){let t=await super.getConfig(e);return t.bus?.remote&&!t.bus.remote.secret&&(t.bus.remote.secret=this.generateSecret(),(await this.getStoredConfig()).bus?.remote?.url===t.bus.remote.url&&await this.saveConfig(await this.prepareConfigForPersistence(t))),t}generateSecret(){return Je.randomBytes(32).toString(`base64`)}async getMachineId(){return(await xn(this.keysDir)).machineId}getEnv(e){return process.env[e]}};function xr(e,t){return{extensions:e.discovery??new se(void 0,{extensionsDir:L.join(t,`extensions`),nodeModulesDir:L.join(t,`node_modules`)})}}function Sr(e){return Xe(L.join(e,`meta`,`_journal.json`))}function Cr(e,t={}){let{moduleDir:n=import.meta.dirname,getMigrationsFolder:r=Xn}=t,i=It(e).migrations.chainDirName,a=[],o=L.resolve(n,`..`,i);if(Sr(o))return o;a.push(o);try{let t=r(e);if(Sr(t))return t;a.push(t)}catch(t){a.push(`getMigrationsFolder('${e}') unavailable: ${t instanceof Error?t.message:String(t)}`)}throw Error(`resolveBundledMigrationsDir: no '${e}' migrations directory with meta/_journal.json found. Probed: ${a.join(`; `)}. Pass an explicit migrations directory (boot option 'centralMigrationsDir' or InitializeNodeDatabaseOptions.migrationsDir) when migrations are staged elsewhere.`)}function wr(e){if(process.platform===`win32`)return!0;let t=e?.code;return t===`ENOSYS`||t===`EINVAL`}function Tr(e){return e===void 0||e.trim()===``?void 0:e}function Er(e){try{let t=new URL(e);if(t.host!==``)return`${t.protocol}//${t.host}${t.pathname}`}catch{}let t=e.indexOf(`:`);return t===-1?`<unparseable database URL>`:`${e.slice(0,t+1)}…`}async function Dr(e,t,n){let r;try{r=await import(qe(Ue(I.resolve(t,`package.json`)).resolve(e.packageName)).href)}catch(t){throw Error(`initializeNodeDatabase: the database URL from ${n} targets the '${e.dialect}' storage engine, but '${e.packageName}' could not be loaded. Install ${e.packageName} in the host application, or pass its already-loaded storageEngine via the 'database.engines' boot option.`,{cause:t})}let i=r.storageEngine;if(i===void 0||i.dialect!==e.dialect)throw Error(`initializeNodeDatabase: '${e.packageName}' does not provide a storage engine for dialect '${e.dialect}'. Auto-resolved engine packages must export 'storageEngine: StorageEngine' with a matching dialect.`);Nt(e.dialect)===void 0&&Rt(i)}async function Or(e){let t=Tr(e.database?.url),n=t??Tr(process.env.MAKAIO_DATABASE_URL);if(n!==void 0){let r=t===void 0?`the MAKAIO_DATABASE_URL environment variable`:`the 'database.url' boot option`,i=Vt(n);if(i.kind===`missing-engine`&&(await Dr(i,e.database?.enginePackageImportBasePath??process.cwd(),r),i=Vt(n)),i.kind!==`engine`){let e=At.map(e=>e.packageName).join(`, `);throw Error(`initializeNodeDatabase: unsupported database URL '${Er(n)}' from ${r}. URL targets require a storage engine that claims the URL (e.g. postgres:// / postgresql:// via ${e}); SQLite targets are configured via the dbPath option or MAKAIO_DATABASE_PATH.`)}return{kind:`url`,url:n,dialect:i.engine.dialect}}let r=I.resolve(Tr(e.dbPath)??Tr(process.env.MAKAIO_DATABASE_PATH)??I.join(e.makaioHome,`makaio.db`));return{kind:`file`,dbPath:r,url:qe(r).href}}async function kr(e){for(let t of e.database?.engines??[])Rt(t);let t=await Or(e);if(t.kind===`url`){let n=await cn({url:t.url,postgres:{poolMax:e.database?.poolMax}});try{let r=e.migrationsDir??Cr(t.dialect);return await lr(n.db,{migrationsDir:r}),{databaseClient:n}}catch(e){throw await n.close(),e}}let{dbPath:n}=t,r=I.dirname(n);await R.promises.mkdir(r,{recursive:!0});let i=await cn({url:t.url});try{await lr(i.db,{migrationsDir:e.migrationsDir});try{await R.promises.chmod(n,384)}catch(e){if(!wr(e))throw e;console.warn(`[initializeNodeDatabase] Failed to set SQLite file permissions (continuing; this may be unsupported on Windows):`,e)}return{databaseClient:i,dbPath:n}}catch(e){throw await i.close(),e}}const Ar=P.object({npmName:P.string(),version:P.string(),source:P.enum([`new`,`upgraded`,`already-present`])}),jr=P.object({npmName:P.string(),reason:P.string()}),Mr=P.object({success:P.boolean(),packageName:P.string(),version:P.string().optional(),restartRequired:P.boolean(),error:P.string().optional(),installed:P.array(Ar).optional(),skipped:P.array(jr).optional(),warnings:P.array(P.string()).optional()}),Nr=P.object({success:P.boolean(),packageName:P.string(),error:P.string().optional(),restartRequired:P.boolean()}),Pr=P.object({name:P.string(),version:P.string(),description:P.string().optional(),hasDescriptor:P.boolean().default(!1),serverImportPath:P.string().min(1).optional()}),Fr=P.object({packageName:P.string(),latestVersion:P.string(),success:P.boolean(),error:P.string().optional()}),Ir=P.object({name:P.string(),displayName:P.string(),description:P.string(),icon:P.string().optional(),tags:P.array(P.string()).optional(),descriptorName:P.string().min(1).optional()}),Lr=P.object({$schema:P.string(),updatedAt:P.string(),adapters:P.array(Ir),extensions:P.array(Ir)}),Rr=P.object({name:P.string(),currentVersion:P.string(),latestVersion:P.string(),description:P.string().optional()}),zr=et(`packages`,{list:{request:P.object({}),response:P.object({packages:P.array(Pr)})},install:{request:P.object({packageName:P.string().optional(),packageNames:P.array(P.string()).min(1).optional(),source:P.enum([`npm`,`local`]).optional(),force:P.boolean().optional()}).refine(e=>e.packageName!==void 0||e.packageNames!==void 0,{message:`Expected packageName or packageNames`}),response:Mr},uninstall:{request:P.object({packageName:P.string()}),response:Nr},getLatestVersion:{request:P.object({packageName:P.string()}),response:Fr},getRegistry:{request:P.object({}),response:Lr},checkUpdates:{request:P.object({}),response:P.object({updates:P.array(Rr)})},installed:P.object({packageName:P.string(),version:P.string()}),uninstalled:P.object({packageName:P.string()})}),H=zr.subjects;async function Br(e,t,n){if(!I.isAbsolute(e))return;let r;try{r=await F.realpath(e)}catch{return}let i=Vr(t,n),a=[I.resolve(r,`src`,`${i}.ts`),I.resolve(r,`dist`,`${i}.mjs`)];for(let e of a){let t=await Hr(e);if(t!==void 0&&Ur(t,r))return t}}function Vr(e,t){return t===!0?e:t}async function Hr(e){try{return await F.realpath(e)}catch{return}}function Ur(e,t){let n=I.relative(t,e);return n.length>0&&!n.startsWith(`..`)&&!I.isAbsolute(n)}var Wr=class{extensionsDir;constructor(e){this.extensionsDir=I.resolve(e)}async install(e){try{let t=I.resolve(e.endsWith(`descriptor.json`)?I.dirname(e):e),n=await F.realpath(t),r=await this.readDescriptor(n);lt(r)||await this.validateEntrypoints(n,r.entrypoints);let i=this.linkPathFor(r.name);await F.mkdir(I.dirname(i),{recursive:!0});try{if((await F.lstat(i)).isSymbolicLink())await F.unlink(i);else throw Error(`${i} already exists and is not a symlink`)}catch(e){if(e.code!==`ENOENT`)throw e}let a=process.platform===`win32`?`junction`:`dir`;return await F.symlink(n,i,a),{success:!0,packageName:r.name,version:r.version,restartRequired:!0}}catch(e){return{success:!1,packageName:``,error:e instanceof Error?e.message:String(e),restartRequired:!1}}}async uninstall(e){try{let t=this.linkPathFor(e);if(await F.unlink(t),e.startsWith(`@`)){let e=I.dirname(t);(await F.readdir(e).catch(()=>null))?.length===0&&await F.rmdir(e).catch(()=>{})}return{success:!0,packageName:e,restartRequired:!0}}catch(t){return{success:!1,packageName:e,error:t instanceof Error?t.message:String(t),restartRequired:!1}}}async list(){try{await F.access(this.extensionsDir)}catch{return[]}let e=await F.readdir(this.extensionsDir),t=[];for(let n of e){let e=I.join(this.extensionsDir,n);if(n.startsWith(`@`)){let n=await F.readdir(e).catch(()=>[]);for(let r of n){let n=I.join(e,r),i=await this.readLocalEntry(n);i!==null&&t.push(i)}}else{let n=await this.readLocalEntry(e);n!==null&&t.push(n)}}return t}async readLocalEntry(e){try{if(!(await F.lstat(e)).isSymbolicLink())return null;let t=await F.readlink(e),n=await F.realpath(I.resolve(I.dirname(e),t)),r=I.join(n,`descriptor.json`),i=await F.readFile(r,`utf-8`),a=dt(JSON.parse(i));if(!a.success)return null;let o=a.data.entrypoints?.server,s=o===void 0?void 0:await Br(n,`server`,o);return{name:a.data.name,version:a.data.version,sourcePath:n,source:`local`,...s!==void 0&&{serverImportPath:s}}}catch{return null}}async readDescriptor(e){let t=I.join(e,`descriptor.json`),n=await F.readFile(t,`utf-8`).catch(()=>{throw Error(`descriptor.json not found at ${t}`)}),r=dt(JSON.parse(n));if(!r.success)throw Error(`Invalid descriptor.json: ${r.error.message}`);return r.data}async validateEntrypoints(e,t){await Promise.all(Object.entries(t).map(async([t,n])=>{if(n!==void 0&&await Br(e,t,n)===void 0){let e=Vr(t,n);throw Error(`${t} entrypoint "${e}" has no resolvable candidate: neither src/${e}.ts nor dist/${e}.mjs exists within the extension root`)}}))}linkPathFor(e){let t=I.resolve(this.extensionsDir,...e.split(`/`)),n=I.relative(this.extensionsDir,t);if(n===``||n.startsWith(`..`)||I.isAbsolute(n))throw Error(`Invalid extension name: ${e}`);return t}};const Gr=`nodeLinker: node-modules`,Kr=/^[A-Za-z]:[\\/]/;let qr=null;function U(){return qr||(qr=Promise.all([import(`../lib-BmXBuE-w.mjs`).then(e=>t(e.t(),1)),import(`../lib-DF6sgNx_.mjs`).then(e=>t(e.t(),1)),import(`../lib-R-c_q77C.mjs`).then(e=>t(e.default,1))]).then(([e,t,n])=>({Configuration:e.Configuration,Project:e.Project,Cache:e.Cache,StreamReport:e.StreamReport,structUtils:e.structUtils,ppath:t.ppath,npath:t.npath,xfs:t.xfs,getPluginConfiguration:n.getPluginConfiguration})),qr)}var Jr=class{makaioHome;constructor(e){this.makaioHome=e}async initialize(){try{let{npath:e,ppath:t,xfs:n}=await U(),r=e.toPortablePath(this.makaioHome),i=t.join(r,`package.json`);if(await n.mkdirpPromise(r),await this.ensureYarnRc(r,n,t),await n.existsPromise(i))return;await n.writeJsonPromise(i,{name:`makaio-packages`,version:`1.0.0`,private:!0,description:`Makaio installed packages`,dependencies:{}}),console.info(`[YarnPackageManager] Created package.json at %s`,i)}catch(e){throw Error(`Failed to initialize package.json`,{cause:e})}}async ensureYarnRc(e,t,n){let r=n.join(e,`.yarnrc.yml`),i=await t.existsPromise(r)?await t.readFilePromise(r,`utf8`):``,a=$r(i);i!==a&&(await t.writeFilePromise(r,a),console.info(`[YarnPackageManager] Wrote .yarnrc.yml at %s`,r))}async loadYarnState(){let{Configuration:e,Project:t,Cache:n,npath:r,getPluginConfiguration:i}=await U(),a=r.toPortablePath(this.makaioHome),o=await e.find(a,i()),{project:s}=await t.find(o,a);return{configuration:o,project:s,cache:await n.find(o)}}async runProjectInstall(e,t,n){let{StreamReport:r}=await U();if((await r.start({configuration:e,stdout:process.stdout},async e=>{await t.install({cache:n,report:e})})).hasErrors())throw Error(`Yarn install failed with errors`)}async parsePackageDescriptor(e){let{structUtils:t}=await U(),n=t.parseDescriptor(e);return n.range===`unknown`?t.makeDescriptor(n,`latest`):n}async installPackage(e){try{let{structUtils:t}=await U(),{configuration:n,project:r,cache:i}=await this.loadYarnState(),a=await this.parsePackageDescriptor(e),o=t.stringifyIdent(a),s=r.topLevelWorkspace.manifest.dependencies.get(a.identHash);r.topLevelWorkspace.manifest.dependencies.set(a.identHash,a),await this.runProjectInstall(n,r,i);let c=r.storedResolutions.get(a.descriptorHash);if(!c)throw Error(`Package resolution not found after installation`);let l=r.storedPackages.get(c);if(!l)throw Error(`Package not found after installation`);let u=l.version??`unknown`;if(!(await this.readInstalledDescriptor(o)).hasDescriptor)throw s?r.topLevelWorkspace.manifest.dependencies.set(a.identHash,s):r.topLevelWorkspace.manifest.dependencies.delete(a.identHash),await this.runProjectInstall(n,r,i),Error(`Installed package ${o} does not contain a valid descriptor.json`);return console.info(`[YarnPackageManager] Installed %s@%s`,o,u),u}catch(t){throw Error(`Failed to install ${e}`,{cause:t})}}async uninstallPackage(e){try{let{structUtils:t}=await U(),{configuration:n,project:r,cache:i}=await this.loadYarnState(),a=t.parseIdent(e);if(!r.topLevelWorkspace.manifest.dependencies.delete(a.identHash))throw Error(`Package ${e} not found in dependencies`);await this.runProjectInstall(n,r,i),console.info(`[YarnPackageManager] Uninstalled %s`,e)}catch(t){throw Error(`Failed to uninstall ${e}`,{cause:t})}}async listPackages(){try{let{xfs:e,npath:t,ppath:n,structUtils:r}=await U(),i=t.toPortablePath(this.makaioHome),a=n.join(i,`package.json`);if(!await e.existsPromise(a))return[];let{project:o}=await this.loadYarnState(),s=[];for(let[,e]of o.topLevelWorkspace.manifest.dependencies){let t=r.stringifyIdent(e),n=o.storedResolutions.get(e.descriptorHash),i=(n?o.storedPackages.get(n):void 0)?.version??r.parseRange(e.range).selector,a=await this.readInstalledDescriptor(t);a.hasDescriptor&&s.push({name:t,version:i,hasDescriptor:!0,...a.serverImportPath!==void 0&&{serverImportPath:a.serverImportPath}})}return s}catch(e){throw Error(`Failed to list packages`,{cause:e})}}async ensureFrameworkDependency(e){let t=Zr(e);try{let{structUtils:e}=await U(),{configuration:n,project:r,cache:i}=await this.loadYarnState(),a=e.makeDescriptor(e.parseIdent(`@makaio/framework`),t);if(r.topLevelWorkspace.manifest.dependencies.get(a.identHash)?.range===t)return;r.topLevelWorkspace.manifest.dependencies.set(a.identHash,a),await this.runProjectInstall(n,r,i),console.info(`[YarnPackageManager] Ensured @makaio/framework@%s`,t)}catch(e){throw Error(`Failed to ensure @makaio/framework@${t}`,{cause:e})}}async getLatestVersion(e){return this.resolvePackageVersion(e)}async readInstalledDescriptor(e){let t=await this.readInstalledExtensionDescriptor(e);if(t===null)return{hasDescriptor:!1};let n=await this.resolveInstalledServerEntrypoint(e,t);return{hasDescriptor:!0,...n!==void 0&&{serverImportPath:n}}}async resolveInstalledServerEntrypoint(e,t){let n=t.entrypoints?.server;if(n!==void 0)return Br(I.join(this.makaioHome,`node_modules`,...e.split(`/`)),`server`,n)}async readInstalledExtensionDescriptor(e){let t=I.join(this.makaioHome,`node_modules`,...e.split(`/`),`descriptor.json`),n;try{let e=await F.readFile(t,`utf-8`);n=JSON.parse(e)}catch(e){if(e instanceof SyntaxError||ei(e))return null;throw e}let r=dt(n);return r.success?r.data:null}async listInstalledExtensionDescriptors(){let e=I.join(this.makaioHome,`package.json`),t;try{let n=await F.readFile(e,`utf-8`);t=JSON.parse(n)}catch(e){if(ei(e))return[];throw e}let n=Object.keys(t.dependencies??{});return(await Promise.all(n.map(async e=>{let t=await this.readInstalledExtensionDescriptor(e);return t===null?null:{npmName:e,version:await this.readInstalledPackageVersion(e),descriptor:t}}))).filter(e=>e!==null)}async readInstalledPackageVersion(e){let t=I.join(this.makaioHome,`node_modules`,...e.split(`/`),`package.json`);try{let e=await F.readFile(t,`utf-8`),n=JSON.parse(e);return typeof n.version==`string`?n.version:`unknown`}catch{return`unknown`}}async readManifestSnapshot(){let e=I.join(this.makaioHome,`package.json`),t=await F.readFile(e,`utf-8`);return JSON.parse(t)}async writeManifestAndReinstall(e){let t=I.join(this.makaioHome,`package.json`);await F.writeFile(t,`${JSON.stringify(e,null,2)}\n`,`utf-8`);let{configuration:n,project:r,cache:i}=await this.loadYarnState();await this.runProjectInstall(n,r,i)}async resolvePackageVersion(e){try{let{StreamReport:t}=await U(),{configuration:n,project:r}=await this.loadYarnState(),i=await this.parsePackageDescriptor(e),a=`unknown`;return await t.start({configuration:n,stdout:process.stdout},async e=>{let t=n.makeResolver(),o=await t.getCandidates(i,{},{project:r,resolver:t,report:e});if(o.length>0){let e=o[0];a=e.reference.match(/^npm:(.+)$/)?.[1]??e.reference}}),a}catch(t){throw Error(`Failed to resolve version for ${e}`,{cause:t})}}};function Yr(e,t){return!t||t===`latest`?e:`${e}@${t}`}function Xr(e){if(e.startsWith(`@`)){let t=e.indexOf(`/`);if(t===-1)return e;let n=e.indexOf(`@`,t+1);return n===-1?e:e.slice(0,n)}let t=e.indexOf(`@`);return t===-1?e:e.slice(0,t)}function Zr(e){return e.localPackagePath?`portal:${Qr(e.localPackagePath)}`:e.versionRange}function Qr(e){let t=(Kr.test(e)?e:I.resolve(e)).replace(/\\/g,`/`);return Kr.test(t)?`/${t}`:t}function $r(e){let t=e.split(/\r?\n/),n=!1,r=t.map(e=>/^\s*nodeLinker\s*:/.test(e)?(n=!0,Gr):e);if(!n){let t=e.trimEnd();return`${t}${t.length>0?`
1
+ import{i as e,o as t,t as n}from"../chunk-DTipWd-i.mjs";import{t as r}from"../semver-_h8-BJ8k.mjs";import{A as i,B as a,F as o,I as s,L as c,M as l,N as u,O as d,P as f,R as p,V as m,_ as h,a as g,c as _,d as v,h as y,i as b,j as x,k as S,m as C,n as w,o as T,r as E,s as D,t as ee,u as te,v as ne,z as re}from"../workflow-worker-CrnDwpkP.mjs";import{createNodeClientBinaryStrategyDependencies as ie}from"./client-binary-strategy-dependencies.mjs";import{RuntimeNamespace as ae,RuntimeSubjects as O}from"./bus/runtime/namespace.mjs";import{ExplicitDescriptorDiscovery as oe,FilesystemDescriptorDiscovery as se,MergedDescriptorDiscovery as k}from"./extension-discovery.mjs";import{MAKAIO_CONFIG_FILE_ENV as ce,MAKAIO_HOME_ENV as le,buildConfiguredRuntimeOptions as A,createMakaioConfigDiscovery as ue,defineMakaioConfig as de,loadMakaioConfig as fe,parseMakaioConfig as pe,resolveMakaioConfigPath as me,resolveMakaioHome as he,shouldIncludeExtension as ge}from"./makaio-config.mjs";import{n as _e}from"../extension-package-provenance-Dr7JXjLS.mjs";import{t as j}from"../descriptor-to-package-GVZk9ZGT.mjs";import{a as ve,c as M,i as ye,l as N,n as be,o as xe,r as Se,s as Ce,t as we}from"../load-extensions-s4YmICgn.mjs";import{a as Te,c as Ee,i as De,n as Oe,o as ke,r as Ae,s as je,t as Me}from"../bootstrap-start-client-rW55mDI-.mjs";import{captureWorkflowExecutionBusSecretCleanup as Ne}from"./workflow-execution-bus-access.mjs";import{a as Pe,c as Fe,i as Ie,n as Le,o as Re,r as ze,s as Be,t as Ve}from"../types-Bh2fQoxM.mjs";import{t as He}from"../code-execution-ByLSAlEg2.mjs";import{createRequire as Ue}from"node:module";import{z as P}from"zod";import{execFile as We}from"node:child_process";import{promisify as Ge}from"node:util";import{fileURLToPath as Ke,pathToFileURL as qe}from"node:url";import*as F from"node:fs/promises";import*as I from"node:path";import L from"node:path";import*as Je from"node:crypto";import{createHash as Ye}from"node:crypto";import*as R from"node:fs";import{existsSync as Xe,readFileSync as Ze,statSync as Qe}from"node:fs";import{isRecord as $e}from"@makaio/framework/utils";import{createBusNamespace as et}from"@makaio/framework/core";import{AIModelSchema as tt,BUILT_IN_THIN_WORKFLOW_PROVIDER_ID as nt,ConfigSchema as rt,ConfigSubjects as it,CredentialSubjects as at,FrameworkContractNamespaces as ot,FrameworkStorageNamespaces as st,SubjectTelemetrySubjects as ct,isDetachedDescriptor as lt,registerWorkerProvider as ut,safeParseExtensionDescriptor as dt,unregisterWorkerProvider as ft,versionSatisfies as pt}from"@makaio/framework/contracts";import{ChannelClosedError as mt,MakaioBus as ht,openChannel as gt,projectSubjectTelemetryFacts as _t}from"@makaio/framework/bus";import{DispatchingAuth as vt,E2EAuth as yt,HmacAuth as bt,WebSocketClientTransport as xt}from"@makaio/framework/node/transports";import{BootNamespace as St,ExtensionCoordinator as Ct,ExtensionNamespace as wt,KernelNamespace as Tt,createShutdownSequence as Et}from"@makaio/framework/kernel";import{BaseService as Dt}from"@makaio/framework/service-base";import{uniqueIndex as Ot}from"drizzle-orm/sqlite-core";import{uniqueIndex as kt}from"drizzle-orm/pg-core";import{STORAGE_ENGINE_URL_HINTS as At,defineDialectSchema as jt,defineDualTable as Mt,findStorageEngine as Nt,getDatabaseDialect as Pt,getRawSqlExecutor as Ft,getStorageEngine as It,registerDrizzleHandlers as Lt,registerStorageEngine as Rt,resolveSchema as zt,resolveStorageEngine as Bt,resolveStorageEngineForUrl as Vt}from"@makaio/framework/storage/drizzle";import{and as Ht,eq as z,sql as B}from"drizzle-orm";import{parseStoredCredentialRef as Ut}from"@makaio/framework/contracts/config";import*as Wt from"node:os";import{ProviderStorageSubjects as Gt}from"@makaio/framework/services/settings/storage";import{FrameworkServicesCoreNamespaces as Kt,createArtifactKindContributionProcessor as qt,createArtifactLifecycleHookContributionProcessor as Jt,createFacetNamespaceContributionProcessor as Yt,createModelRegistryPackage as Xt,createReactionContributionProcessor as Zt,createToolContributionProcessor as Qt,createTransitionContributionProcessor as $t,createWorkflowBlockContributionProcessor as en}from"@makaio/framework/services";import{CachedRegistryFetcher as tn,FallbackRegistryFetcher as nn,ModelRegistrySchema as rn,ProviderModelOverrideSchema as an,mergeModelMetadata as on}from"@makaio/framework/services/model-registry";import{createClientsCorePackage as sn}from"@makaio/framework/clients";import{createDatabaseClient as cn}from"@makaio/framework/storage/drizzle/client";import{AdapterRuntimeSnapshotError as ln,resolveAdapterRuntimeSnapshot as un,resolveBoundProviderAuth as dn,resolveConnectorCredentials as fn,resolveCredentialRef as pn}from"@makaio/framework/adapters/config";import{DefinitionSubjects as mn}from"@makaio/framework/services/definition";import{ProviderRuntimeSubjects as hn}from"@makaio/framework/services/provider-runtime";import{SettingsSubjects as gn}from"@makaio/framework/services/settings/namespace";import{AdapterSubsystemToken as _n,FileAdapterConfigRepository as vn,orderAfterAdapterSubsystem as yn}from"@makaio/framework/adapter-subsystem";import{loadOrCreateMachineIdentity as bn,loadOrCreateMachineIdentity as xn,machineKeysExist as Sn,validateMachineKeys as Cn}from"@makaio/framework/node/machine-identity";import{resolveWorkspaceRoot as wn}from"@makaio/framework/utils/workspace-root";import{Hono as Tn}from"hono";import{CliNamespace as En}from"@makaio/framework/kernel/cli";import{startBusServer as Dn}from"@makaio/framework/node/bus-server";import{WebSocketServer as On}from"ws";import{ConfigProvider as kn}from"@makaio/framework/providers";import{KernelSubjects as V}from"@makaio/framework/kernel/namespace";import{createAutomationTriggerContributionProcessor as An,selectAutomationCronSchedulerPackage as jn}from"@makaio/framework/services/automation-trigger";import{createArtifactViewBuilderContributionProcessor as Mn,createSurfaceBindingContributionProcessor as Nn}from"@makaio/framework/services/materialization";import{createLogImportContributionProcessor as Pn,logImportRegistryPackage as Fn}from"@makaio/framework/services/log-import";import{WorkflowEngineToken as In,createWorkflowEnginePackage as Ln}from"@makaio/framework/workflow-engine/package";import{PreferenceValueSchema as Rn,PreferencesSubjects as zn}from"@makaio/framework/services/preferences";import{parseWorkspaceGlobs as Bn}from"@makaio/framework/utils/workspace-packages";import{serveStatic as Vn}from"@hono/node-server/serve-static";var Hn=class extends Error{constructor(){super(`Live model discovery requires an adapter/provider protocol declaration.`),this.name=`ProviderModelFetchProtocolError`}};function Un(e){let t=e.providerProtocol;if(t===void 0)throw new Hn;return e.snapshot.context.endpointOverrides?.[t]??e.snapshot.definition.endpoints?.[t]}function Wn(e){let t,n=!1;for(let r=e.length-1;r>=0;--r){let i=e[r];try{i()}catch(e){n||=(t=e,!0)}}if(e.length=0,n)throw t}function Gn(e,t){try{return t()}catch(t){try{Wn(e)}catch{}throw t}}function Kn(e,t){for(let n of e){let e=n.providers.find(e=>e.definition.id===t);if(e)return e}}function qn(e){let{$schema:t,...n}=e;return n}function Jn(e){let t=e.definition,n=Date.now();return{id:t.id,packageName:e.providerPackageName,name:t.name,description:t.description,endpoints:t.endpoints,defaultModel:t.defaultModel,fastModel:t.fastModel,availableModels:t.availableModels??[],defaultModelFilterMode:`show-all`,authMethods:t.authMethods,capabilities:t.capabilities,enabled:!0,createdAt:n,updatedAt:n}}function Yn(e,t,n,r){let i=[];return Gn(i,()=>(i.push(e.on(gn.adapter.getConfigSchema,({payload:e,setResult:n})=>{let r=t().find(t=>t.name===e.adapterName);if(!r?.adapterConfigSchema){n({hasSchema:!1,schema:null});return}n({hasSchema:!0,schema:P.toJSONSchema(r.adapterConfigSchema)})})),i.push(e.on(mn.getConfigSchema,({payload:e,setResult:n})=>{let r=Kn(t(),e.definitionId)?.configSchema;if(r){n({hasSchema:!0,schema:P.toJSONSchema(r)});return}n({hasSchema:!1,schema:null})})),r&&i.push(e.on(gn.extension.getConfigSchema,({payload:e,setResult:t})=>{let n=r(e.extensionName);if(!n?.configSchema){t({hasSchema:!1,schema:null,uiConfig:null});return}t({hasSchema:!0,schema:qn(P.toJSONSchema(n.configSchema)),uiConfig:n.uiConfig??null})})),i.push(e.on(Gt.get,({payload:e,setResult:n})=>{for(let r of t()){let t=r.providers.find(t=>t.definition.id===e.id);if(t){n({provider:Jn(t)});return}}n({provider:null})},{priority:-1})),i.push(e.on(Gt.list,({setResult:e})=>{let n=[],r=new Set;for(let e of t())for(let t of e.providers)r.has(t.definition.id)||(r.add(t.definition.id),n.push(Jn(t)));e({providers:n})},{priority:-1})),i.push(e.on(hn.listModelFetchAdapters,async({payload:r,setResult:i})=>{let a=[];for(let i of t()){let t=i.options.adapterId,o=t?n().get(t):void 0;if(!(!o||!(`fetchModels`in o)||typeof o.fetchModels!=`function`))try{await un(e,{adapterName:i.name,providerConfigId:r.providerConfigId}),a.push(i.name)}catch(e){if(!(e instanceof ln))throw e}}a.sort((e,t)=>e.localeCompare(t)),i({adapterNames:a})})),i.push(e.on(hn.fetchModels,async({payload:r,setResult:i})=>{let a=t().find(e=>e.name===r.adapterName);if(!a)throw Error(`Adapter '${r.adapterName}' is not loaded for live model discovery`);let o=await un(e,{adapterName:a.name,providerConfigId:r.providerConfigId}),s=a.options.adapterId,c=s?n().get(s):void 0;if(!s||!c)throw Error(`Adapter instance for '${a.name}' not initialized`);if(!(`fetchModels`in c)||typeof c.fetchModels!=`function`)throw Error(`Adapter '${a.name}' does not support model fetching`);let l=Un(o),u=await dn(o.boundProviderAuth,t=>fn(e,t));i({models:await c.fetchModels(l,u)})})),()=>{Wn(i)}))}function Xn(e=`sqlite`){let{migrations:t}=It(e);return t.resolveSourceChainDir?.()??L.resolve(import.meta.dirname,`..`,t.chainDirName)}var Zn=class extends Error{expectedDialect;journalDialect;constructor(e,t,n,r){super(`Migration journal at ${r} declares dialect '${n??`unknown`}', but the target database speaks '${e}'. Point the runner at a migrations directory generated for '${e}' (journal dialect '${t}').`),this.name=`MigrationDialectMismatchError`,this.expectedDialect=e,this.journalDialect=n}};function Qn(e={}){let t=typeof e==`string`?void 0:e.expectedDialect,n=typeof e==`string`?e:e.migrationsDir??Xn(t),r=L.join(n,`meta`,`_journal.json`);if(!Xe(r))throw Error(`Cannot find migrations journal at ${r}`);let i=JSON.parse(Ze(r,`utf-8`));if(t!==void 0){let e=It(t).migrations.journalDialect;if(i.dialect!==e)throw new Zn(t,e,i.dialect,r)}return i.entries.map(e=>{let t=Ze(L.join(n,`${e.tag}.sql`),`utf-8`);return{tag:e.tag,sql:t.split(`--> statement-breakpoint`),folderMillis:e.when,hash:Ye(`sha256`).update(t).digest(`hex`),bps:e.breakpoints}})}function $n(e){return e.replace(/--.*$/gm,``).trim()}async function er(e,t){try{await e.run(B.raw(`ROLLBACK`))}catch(e){console.error(`[storage-migrations] Failed to roll back migration transaction`,{...t,rollbackError:e})}}async function tr(e){let{migrations:t}=e.engine;if(await e.session.run(B.raw(t.beginTransactionStatement)),t.acquireTransactionLock)try{await t.acquireTransactionLock(e.session,e.tableName)}catch(t){throw await er(e.session,{migrationsTable:e.tableName}),t}}async function nr(e){let t=e.engine.migrations.acquireTransactionLock!==void 0;t&&await tr(e);try{await e.session.run(B.raw(e.engine.migrations.buildLedgerDdl(e.tableName)));let n=await e.session.all(B`SELECT hash FROM ${e.tableId}`);return t&&await e.session.run(B.raw(`COMMIT`)),new Set(n.map(e=>e.hash))}catch(n){throw t&&await er(e.session,{migrationsTable:e.tableName}),n}}async function rr(e,t){try{await e.session.run(B`INSERT INTO ${e.tableId} ("hash", "created_at") VALUES (${t.hash}, ${t.folderMillis})`),await e.session.run(B.raw(`COMMIT`))}catch(e){throw console.error(`[storage-migrations] Failed to finalize migration`,{hash:t.hash,folderMillis:t.folderMillis,error:e}),e}}async function ir(e,t){return e.engine.migrations.acquireTransactionLock===void 0||(await e.session.all(B`SELECT hash FROM ${e.tableId} WHERE hash = ${t.hash}`)).length===0?!1:(console.warn(`[storage-migrations] Migration already recorded by a concurrent runner, skipping`,{hash:t.hash,folderMillis:t.folderMillis}),await e.session.run(B.raw(`COMMIT`)),!0)}async function ar(e,t){await e.session.run(B.raw(`ROLLBACK`)),await tr(e),!await ir(e,t)&&await rr(e,t)}async function or(e,t){await tr(e);try{if(await ir(e,t))return;for(let[n,r]of t.sql.entries())if($n(r))try{await e.session.run(B.raw(r))}catch(i){if(n===0&&/^\s*CREATE\s/i.test(r)&&e.engine.errors.isDuplicateObjectError(i)){if(t.sql.length>1)throw Error(`Cannot adopt multi-statement migration '${t.tag}' because its first schema object already exists. Reset the database or provide an incremental migration.`,{cause:i});console.warn(`[storage-migrations] Schema object already exists, adopting into ledger`,{hash:t.hash,folderMillis:t.folderMillis,statementIndex:n}),await ar(e,t);return}throw console.error(`[storage-migrations] Failed to apply migration statement`,{hash:t.hash,folderMillis:t.folderMillis,statementIndex:n,statement:r,error:i}),i}await rr(e,t)}catch(n){throw await er(e.session,{hash:t.hash,folderMillis:t.folderMillis}),n}}async function sr(e,t,n){let r=e.engine.migrations.constraintSuspension;if(!r?.isRequestedBy(t.sql)){await n();return}await e.session.run(B.raw(r.suspendStatement));try{await n()}finally{await e.session.run(B.raw(r.restoreStatement))}}async function cr(e,t,n){let r=Ft(e),i=It(r.dialect),a=n??i.migrations.defaultLedgerTable;await r.withSession(async e=>{let n={session:e,engine:i,tableName:a,tableId:B.identifier(a)},r=await nr(n);for(let e of t)r.has(e.hash)||(await sr(n,e,()=>or(n,e)),r.add(e.hash))})}async function lr(e,t={}){await cr(e,Qn({migrationsDir:t.migrationsDir,expectedDialect:Pt(e)})),await Bt(e).fts.provisionSearchIndex(e)}var ur=class{configPath;constructor(e){this.configPath=I.join(e,`config.json`)}async getConfig(){try{let e=await F.readFile(this.configPath,`utf-8`);return rt.parse(JSON.parse(e))}catch(e){if(e.code===`ENOENT`)return rt.parse({});if(e instanceof SyntaxError||e instanceof Error&&e.name===`ZodError`)return console.warn(`[FileConfigStorage] Failed to parse config, falling back to defaults:`,e),rt.parse({});throw e}}async saveConfig(e){let t=I.dirname(this.configPath);await F.mkdir(t,{recursive:!0}),await F.writeFile(this.configPath,JSON.stringify(e,null,2),{encoding:`utf-8`,mode:384}),await F.chmod(this.configPath,384)}};function dr(e){try{let t=wn(e);return[I.resolve(t,`framework/static/model-registry.yaml`),I.resolve(t,`static/model-registry.yaml`)].find(e=>{try{return Qe(e).isFile()}catch{return!1}})}catch{return}}async function fr(e,t){await new Promise((n,r)=>{if(e.address()){n();return}let i=e=>{if(o(),e.code===`EADDRINUSE`){r(Error(`Port ${t} is already in use`));return}r(e)},a=()=>{o(),n()},o=()=>{e.off(`error`,i),e.off(`listening`,a)};e.once(`error`,i),e.once(`listening`,a)}),e.on(`error`,e=>{console.error(`[HttpServer] Post-bind error:`,e)})}function pr(e){let t=e.address();if(typeof t==`object`&&t&&`port`in t)return t.port;throw Error(`HTTP server is not bound to a TCP address`)}function mr(e,t){let n=e,r=!1;return{fetch:(e,i,a)=>{if(!r)return new Response(`Makaio runtime is booting`,{status:503,headers:{"Retry-After":`1`}});let{pathname:o}=new URL(e.url);return t?.health&&e.method===`GET`&&o===`/health`?Response.json(t.health()):e.method===`GET`&&o===`/bus`?new Response(`WebSocket endpoint`,{status:426,headers:{Upgrade:`websocket`}}):n.fetch(e,i,a)},markReady(){r=!0},replaceApp(e){n=e}}}const hr=[`extension`,`static-fallback`];function gr(e){let t=[];function n(e){let t=new Tn,n=[...e].sort((e,t)=>hr.indexOf(e.phase)-hr.indexOf(t.phase));for(let e of n)e.mount(t);return t}function r(){return n(t)}function i(r){e&&e.replaceApp(n(r)),t=r}return{add(e){i([...t,e])},remove(e){let n=t.filter(t=>t.owner!==e);n.length!==t.length&&i(n)},build:r,get contributions(){return[...t]}}}function _r(e){let t=e.url?.split(`?`)[0]??``;return t===`/bus`?!0:(t===`/`||t===``)&&e.headers.origin===void 0}function vr(e,t){return(n,r,i)=>{if(!_r(n))return;let a=e();if(!a||!t()){r.destroy();return}a.handleUpgrade(n,r,i,e=>{a.emit(`connection`,e,n)})}}var yr=class{options;busServer=null;websocketServer=null;upgradeHandlerServer=null;upgradeHandler=null;busReady=!1;connecting=!1;constructor(e){this.options=e}get dispatchingAuth(){return this.options.auth instanceof vt?this.options.auth:void 0}async connect(e,t){if(this.connecting||this.busServer||this.websocketServer)throw Error(`[BusServerTransport] connect() called while transport is already connected or connecting`);if(this.options.httpServer.address()===null)throw Error(`[BusServerTransport] httpServer must already be listening before connect() is called`);this.connecting=!0;try{let t=new On({noServer:!0});this.websocketServer=t;let n=vr(()=>this.websocketServer,()=>this.busReady);this.options.httpServer.on(`upgrade`,n),this.upgradeHandlerServer=this.options.httpServer,this.upgradeHandler=n,this.busServer=await Dn({websocket:t,bus:e,auth:this.options.auth,loopbackName:this.options.loopbackName??`node`}),this.busReady=!0}catch(e){throw await this.stopBusServer(`startup error`),this.detachUpgradeHandler(),await this.stopWebSocketServer(`startup error`),e}finally{this.connecting=!1}}async disconnect(){await this.stopBusServer(`shutdown`),this.detachUpgradeHandler(),await this.stopWebSocketServer(`shutdown`)}async stopBusServer(e){this.busReady=!1,this.busServer&&=(await this.busServer.stop().catch(t=>{console.error(`[BusServerTransport] Failed to stop bus server during ${e}:`,t)}),null)}detachUpgradeHandler(){this.upgradeHandlerServer&&this.upgradeHandler&&this.upgradeHandlerServer.off(`upgrade`,this.upgradeHandler),this.upgradeHandlerServer=null,this.upgradeHandler=null}async stopWebSocketServer(e){this.websocketServer&&=(await new Promise((e,t)=>{this.websocketServer.close(n=>n?t(n):e())}).catch(t=>{t instanceof Error&&t.message===`The server is not running`||console.error(`[BusServerTransport] Failed to close WebSocket server during ${e}:`,t)}),null)}},br=class extends kn{keysDir;constructor(e,t){super(e),this.keysDir=I.join(t,`keys`)}async getConfig(e){let t=await super.getConfig(e);return t.bus?.remote&&!t.bus.remote.secret&&(t.bus.remote.secret=this.generateSecret(),(await this.getStoredConfig()).bus?.remote?.url===t.bus.remote.url&&await this.saveConfig(await this.prepareConfigForPersistence(t))),t}generateSecret(){return Je.randomBytes(32).toString(`base64`)}async getMachineId(){return(await xn(this.keysDir)).machineId}getEnv(e){return process.env[e]}};function xr(e,t){return{extensions:e.discovery??new se(void 0,{extensionsDir:L.join(t,`extensions`),nodeModulesDir:L.join(t,`node_modules`)})}}function Sr(e){return Xe(L.join(e,`meta`,`_journal.json`))}function Cr(e,t={}){let{moduleDir:n=import.meta.dirname,getMigrationsFolder:r=Xn}=t,i=It(e).migrations.chainDirName,a=[],o=L.resolve(n,`..`,i);if(Sr(o))return o;a.push(o);try{let t=r(e);if(Sr(t))return t;a.push(t)}catch(t){a.push(`getMigrationsFolder('${e}') unavailable: ${t instanceof Error?t.message:String(t)}`)}throw Error(`resolveBundledMigrationsDir: no '${e}' migrations directory with meta/_journal.json found. Probed: ${a.join(`; `)}. Pass an explicit migrations directory (boot option 'centralMigrationsDir' or InitializeNodeDatabaseOptions.migrationsDir) when migrations are staged elsewhere.`)}function wr(e){if(process.platform===`win32`)return!0;let t=e?.code;return t===`ENOSYS`||t===`EINVAL`}function Tr(e){return e===void 0||e.trim()===``?void 0:e}function Er(e){try{let t=new URL(e);if(t.host!==``)return`${t.protocol}//${t.host}${t.pathname}`}catch{}let t=e.indexOf(`:`);return t===-1?`<unparseable database URL>`:`${e.slice(0,t+1)}…`}async function Dr(e,t,n){let r;try{r=await import(qe(Ue(I.resolve(t,`package.json`)).resolve(e.packageName)).href)}catch(t){throw Error(`initializeNodeDatabase: the database URL from ${n} targets the '${e.dialect}' storage engine, but '${e.packageName}' could not be loaded. Install ${e.packageName} in the host application, or pass its already-loaded storageEngine via the 'database.engines' boot option.`,{cause:t})}let i=r.storageEngine;if(i===void 0||i.dialect!==e.dialect)throw Error(`initializeNodeDatabase: '${e.packageName}' does not provide a storage engine for dialect '${e.dialect}'. Auto-resolved engine packages must export 'storageEngine: StorageEngine' with a matching dialect.`);Nt(e.dialect)===void 0&&Rt(i)}async function Or(e){let t=Tr(e.database?.url),n=t??Tr(process.env.MAKAIO_DATABASE_URL);if(n!==void 0){let r=t===void 0?`the MAKAIO_DATABASE_URL environment variable`:`the 'database.url' boot option`,i=Vt(n);if(i.kind===`missing-engine`&&(await Dr(i,e.database?.enginePackageImportBasePath??process.cwd(),r),i=Vt(n)),i.kind!==`engine`){let e=At.map(e=>e.packageName).join(`, `);throw Error(`initializeNodeDatabase: unsupported database URL '${Er(n)}' from ${r}. URL targets require a storage engine that claims the URL (e.g. postgres:// / postgresql:// via ${e}); SQLite targets are configured via the dbPath option or MAKAIO_DATABASE_PATH.`)}return{kind:`url`,url:n,dialect:i.engine.dialect}}let r=I.resolve(Tr(e.dbPath)??Tr(process.env.MAKAIO_DATABASE_PATH)??I.join(e.makaioHome,`makaio.db`));return{kind:`file`,dbPath:r,url:qe(r).href}}async function kr(e){for(let t of e.database?.engines??[])Rt(t);let t=await Or(e);if(t.kind===`url`){let n=await cn({url:t.url,postgres:{poolMax:e.database?.poolMax}});try{let r=e.migrationsDir??Cr(t.dialect);return await lr(n.db,{migrationsDir:r}),{databaseClient:n}}catch(e){throw await n.close(),e}}let{dbPath:n}=t,r=I.dirname(n);await R.promises.mkdir(r,{recursive:!0});let i=await cn({url:t.url});try{await lr(i.db,{migrationsDir:e.migrationsDir});try{await R.promises.chmod(n,384)}catch(e){if(!wr(e))throw e;console.warn(`[initializeNodeDatabase] Failed to set SQLite file permissions (continuing; this may be unsupported on Windows):`,e)}return{databaseClient:i,dbPath:n}}catch(e){throw await i.close(),e}}const Ar=P.object({npmName:P.string(),version:P.string(),source:P.enum([`new`,`upgraded`,`already-present`])}),jr=P.object({npmName:P.string(),reason:P.string()}),Mr=P.object({success:P.boolean(),packageName:P.string(),version:P.string().optional(),restartRequired:P.boolean(),error:P.string().optional(),installed:P.array(Ar).optional(),skipped:P.array(jr).optional(),warnings:P.array(P.string()).optional()}),Nr=P.object({success:P.boolean(),packageName:P.string(),error:P.string().optional(),restartRequired:P.boolean()}),Pr=P.object({name:P.string(),version:P.string(),description:P.string().optional(),hasDescriptor:P.boolean().default(!1),serverImportPath:P.string().min(1).optional()}),Fr=P.object({packageName:P.string(),latestVersion:P.string(),success:P.boolean(),error:P.string().optional()}),Ir=P.object({name:P.string(),displayName:P.string(),description:P.string(),icon:P.string().optional(),tags:P.array(P.string()).optional(),descriptorName:P.string().min(1).optional()}),Lr=P.object({$schema:P.string(),updatedAt:P.string(),adapters:P.array(Ir),extensions:P.array(Ir)}),Rr=P.object({name:P.string(),currentVersion:P.string(),latestVersion:P.string(),description:P.string().optional()}),zr=et(`packages`,{list:{request:P.object({}),response:P.object({packages:P.array(Pr)})},install:{request:P.object({packageName:P.string().optional(),packageNames:P.array(P.string()).min(1).optional(),source:P.enum([`npm`,`local`]).optional(),force:P.boolean().optional()}).refine(e=>e.packageName!==void 0||e.packageNames!==void 0,{message:`Expected packageName or packageNames`}),response:Mr},uninstall:{request:P.object({packageName:P.string()}),response:Nr},getLatestVersion:{request:P.object({packageName:P.string()}),response:Fr},getRegistry:{request:P.object({}),response:Lr},checkUpdates:{request:P.object({}),response:P.object({updates:P.array(Rr)})},installed:P.object({packageName:P.string(),version:P.string()}),uninstalled:P.object({packageName:P.string()})}),H=zr.subjects;async function Br(e,t,n){if(!I.isAbsolute(e))return;let r;try{r=await F.realpath(e)}catch{return}let i=Vr(t,n),a=[I.resolve(r,`src`,`${i}.ts`),I.resolve(r,`dist`,`${i}.mjs`)];for(let e of a){let t=await Hr(e);if(t!==void 0&&Ur(t,r))return t}}function Vr(e,t){return t===!0?e:t}async function Hr(e){try{return await F.realpath(e)}catch{return}}function Ur(e,t){let n=I.relative(t,e);return n.length>0&&!n.startsWith(`..`)&&!I.isAbsolute(n)}var Wr=class{extensionsDir;constructor(e){this.extensionsDir=I.resolve(e)}async install(e){try{let t=I.resolve(e.endsWith(`descriptor.json`)?I.dirname(e):e),n=await F.realpath(t),r=await this.readDescriptor(n);lt(r)||await this.validateEntrypoints(n,r.entrypoints);let i=this.linkPathFor(r.name);await F.mkdir(I.dirname(i),{recursive:!0});try{if((await F.lstat(i)).isSymbolicLink())await F.unlink(i);else throw Error(`${i} already exists and is not a symlink`)}catch(e){if(e.code!==`ENOENT`)throw e}let a=process.platform===`win32`?`junction`:`dir`;return await F.symlink(n,i,a),{success:!0,packageName:r.name,version:r.version,restartRequired:!0}}catch(e){return{success:!1,packageName:``,error:e instanceof Error?e.message:String(e),restartRequired:!1}}}async uninstall(e){try{let t=this.linkPathFor(e);if(await F.unlink(t),e.startsWith(`@`)){let e=I.dirname(t);(await F.readdir(e).catch(()=>null))?.length===0&&await F.rmdir(e).catch(()=>{})}return{success:!0,packageName:e,restartRequired:!0}}catch(t){return{success:!1,packageName:e,error:t instanceof Error?t.message:String(t),restartRequired:!1}}}async list(){try{await F.access(this.extensionsDir)}catch{return[]}let e=await F.readdir(this.extensionsDir),t=[];for(let n of e){let e=I.join(this.extensionsDir,n);if(n.startsWith(`@`)){let n=await F.readdir(e).catch(()=>[]);for(let r of n){let n=I.join(e,r),i=await this.readLocalEntry(n);i!==null&&t.push(i)}}else{let n=await this.readLocalEntry(e);n!==null&&t.push(n)}}return t}async readLocalEntry(e){try{if(!(await F.lstat(e)).isSymbolicLink())return null;let t=await F.readlink(e),n=await F.realpath(I.resolve(I.dirname(e),t)),r=I.join(n,`descriptor.json`),i=await F.readFile(r,`utf-8`),a=dt(JSON.parse(i));if(!a.success)return null;let o=a.data.entrypoints?.server,s=o===void 0?void 0:await Br(n,`server`,o);return{name:a.data.name,version:a.data.version,sourcePath:n,source:`local`,...s!==void 0&&{serverImportPath:s}}}catch{return null}}async readDescriptor(e){let t=I.join(e,`descriptor.json`),n=await F.readFile(t,`utf-8`).catch(()=>{throw Error(`descriptor.json not found at ${t}`)}),r=dt(JSON.parse(n));if(!r.success)throw Error(`Invalid descriptor.json: ${r.error.message}`);return r.data}async validateEntrypoints(e,t){await Promise.all(Object.entries(t).map(async([t,n])=>{if(n!==void 0&&await Br(e,t,n)===void 0){let e=Vr(t,n);throw Error(`${t} entrypoint "${e}" has no resolvable candidate: neither src/${e}.ts nor dist/${e}.mjs exists within the extension root`)}}))}linkPathFor(e){let t=I.resolve(this.extensionsDir,...e.split(`/`)),n=I.relative(this.extensionsDir,t);if(n===``||n.startsWith(`..`)||I.isAbsolute(n))throw Error(`Invalid extension name: ${e}`);return t}};const Gr=`nodeLinker: node-modules`,Kr=/^[A-Za-z]:[\\/]/;let qr=null;function U(){return qr||(qr=Promise.all([import(`../lib-BmXBuE-w.mjs`).then(e=>t(e.t(),1)),import(`../lib-DF6sgNx_.mjs`).then(e=>t(e.t(),1)),import(`../lib-R-c_q77C.mjs`).then(e=>t(e.default,1))]).then(([e,t,n])=>({Configuration:e.Configuration,Project:e.Project,Cache:e.Cache,StreamReport:e.StreamReport,structUtils:e.structUtils,ppath:t.ppath,npath:t.npath,xfs:t.xfs,getPluginConfiguration:n.getPluginConfiguration})),qr)}var Jr=class{makaioHome;constructor(e){this.makaioHome=e}async initialize(){try{let{npath:e,ppath:t,xfs:n}=await U(),r=e.toPortablePath(this.makaioHome),i=t.join(r,`package.json`);if(await n.mkdirpPromise(r),await this.ensureYarnRc(r,n,t),await n.existsPromise(i))return;await n.writeJsonPromise(i,{name:`makaio-packages`,version:`1.0.0`,private:!0,description:`Makaio installed packages`,dependencies:{}}),console.info(`[YarnPackageManager] Created package.json at %s`,i)}catch(e){throw Error(`Failed to initialize package.json`,{cause:e})}}async ensureYarnRc(e,t,n){let r=n.join(e,`.yarnrc.yml`),i=await t.existsPromise(r)?await t.readFilePromise(r,`utf8`):``,a=$r(i);i!==a&&(await t.writeFilePromise(r,a),console.info(`[YarnPackageManager] Wrote .yarnrc.yml at %s`,r))}async loadYarnState(){let{Configuration:e,Project:t,Cache:n,npath:r,getPluginConfiguration:i}=await U(),a=r.toPortablePath(this.makaioHome),o=await e.find(a,i()),{project:s}=await t.find(o,a);return{configuration:o,project:s,cache:await n.find(o)}}async runProjectInstall(e,t,n){let{StreamReport:r}=await U();if((await r.start({configuration:e,stdout:process.stdout},async e=>{await t.install({cache:n,report:e})})).hasErrors())throw Error(`Yarn install failed with errors`)}async parsePackageDescriptor(e){let{structUtils:t}=await U(),n=t.parseDescriptor(e);return n.range===`unknown`?t.makeDescriptor(n,`latest`):n}async installPackage(e){try{let{structUtils:t}=await U(),{configuration:n,project:r,cache:i}=await this.loadYarnState(),a=await this.parsePackageDescriptor(e),o=t.stringifyIdent(a),s=r.topLevelWorkspace.manifest.dependencies.get(a.identHash);r.topLevelWorkspace.manifest.dependencies.set(a.identHash,a),await this.runProjectInstall(n,r,i);let c=r.storedResolutions.get(a.descriptorHash);if(!c)throw Error(`Package resolution not found after installation`);let l=r.storedPackages.get(c);if(!l)throw Error(`Package not found after installation`);let u=l.version??`unknown`;if(!(await this.readInstalledDescriptor(o)).hasDescriptor)throw s?r.topLevelWorkspace.manifest.dependencies.set(a.identHash,s):r.topLevelWorkspace.manifest.dependencies.delete(a.identHash),await this.runProjectInstall(n,r,i),Error(`Installed package ${o} does not contain a valid descriptor.json`);return console.info(`[YarnPackageManager] Installed %s@%s`,o,u),u}catch(t){throw Error(`Failed to install ${e}`,{cause:t})}}async uninstallPackage(e){try{let{structUtils:t}=await U(),{configuration:n,project:r,cache:i}=await this.loadYarnState(),a=t.parseIdent(e);if(!r.topLevelWorkspace.manifest.dependencies.delete(a.identHash))throw Error(`Package ${e} not found in dependencies`);await this.runProjectInstall(n,r,i),console.info(`[YarnPackageManager] Uninstalled %s`,e)}catch(t){throw Error(`Failed to uninstall ${e}`,{cause:t})}}async listPackages(){try{let{xfs:e,npath:t,ppath:n,structUtils:r}=await U(),i=t.toPortablePath(this.makaioHome),a=n.join(i,`package.json`);if(!await e.existsPromise(a))return[];let{project:o}=await this.loadYarnState(),s=[];for(let[,e]of o.topLevelWorkspace.manifest.dependencies){let t=r.stringifyIdent(e),n=o.storedResolutions.get(e.descriptorHash),i=(n?o.storedPackages.get(n):void 0)?.version??r.parseRange(e.range).selector,a=await this.readInstalledDescriptor(t);a.hasDescriptor&&s.push({name:t,version:i,hasDescriptor:!0,...a.serverImportPath!==void 0&&{serverImportPath:a.serverImportPath}})}return s}catch(e){throw Error(`Failed to list packages`,{cause:e})}}async ensureFrameworkDependency(e){let t=Zr(e);try{let{structUtils:e}=await U(),{configuration:n,project:r,cache:i}=await this.loadYarnState(),a=e.makeDescriptor(e.parseIdent(`@makaio/framework`),t);if(r.topLevelWorkspace.manifest.dependencies.get(a.identHash)?.range===t)return;r.topLevelWorkspace.manifest.dependencies.set(a.identHash,a),await this.runProjectInstall(n,r,i),console.info(`[YarnPackageManager] Ensured @makaio/framework@%s`,t)}catch(e){throw Error(`Failed to ensure @makaio/framework@${t}`,{cause:e})}}async getLatestVersion(e){return this.resolvePackageVersion(e)}async readInstalledDescriptor(e){let t=await this.readInstalledExtensionDescriptor(e);if(t===null)return{hasDescriptor:!1};let n=await this.resolveInstalledServerEntrypoint(e,t);return{hasDescriptor:!0,...n!==void 0&&{serverImportPath:n}}}async resolveInstalledServerEntrypoint(e,t){let n=t.entrypoints?.server;if(n!==void 0)return Br(I.join(this.makaioHome,`node_modules`,...e.split(`/`)),`server`,n)}async readInstalledExtensionDescriptor(e){let t=I.join(this.makaioHome,`node_modules`,...e.split(`/`),`descriptor.json`),n;try{let e=await F.readFile(t,`utf-8`);n=JSON.parse(e)}catch(e){if(e instanceof SyntaxError||ei(e))return null;throw e}let r=dt(n);return r.success?r.data:null}async listInstalledExtensionDescriptors(){let e=I.join(this.makaioHome,`package.json`),t;try{let n=await F.readFile(e,`utf-8`);t=JSON.parse(n)}catch(e){if(ei(e))return[];throw e}let n=Object.keys(t.dependencies??{});return(await Promise.all(n.map(async e=>{let t=await this.readInstalledExtensionDescriptor(e);return t===null?null:{npmName:e,version:await this.readInstalledPackageVersion(e),descriptor:t}}))).filter(e=>e!==null)}async readInstalledPackageVersion(e){let t=I.join(this.makaioHome,`node_modules`,...e.split(`/`),`package.json`);try{let e=await F.readFile(t,`utf-8`),n=JSON.parse(e);return typeof n.version==`string`?n.version:`unknown`}catch{return`unknown`}}async readManifestSnapshot(){let e=I.join(this.makaioHome,`package.json`),t=await F.readFile(e,`utf-8`);return JSON.parse(t)}async writeManifestAndReinstall(e){let t=I.join(this.makaioHome,`package.json`);await F.writeFile(t,`${JSON.stringify(e,null,2)}\n`,`utf-8`);let{configuration:n,project:r,cache:i}=await this.loadYarnState();await this.runProjectInstall(n,r,i)}async resolvePackageVersion(e){try{let{StreamReport:t}=await U(),{configuration:n,project:r}=await this.loadYarnState(),i=await this.parsePackageDescriptor(e),a=`unknown`;return await t.start({configuration:n,stdout:process.stdout},async e=>{let t=n.makeResolver(),o=await t.getCandidates(i,{},{project:r,resolver:t,report:e});if(o.length>0){let e=o[0];a=e.reference.match(/^npm:(.+)$/)?.[1]??e.reference}}),a}catch(t){throw Error(`Failed to resolve version for ${e}`,{cause:t})}}};function Yr(e,t){return!t||t===`latest`?e:`${e}@${t}`}function Xr(e){if(e.startsWith(`@`)){let t=e.indexOf(`/`);if(t===-1)return e;let n=e.indexOf(`@`,t+1);return n===-1?e:e.slice(0,n)}let t=e.indexOf(`@`);return t===-1?e:e.slice(0,t)}function Zr(e){return e.localPackagePath?`portal:${Qr(e.localPackagePath)}`:e.versionRange}function Qr(e){let t=(Kr.test(e)?e:I.resolve(e)).replace(/\\/g,`/`);return Kr.test(t)?`/${t}`:t}function $r(e){let t=e.split(/\r?\n/),n=!1,r=t.map(e=>/^\s*nodeLinker\s*:/.test(e)?(n=!0,Gr):e);if(!n){let t=e.trimEnd();return`${t}${t.length>0?`
2
2
  `:``}${Gr}\n`}return`${r.join(`
3
3
  `).trimEnd()}\n`}function ei(e){if(typeof e!=`object`||!e||!(`code`in e))return!1;let t=e.code;return t===`ENOENT`||t===`ENOTDIR`}function ti(e){if(e.startsWith(`git+`))return{kind:`git`,raw:e,resolved:e};let t=e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`);if(e.startsWith(`~`)&&!t)throw Error(`Unsupported home-relative path syntax: ${e}`);return e.startsWith(`.`)||I.isAbsolute(e)||I.win32.isAbsolute(e)||t?{kind:`local`,raw:e,resolved:t?I.resolve(Wt.homedir(),e===`~`?`.`:e.slice(2)):I.resolve(e)}:{kind:`npm`,raw:e,resolved:e}}var ni=class{packages;names;constructor(e,t){this.packages=e,this.names=t}async resolve(e,t={}){let n=t.snapshot!==null,r=n?t.snapshot===void 0?await this.packages.readManifestSnapshot():t.snapshot:null;try{return await this.runBfs(e,t.force===!0)}catch(e){if(n)try{await this.packages.writeManifestAndReinstall(r)}catch(t){throw AggregateError([e,t],`Dependency resolution failed and rollback failed: ${ai(e)}`)}throw e}}async runBfs(e,t){let n=await this.readInstalledIndex(),r=e.map(e=>{let t=ii(e),n=ri(t.npmName);return{npmName:t.npmName,...n?{expectedDescriptorName:n}:{},...t.requiredRange?{requiredRange:t.requiredRange}:{},optional:!1,path:[t.npmName],root:!0}}),i=new Set,a=[],o=[],s=[];for(;r.length>0;){let e=r.shift(),s=i.has(e.npmName),c=n.byNpmName.get(e.npmName);if(s){if(c&&this.assertDescriptorMatches(e,c.descriptor),c&&this.descriptorRangeSatisfied(c.descriptor,e.requiredRange))continue;if(!c)throw Error(`Package ${e.npmName} was resolved but is missing from the installed index`)}if(c&&this.assertDescriptorMatches(e,c.descriptor),c&&this.shouldUseCurrentDescriptor(c.descriptor,e)){a.push({npmName:e.npmName,version:c.version,source:`already-present`}),await this.enqueueDependencies(r,e,c.descriptor),i.add(e.npmName);continue}let l=Yr(e.npmName,e.requiredRange),u,d;try{u=await this.packages.installPackage(l);let r=await this.packages.readInstalledExtensionDescriptor(e.npmName);if(!r)throw Error(`Installed package ${e.npmName} does not contain a valid descriptor.json`);this.assertDescriptorMatches(e,r),this.assertDescriptorVersionSatisfies(e,r),await this.assertDependentsCompatible(e.npmName,r.version,n,t),d=r}catch(t){if(e.optional){o.push({npmName:e.npmName,reason:t instanceof Error?t.message:String(t)});continue}throw t}a.push({npmName:e.npmName,version:u,source:c?`upgraded`:`new`}),c={npmName:e.npmName,version:u,descriptor:d},n.byNpmName.set(e.npmName,c),await this.enqueueDependencies(r,e,d),i.add(e.npmName)}return{installed:a,skipped:o,warnings:s}}async readInstalledIndex(){let e=await this.packages.listInstalledExtensionDescriptors();return{byNpmName:new Map(e.map(e=>[e.npmName,e]))}}descriptorRangeSatisfied(e,t){return t===void 0||pt(e.version,t)}shouldUseCurrentDescriptor(e,t){return t.root&&t.requiredRange===void 0?!1:this.descriptorRangeSatisfied(e,t.requiredRange)}assertDescriptorMatches(e,t){if(!(e.expectedDescriptorName===void 0||t.name===e.expectedDescriptorName))throw Error(`Installed package ${e.npmName} declares descriptor name "${t.name}", expected "${e.expectedDescriptorName}"`)}assertDescriptorVersionSatisfies(e,t){if(!this.descriptorRangeSatisfied(t,e.requiredRange))throw Error(`Installed package ${e.npmName} descriptor version ${t.version} does not satisfy ${t.name} ${e.requiredRange}`)}async assertDependentsCompatible(e,t,n,r){if(r)return;let i=[];for(let r of n.byNpmName.values())for(let n of r.descriptor.dependencies??[])await this.names.resolveNpmPackageName(n.name)===e&&!pt(t,n.version)&&i.push(`${r.npmName} requires ${n.name} ${n.version}`);if(i.length>0)throw Error(`Cannot install ${e}; existing dependencies would be violated:\n${i.join(`
4
4
  `)}`)}async enqueueDependencies(e,t,n){for(let r of n.dependencies??[]){let n=await this.names.resolveNpmPackageName(r.name);if(t.path.includes(n))throw Error(`Circular dependency detected: ${[...t.path,n].join(` -> `)}`);e.push({npmName:n,expectedDescriptorName:r.name,requiredRange:r.version,optional:r.optional===!0,path:[...t.path,n],root:!1})}}};function ri(e){return e.startsWith(`@`)?void 0:e}function ii(e){let t=Xr(e);if(t.length===e.length)return{npmName:t};let n=e.slice(t.length+1);return n===`latest`?{npmName:t}:{npmName:t,requiredRange:n}}function ai(e){return e instanceof Error?e.message:String(e)}var oi=class{registryClient;lookupMapPromise=null;constructor(e){this.registryClient=e}async resolveNpmPackageName(e){if(e.startsWith(`@`))return e;let t;try{t=await this.getLookupMap()}catch(t){throw Error(`Cannot resolve descriptor name "${e}": package registry is unavailable`,{cause:t})}return t.get(e)||`@makaio/${e}`}getLookupMap(){if(this.lookupMapPromise)return this.lookupMapPromise;let e=this.registryClient.getRegistry().then(e=>{let t=new Map;for(let n of[...e.adapters,...e.extensions])n.descriptorName&&t.set(n.descriptorName,n.name);return t}).catch(t=>{throw this.lookupMapPromise===e&&(this.lookupMapPromise=null),t});return this.lookupMapPromise=e,this.lookupMapPromise}},si=class{inner;portalMap;constructor(e,t){this.inner=e,this.portalMap=t}async installPackage(e){let t=Xr(e),n=this.portalMap.get(t);if(n!==void 0){let e=`${t}@portal:${Qr(n)}`;return this.inner.installPackage(e)}return this.inner.installPackage(e)}readInstalledExtensionDescriptor(e){return this.inner.readInstalledExtensionDescriptor(e)}listInstalledExtensionDescriptors(){return this.inner.listInstalledExtensionDescriptors()}readManifestSnapshot(){return this.inner.readManifestSnapshot()}writeManifestAndReinstall(e){return this.inner.writeManifestAndReinstall(e)}},ci=class{cache=null;inFlightFetch=null;registryUrl;cacheTtlMs;fetchTimeoutMs;fetchImpl;constructor(e={}){this.registryUrl=e.registryUrl??`https://raw.githubusercontent.com/makaio-ai/makaio/develop/registry/packages.json`,this.cacheTtlMs=e.cacheTtlMs??36e5,this.fetchTimeoutMs=e.fetchTimeoutMs??1e4,this.fetchImpl=e.fetchImpl??fetch}async getRegistry(){if(this.cache&&Date.now()-this.cache.timestamp<this.cacheTtlMs)return this.cache.data;this.inFlightFetch??=this.fetchAndCacheRegistry();try{return await this.inFlightFetch}finally{this.inFlightFetch=null}}async fetchAndCacheRegistry(){let e=new AbortController,t=setTimeout(()=>e.abort(),this.fetchTimeoutMs);try{let t=await this.fetchImpl(this.registryUrl,{signal:e.signal});if(!t.ok)throw Error(`HTTP ${t.status}: ${t.statusText}`);let n=await t.json(),r=Lr.parse(n);return this.cache={data:r,timestamp:Date.now()},r}catch(e){let t=e instanceof Error?e:Error(String(e));throw Error(`Failed to fetch package registry`,{cause:t})}finally{clearTimeout(t)}}clearCache(){this.cache=null}},li=t(r(),1),ui=`1.0.0`;function di(){let e=ui;if(typeof e!=`string`||e.length===0)throw Error(`Package manager package metadata must include a string version.`);return`^${e}`}const fi=di();var pi=class extends Dt{yarnManager;registryService;localInstaller;dependencyResolver;frameworkPeerRange;frameworkPackagePath;constructor(e,t,n={}){super(e),this.yarnManager=n.yarnManager??new Jr(t),this.registryService=n.registryService??new ci,this.localInstaller=n.localInstaller??new Wr(I.join(t,`extensions`)),this.frameworkPeerRange=n.frameworkPeerRange??fi,this.frameworkPackagePath=n.frameworkPackagePath;let r=n.devPortalPackages?.size?new si(this.yarnManager,n.devPortalPackages):this.yarnManager;this.dependencyResolver=n.dependencyResolver??new ni(r,new oi(this.registryService))}async onInit(){await this.yarnManager.initialize(),console.info(`[PackageManagerService] Initialized`),this.registerPackageHandlers(),this.registerRegistryHandlers()}normalizePackageName(e){if(typeof e!=`string`)return null;let t=e.trim();return t.length>0?t:null}validatePackageNamePayload(e,t){return this.normalizePackageName(e)||(t(),null)}createInvalidPackageNameResult(e){return e?{success:!1,packageName:``,latestVersion:e.latestVersion,error:`Invalid packageName`}:{success:!1,packageName:``,error:`Invalid packageName`,restartRequired:!1}}async emitInstalled(e,t){try{await this.bus.emit(H.installed,{packageName:e,version:t})}catch(e){console.error(`[PackageManagerService] installed emit failed:`,e)}}async emitUninstalled(e){try{await this.bus.emit(H.uninstalled,{packageName:e})}catch(e){console.error(`[PackageManagerService] uninstalled emit failed:`,e)}}registerPackageHandlers(){this.registerListHandler(),this.registerInstallHandler(),this.registerUninstallHandler()}registerListHandler(){this.registerHandler(H.list,async e=>{try{let[t,n]=await Promise.all([this.yarnManager.listPackages(),this.localInstaller.list()]),r=[...t,...n.map(e=>({name:e.name,version:e.version,hasDescriptor:!0,...e.serverImportPath!==void 0&&{serverImportPath:e.serverImportPath}}))];e.setResult({packages:r})}catch(t){let n=t instanceof Error?t.message:String(t);console.error(`[PackageManagerService] List failed:`,n),e.setResult({packages:[]})}})}async ensureFrameworkPeer(){try{await this.yarnManager.ensureFrameworkDependency({versionRange:this.frameworkPeerRange,...this.frameworkPackagePath?{localPackagePath:this.frameworkPackagePath}:{}})}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Failed to ensure @makaio/framework dependency ${this.frameworkPeerRange}: ${t}`,{cause:e})}}async installNpmPackages(e,t){let n=await this.yarnManager.readManifestSnapshot(),r;try{await this.ensureFrameworkPeer(),r=await this.dependencyResolver.resolve(e,{force:t,snapshot:null})}catch(e){try{await this.yarnManager.writeManifestAndReinstall(n)}catch(t){let n=e instanceof Error?e.message:String(e);throw AggregateError([e,t],`Package install failed and rollback failed: ${n}`)}throw e}for(let e of r.installed)e.source!==`already-present`&&await this.emitInstalled(e.npmName,e.version);let i=r.installed[0];return{success:!0,packageName:i?.npmName??e[0]??``,version:i?.version,restartRequired:!0,installed:[...r.installed],skipped:[...r.skipped],warnings:[...r.warnings]}}registerInstallHandler(){this.registerHandler(H.install,async e=>{let t=e.payload.packageNames??(e.payload.packageName===void 0?[]:[e.payload.packageName]),n=t.map(e=>this.normalizePackageName(e)).filter(e=>e!==null);if(n.length!==t.length||n.length===0){e.setResult(this.createInvalidPackageNameResult());return}let r;if(e.payload.source!==void 0)r={kind:e.payload.source};else{let t=n.map(e=>ti(e));r=t[0];let i=t.find(e=>e.kind!==r.kind);if(i){e.setResult({success:!1,packageName:``,error:`Cannot mix install sources: ${r.kind} and ${i.kind}`,restartRequired:!1});return}}if(r.kind===`git`){e.setResult({success:!1,packageName:n[0],error:`Git URL installs are not yet supported`,restartRequired:!1});return}if(r.kind===`local`){if(n.length>1){e.setResult({success:!1,packageName:``,error:`Local installs only support a single path`,restartRequired:!1});return}let t=await this.localInstaller.install(n[0]);t.success&&await this.emitInstalled(t.packageName,t.version??`unknown`),e.setResult(t);return}try{e.setResult(await this.installNpmPackages(n,e.payload.force))}catch(t){let r=t instanceof Error?t.message:String(t);console.error(`[PackageManagerService] Install failed:`,r),e.setResult({success:!1,packageName:n[0]??``,error:r,restartRequired:!1})}})}registerUninstallHandler(){this.registerHandler(H.uninstall,async e=>{let t=this.validatePackageNamePayload(e.payload.packageName,()=>{e.setResult(this.createInvalidPackageNameResult())});if(t){if((await this.localInstaller.list()).find(e=>e.name===t)){let n=await this.localInstaller.uninstall(t);n.success&&await this.emitUninstalled(t),e.setResult(n);return}try{await this.yarnManager.uninstallPackage(t),await this.emitUninstalled(t),e.setResult({success:!0,packageName:t,restartRequired:!0})}catch(n){let r=n instanceof Error?n.message:String(n);console.error(`[PackageManagerService] Uninstall failed:`,r),e.setResult({success:!1,packageName:t,error:r,restartRequired:!1})}}})}registerRegistryHandlers(){this.registerHandler(H.getLatestVersion,async e=>{let t=this.validatePackageNamePayload(e.payload.packageName,()=>{e.setResult(this.createInvalidPackageNameResult({latestVersion:`unknown`}))});if(t)try{let n=await this.yarnManager.getLatestVersion(t);e.setResult({success:!0,packageName:t,latestVersion:n})}catch(n){let r=n instanceof Error?n.message:String(n);console.error(`[PackageManagerService] Version check failed:`,r),e.setResult({success:!1,packageName:t,latestVersion:`unknown`,error:r})}}),this.registerHandler(H.getRegistry,async e=>{try{let t=await this.registryService.getRegistry();e.setResult(t)}catch(t){let n=t instanceof Error?t.message:String(t);console.error(`[PackageManagerService] Registry fetch failed:`,n),e.setResult({$schema:`makaio/package-registry/v1`,updatedAt:new Date().toISOString(),adapters:[],extensions:[]})}}),this.registerHandler(H.checkUpdates,async e=>{try{let t=await this.checkForUpdates();e.setResult({updates:t})}catch(t){let n=t instanceof Error?t.message:String(t);console.error(`[PackageManagerService] Update check failed:`,n),e.setResult({updates:[]})}})}async checkForUpdates(){try{let e=await this.yarnManager.listPackages(),t=[];return await Promise.all(e.map(async e=>{try{let n=await this.yarnManager.getLatestVersion(e.name);li.valid(e.version)&&li.valid(n)&&li.gt(n,e.version)&&t.push({name:e.name,currentVersion:e.version,latestVersion:n,description:e.description})}catch(t){console.warn(`[PackageManagerService] Failed to check updates for %s:`,e.name,t)}})),console.info(`[PackageManagerService] Found %d package updates`,t.length),t}catch(e){throw Error(`Failed to check for updates`,{cause:e})}}};function mi(e={}){return{name:`makaio.package-manager`,displayName:`Package Manager`,version:`0.1.0`,critical:!0,namespaces:[zr],create:t=>new pi(t.bus,t.makaioHome,{registryService:e.registryService,dependencyResolver:e.dependencyResolver,frameworkPeerRange:e.frameworkPeerRange,frameworkPackagePath:e.frameworkPackagePath,devPortalPackages:e.devPortalPackages})}}function hi(e){return{filter:e=>!!e.http,async processActivated(t,n){e.add({owner:t,phase:`extension`,mount:e=>n.http.mount(e)})},async processStopped(t){e.remove(t)}}}const gi={resolve(e,t){return!e&&!t?null:e?t?e.updatedAt>t.updatedAt?e:t:e:t}};function _i(e){return{scope:e.scope,surface:e.surface??`any`,context:e.context??`any`,viewport:e.viewport??`any`}}function vi(e){return{scope:e.scope,surface:e.surface===`any`?void 0:e.surface,context:e.context===`any`?void 0:e.context,viewport:e.viewport===`any`?void 0:e.viewport}}function yi(e,t){return[`makaio:prefs`,e.scope,e.surface||`any`,e.context||`any`,e.viewport||`any`,t].join(`:`)}function bi(e){return typeof e==`object`&&!!e&&`value`in e&&`updatedAt`in e&&typeof e.value==`string`&&typeof e.updatedAt==`number`}function xi(e){try{let t=JSON.parse(e);return bi(t)?t:{value:JSON.stringify(t),updatedAt:0}}catch{return null}}const Si=Mt(`preferences`,e=>({scope:e.text(`scope`).notNull(),surface:e.text(`surface`).notNull().default(`any`),context:e.text(`context`).notNull().default(`any`),viewport:e.text(`viewport`).notNull().default(`any`),category:e.text(`category`).notNull(),value:e.text(`value`).notNull(),updatedAt:e.epochMs(`updated_at`).notNull()}),{sqlite:e=>[Ot(`preferences_pk`).on(e.scope,e.surface,e.context,e.viewport,e.category)],postgres:e=>[kt(`preferences_pk`).on(e.scope,e.surface,e.context,e.viewport,e.category)]}),Ci=Si.sqlite,wi=Si.postgres,Ti=jt({preferences:Ci},{preferences:wi});function Ei(e,t,n){let r=[];return n!==void 0&&r.push(z(e.category,n)),t&&(t.scope!==void 0&&r.push(z(e.scope,t.scope)),t.surface!==void 0&&r.push(z(e.surface,t.surface)),t.context!==void 0&&r.push(z(e.context,t.context)),t.viewport!==void 0&&r.push(z(e.viewport,t.viewport))),r}async function Di(e,t,n){let{preferences:r}=zt(e,Ti),i=Ei(r,t,n);return(i.length>0?await e.select().from(r).where(Ht(...i)):await e.select().from(r)).map(e=>{let t;try{t=JSON.parse(e.value)}catch{t=null}let n=Rn.safeParse(t);return{key:vi(e),category:e.category,value:n.success?n.data:null,updatedAt:e.updatedAt}})}async function Oi(e,t,n){let{preferences:r}=zt(e,Ti),i=_i(t),[a]=await e.select().from(r).where(Ht(z(r.scope,i.scope),z(r.surface,i.surface),z(r.context,i.context),z(r.viewport,i.viewport),z(r.category,n))).limit(1);return a}var ki=class{db;conflictResolver;constructor(e){this.db=e.db,this.conflictResolver=e.conflictResolver??gi}async get(e,t){let n=await this.readFromDb(e,t),r=this.readFromLocalStorage(e,t),i=r?.updatedAt===0?r:null;!n&&r&&!i&&this.removeFromLocalStorage(e,t);let a=this.conflictResolver.resolve(i,n);if(!a)return null;let o;try{o=JSON.parse(a.value)}catch{return null}let s=Rn.safeParse(o);return s.success?(await this.syncResolvedPreference(e,t,a,r,n),s.data):null}async set(e,t,n){let r=Date.now(),i=JSON.stringify(n??null);this.writeToLocalStorage(e,t,{value:i,updatedAt:r}),await this.writeToDb(e,t,i,r)}async delete(e,t){this.removeFromLocalStorage(e,t),await this.deleteFromDb(e,t)}async list(e,t){return Di(this.db,e,t)}async writeToDb(e,t,n,r){let{preferences:i}=zt(this.db,Ti),a=_i(e);await this.db.insert(i).values({...a,category:t,value:n,updatedAt:r}).onConflictDoUpdate({target:[i.scope,i.surface,i.context,i.viewport,i.category],set:{value:n,updatedAt:r}})}readFromLocalStorage(e,t){let n=yi(e,t),r=globalThis.localStorage?.getItem(n);return r?xi(r):null}writeToLocalStorage(e,t,n){let r=yi(e,t);try{globalThis.localStorage?.setItem(r,JSON.stringify(n))}catch(e){console.warn(`[StorageCoordinator] localStorage write failed:`,e)}}removeFromLocalStorage(e,t){let n=yi(e,t);try{globalThis.localStorage?.removeItem(n)}catch(e){console.warn(`[StorageCoordinator] localStorage delete failed:`,e)}}async syncResolvedPreference(e,t,n,r,i){this.isSameStoredPreference(n,i)||await this.writeToDb(e,t,n.value,n.updatedAt),r&&!this.isSameStoredPreference(n,r)&&this.writeToLocalStorage(e,t,n)}isSameStoredPreference(e,t){return!e||!t?!1:e.value===t.value&&e.updatedAt===t.updatedAt}async readFromDb(e,t){let n=await Oi(this.db,e,t);return n?{value:n.value,updatedAt:n.updatedAt}:null}async deleteFromDb(e,t){let{preferences:n}=zt(this.db,Ti),r=_i(e);await this.db.delete(n).where(Ht(z(n.scope,r.scope),z(n.surface,r.surface),z(n.context,r.context),z(n.viewport,r.viewport),z(n.category,t)))}};function Ai(e,t,n){let r=new ki({db:t}),i=e.on(zn.get,async e=>{let{key:t,category:n}=e.payload,i=await r.get(t,n);e.setResult({value:i})}),a=e.on(zn.set,async e=>{let{key:t,category:n,value:i}=e.payload;await r.set(t,n,i),e.setResult({success:!0})}),o=e.on(zn.delete,async e=>{let{key:t,category:n}=e.payload;await r.delete(t,n),e.setResult({success:!0})}),s=e.on(zn.list,async e=>{let{key:t,category:n}=e.payload,i=await r.list(t,n);e.setResult({items:i})});return()=>{i(),a(),o(),s()}}const ji={name:`preferences-storage`,displayName:`Preferences Storage`,version:`0.1.0`,critical:!0,storage:{registerHandlers:Lt(Ai)}};function Mi(e,t){let n=new Map;for(let[r,i]of e)t.has(r)&&n.set(r,i);return n}function Ni(...e){let t=new Map;for(let n of e)for(let[e,r]of n)t.set(e,{...t.get(e)??{},...r});return t}function Pi(e,t){let n=[e.on(it.get,async e=>{let n=await t.getConfig();e.setResult({config:n})}),e.on(it.update,async e=>{let n=rt.parse(e.payload.config),r=await t.prepareConfigForPersistence(n);await t.saveConfig(r),e.setResult({success:!0})})];return()=>{for(let e of n)e()}}var W=n((e=>{let t=Symbol.for(`yaml.alias`),n=Symbol.for(`yaml.document`),r=Symbol.for(`yaml.map`),i=Symbol.for(`yaml.pair`),a=Symbol.for(`yaml.scalar`),o=Symbol.for(`yaml.seq`),s=Symbol.for(`yaml.node.type`),c=e=>!!e&&typeof e==`object`&&e[s]===t,l=e=>!!e&&typeof e==`object`&&e[s]===n,u=e=>!!e&&typeof e==`object`&&e[s]===r,d=e=>!!e&&typeof e==`object`&&e[s]===i,f=e=>!!e&&typeof e==`object`&&e[s]===a,p=e=>!!e&&typeof e==`object`&&e[s]===o;function m(e){if(e&&typeof e==`object`)switch(e[s]){case r:case o:return!0}return!1}function h(e){if(e&&typeof e==`object`)switch(e[s]){case t:case r:case a:case o:return!0}return!1}e.ALIAS=t,e.DOC=n,e.MAP=r,e.NODE_TYPE=s,e.PAIR=i,e.SCALAR=a,e.SEQ=o,e.hasAnchor=e=>(f(e)||m(e))&&!!e.anchor,e.isAlias=c,e.isCollection=m,e.isDocument=l,e.isMap=u,e.isNode=h,e.isPair=d,e.isScalar=f,e.isSeq=p})),Fi=n((e=>{var t=W();let n=Symbol(`break visit`),r=Symbol(`skip children`),i=Symbol(`remove node`);function a(e,n){let r=l(n);t.isDocument(e)?o(null,e.contents,r,Object.freeze([e]))===i&&(e.contents=null):o(null,e,r,Object.freeze([]))}a.BREAK=n,a.SKIP=r,a.REMOVE=i;function o(e,r,a,s){let c=u(e,r,a,s);if(t.isNode(c)||t.isPair(c))return d(e,s,c),o(e,c,a,s);if(typeof c!=`symbol`){if(t.isCollection(r)){s=Object.freeze(s.concat(r));for(let e=0;e<r.items.length;++e){let t=o(e,r.items[e],a,s);if(typeof t==`number`)e=t-1;else if(t===n)return n;else t===i&&(r.items.splice(e,1),--e)}}else if(t.isPair(r)){s=Object.freeze(s.concat(r));let e=o(`key`,r.key,a,s);if(e===n)return n;e===i&&(r.key=null);let t=o(`value`,r.value,a,s);if(t===n)return n;t===i&&(r.value=null)}}return c}async function s(e,n){let r=l(n);t.isDocument(e)?await c(null,e.contents,r,Object.freeze([e]))===i&&(e.contents=null):await c(null,e,r,Object.freeze([]))}s.BREAK=n,s.SKIP=r,s.REMOVE=i;async function c(e,r,a,o){let s=await u(e,r,a,o);if(t.isNode(s)||t.isPair(s))return d(e,o,s),c(e,s,a,o);if(typeof s!=`symbol`){if(t.isCollection(r)){o=Object.freeze(o.concat(r));for(let e=0;e<r.items.length;++e){let t=await c(e,r.items[e],a,o);if(typeof t==`number`)e=t-1;else if(t===n)return n;else t===i&&(r.items.splice(e,1),--e)}}else if(t.isPair(r)){o=Object.freeze(o.concat(r));let e=await c(`key`,r.key,a,o);if(e===n)return n;e===i&&(r.key=null);let t=await c(`value`,r.value,a,o);if(t===n)return n;t===i&&(r.value=null)}}return s}function l(e){return typeof e==`object`&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function u(e,n,r,i){if(typeof r==`function`)return r(e,n,i);if(t.isMap(n))return r.Map?.(e,n,i);if(t.isSeq(n))return r.Seq?.(e,n,i);if(t.isPair(n))return r.Pair?.(e,n,i);if(t.isScalar(n))return r.Scalar?.(e,n,i);if(t.isAlias(n))return r.Alias?.(e,n,i)}function d(e,n,r){let i=n[n.length-1];if(t.isCollection(i))i.items[e]=r;else if(t.isPair(i))e===`key`?i.key=r:i.value=r;else if(t.isDocument(i))i.contents=r;else{let e=t.isAlias(i)?`alias`:`scalar`;throw Error(`Cannot replace node with ${e} parent`)}}e.visit=a,e.visitAsync=s})),Ii=n((e=>{var t=W(),n=Fi();let r={"!":`%21`,",":`%2C`,"[":`%5B`,"]":`%5D`,"{":`%7B`,"}":`%7D`},i=e=>e.replace(/[!,[\]{}]/g,e=>r[e]);var a=class e{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,n)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case`1.1`:this.atNextDocument=!0;break;case`1.2`:this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:`1.2`},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,n){this.atNextDocument&&=(this.yaml={explicit:e.defaultYaml.explicit,version:`1.1`},this.tags=Object.assign({},e.defaultTags),!1);let r=t.trim().split(/[ \t]+/),i=r.shift();switch(i){case`%TAG`:{if(r.length!==2&&(n(0,`%TAG directive should contain exactly two parts`),r.length<2))return!1;let[e,t]=r;return this.tags[e]=t,!0}case`%YAML`:{if(this.yaml.explicit=!0,r.length!==1)return n(0,`%YAML directive should contain exactly one part`),!1;let[e]=r;if(e===`1.1`||e===`1.2`)return this.yaml.version=e,!0;{let t=/^\d+\.\d+$/.test(e);return n(6,`Unsupported YAML version ${e}`,t),!1}}default:return n(0,`Unknown directive ${i}`,!0),!1}}tagName(e,t){if(e===`!`)return`!`;if(e[0]!==`!`)return t(`Not a valid tag: ${e}`),null;if(e[1]===`<`){let n=e.slice(2,-1);return n===`!`||n===`!!`?(t(`Verbatim tags aren't resolved, so ${e} is invalid.`),null):(e[e.length-1]!==`>`&&t(`Verbatim tags must end with a >`),n)}let[,n,r]=e.match(/^(.*!)([^!]*)$/s);r||t(`The ${e} tag has no suffix`);let i=this.tags[n];if(i)try{return i+decodeURIComponent(r)}catch(e){return t(String(e)),null}return n===`!`?e:(t(`Could not resolve tag: ${e}`),null)}tagString(e){for(let[t,n]of Object.entries(this.tags))if(e.startsWith(n))return t+i(e.substring(n.length));return e[0]===`!`?e:`!<${e}>`}toString(e){let r=this.yaml.explicit?[`%YAML ${this.yaml.version||`1.2`}`]:[],i=Object.entries(this.tags),a;if(e&&i.length>0&&t.isNode(e.contents)){let r={};n.visit(e.contents,(e,n)=>{t.isNode(n)&&n.tag&&(r[n.tag]=!0)}),a=Object.keys(r)}else a=[];for(let[t,n]of i)t===`!!`&&n===`tag:yaml.org,2002:`||(!e||a.some(e=>e.startsWith(n)))&&r.push(`%TAG ${t} ${n}`);return r.join(`
@@ -1,2 +1,2 @@
1
- import { $ as WorkflowAttemptInstructionReader, A as HeadlessWorkerExecutor, B as WorkloadInvocationPreparation, Bt as WorkspaceRootResolver, C as loadWorkflowFromConfig, Ct as createWorkerBusAuth, D as HeadlessWorkerBootstrapCredentials, Dt as ThinWorkflowPiscinaRunnerOptions, E as HeadlessWorkerBootstrap, Et as RuntimeLoadedWorkflow, F as MaterializedWorkspace, G as IsolatedWorkflowRuntimeContext, Gt as computeFileDigest, H as runWorkloadInvocation, Ht as assertNoSymlinkEscape, I as runHeadlessWorkflowWorker, J as createIsolatedWorkflowRuntime, Jt as verifyContribution, K as WorkflowRuntimeAuthorityConnector, Kt as materializeLocalDirectory, L as InstalledWorkloadAdapter, Lt as LocalDirectoryMaterializerOptions, M as HeadlessWorkerPostCommitObserver, N as HeadlessWorkflowWorkerDeps, O as HeadlessWorkerBusConnector, Ot as WorkflowRunResult, P as HeadlessWorkflowWorkerResult, Q as PiscinaThinWorkflowProviderOptions, R as RunWorkloadInvocationOptions, Rt as MaterializationError, S as loadWorkflowModules, St as withWorkerBootstrapDeadline, T as LocalGitSourceOptions, Tt as IWorkflowRunner, U as CreateIsolatedWorkflowRuntimeOptions, Ut as computeContributionPackageDigest, V as WorkloadInvocationResult, Vt as assertContainedIn, W as IsolatedWorkflowRuntime, Wt as computeDirectoryDigest, X as InProcessWorkflowRunnerOptions, Xt as WorkflowWorkerEntryResolverOptions, Y as InProcessWorkflowRunner, Yt as WorkflowWorkerEntryMode, Z as PiscinaThinWorkflowProvider, Zt as resolveWorkflowWorkerEntry, _ as admitWorkflowRunOperation, _t as createNodeWorkflowRunnerPackageOptions, a as bootstrapWorkerRuntime, at as DELIVERED_DECISIONS, b as registerWorkerRuntime, bt as runWorkerBootstrapExchange, c as DeliverableOperationKind, ct as OutcomeSubmitPayload, d as OperationDeliveryEndpointIdentity, dt as submitOutcomeWithAck, et as WorkflowLaunchResolver, f as OperationDeliveryHandler, ft as WorkerRunner, g as RuntimeRegistrationRefusedError, gt as createNodeWorkflowRunner, h as RegisterWorkerRuntimeOptions, ht as NodeWorkflowRunnerPackageOptions, i as StartedWorkerRuntime, it as AuthorityRequestDeliveryError, j as HeadlessWorkerMaterializer, k as HeadlessWorkerContributionLoader, l as OperationAdmissionRefusedError, lt as OutcomeSubmitRetryConfig, m as RegisterAndAdmitWorkflowRunOptions, mt as CreateNodeWorkflowRunnerPackageOptionsParams, n as BootstrapStartRefusedError, nt as AttemptOutcomeDeliveryError, o as AdmitWorkflowRunOperationOptions, ot as OutcomeDeliveryError, p as OperationDeliveryHandlers, pt as WorkerRunnerOptions, q as WorkflowRuntimeContributionLoader, qt as parseSriIntegrity, r as BootstrapWorkerRuntimeOptions, rt as AttemptOutcomeSubmitPayload, s as AdmittedWorkflowRun, st as OutcomeReconnect, t as BootstrapRuntimeConnection, tt as createWorkflowLaunchResolver, u as OperationDeliveryEndpoint, ut as submitAttemptOutcomeWithAck, v as installOperationDeliveryEndpoint, vt as BootstrapExchangeResult, w as createLocalGitWorkspacePreparation, wt as ThinWorkflowPiscinaRunner, x as loadWorkflowModule, xt as BootstrapDeadlineExceededError, y as registerAndAdmitWorkflowRun, yt as WorkerBootstrapExchangeOptions, z as WorkloadControlBinding, zt as ParsedSriIntegrity } from "../../index-B_gyAIAo.mjs";
1
+ import { $ as WorkflowAttemptInstructionReader, A as HeadlessWorkerExecutor, B as WorkloadInvocationPreparation, Bt as WorkspaceRootResolver, C as loadWorkflowFromConfig, Ct as createWorkerBusAuth, D as HeadlessWorkerBootstrapCredentials, Dt as ThinWorkflowPiscinaRunnerOptions, E as HeadlessWorkerBootstrap, Et as RuntimeLoadedWorkflow, F as MaterializedWorkspace, G as IsolatedWorkflowRuntimeContext, Gt as computeFileDigest, H as runWorkloadInvocation, Ht as assertNoSymlinkEscape, I as runHeadlessWorkflowWorker, J as createIsolatedWorkflowRuntime, Jt as verifyContribution, K as WorkflowRuntimeAuthorityConnector, Kt as materializeLocalDirectory, L as InstalledWorkloadAdapter, Lt as LocalDirectoryMaterializerOptions, M as HeadlessWorkerPostCommitObserver, N as HeadlessWorkflowWorkerDeps, O as HeadlessWorkerBusConnector, Ot as WorkflowRunResult, P as HeadlessWorkflowWorkerResult, Q as PiscinaThinWorkflowProviderOptions, R as RunWorkloadInvocationOptions, Rt as MaterializationError, S as loadWorkflowModules, St as withWorkerBootstrapDeadline, T as LocalGitSourceOptions, Tt as IWorkflowRunner, U as CreateIsolatedWorkflowRuntimeOptions, Ut as computeContributionPackageDigest, V as WorkloadInvocationResult, Vt as assertContainedIn, W as IsolatedWorkflowRuntime, Wt as computeDirectoryDigest, X as InProcessWorkflowRunnerOptions, Xt as WorkflowWorkerEntryResolverOptions, Y as InProcessWorkflowRunner, Yt as WorkflowWorkerEntryMode, Z as PiscinaThinWorkflowProvider, Zt as resolveWorkflowWorkerEntry, _ as admitWorkflowRunOperation, _t as createNodeWorkflowRunnerPackageOptions, a as bootstrapWorkerRuntime, at as DELIVERED_DECISIONS, b as registerWorkerRuntime, bt as runWorkerBootstrapExchange, c as DeliverableOperationKind, ct as OutcomeSubmitPayload, d as OperationDeliveryEndpointIdentity, dt as submitOutcomeWithAck, et as WorkflowLaunchResolver, f as OperationDeliveryHandler, ft as WorkerRunner, g as RuntimeRegistrationRefusedError, gt as createNodeWorkflowRunner, h as RegisterWorkerRuntimeOptions, ht as NodeWorkflowRunnerPackageOptions, i as StartedWorkerRuntime, it as AuthorityRequestDeliveryError, j as HeadlessWorkerMaterializer, k as HeadlessWorkerContributionLoader, l as OperationAdmissionRefusedError, lt as OutcomeSubmitRetryConfig, m as RegisterAndAdmitWorkflowRunOptions, mt as CreateNodeWorkflowRunnerPackageOptionsParams, n as BootstrapStartRefusedError, nt as AttemptOutcomeDeliveryError, o as AdmitWorkflowRunOperationOptions, ot as OutcomeDeliveryError, p as OperationDeliveryHandlers, pt as WorkerRunnerOptions, q as WorkflowRuntimeContributionLoader, qt as parseSriIntegrity, r as BootstrapWorkerRuntimeOptions, rt as AttemptOutcomeSubmitPayload, s as AdmittedWorkflowRun, st as OutcomeReconnect, t as BootstrapRuntimeConnection, tt as createWorkflowLaunchResolver, u as OperationDeliveryEndpoint, ut as submitAttemptOutcomeWithAck, v as installOperationDeliveryEndpoint, vt as BootstrapExchangeResult, w as createLocalGitWorkspacePreparation, wt as ThinWorkflowPiscinaRunner, x as loadWorkflowModule, xt as BootstrapDeadlineExceededError, y as registerAndAdmitWorkflowRun, yt as WorkerBootstrapExchangeOptions, z as WorkloadControlBinding, zt as ParsedSriIntegrity } from "../../index-B7wjmaev.mjs";
2
2
  export { AdmitWorkflowRunOperationOptions, AdmittedWorkflowRun, AttemptOutcomeDeliveryError, AttemptOutcomeSubmitPayload, AuthorityRequestDeliveryError, BootstrapDeadlineExceededError, BootstrapExchangeResult, BootstrapRuntimeConnection, BootstrapStartRefusedError, BootstrapWorkerRuntimeOptions, CreateIsolatedWorkflowRuntimeOptions, CreateNodeWorkflowRunnerPackageOptionsParams, DELIVERED_DECISIONS, DeliverableOperationKind, HeadlessWorkerBootstrap, HeadlessWorkerBootstrapCredentials, HeadlessWorkerBusConnector, HeadlessWorkerContributionLoader, HeadlessWorkerExecutor, HeadlessWorkerMaterializer, HeadlessWorkerPostCommitObserver, HeadlessWorkflowWorkerDeps, HeadlessWorkflowWorkerResult, IWorkflowRunner, InProcessWorkflowRunner, InProcessWorkflowRunnerOptions, InstalledWorkloadAdapter, IsolatedWorkflowRuntime, IsolatedWorkflowRuntimeContext, LocalDirectoryMaterializerOptions, LocalGitSourceOptions, MaterializationError, MaterializedWorkspace, NodeWorkflowRunnerPackageOptions, OperationAdmissionRefusedError, OperationDeliveryEndpoint, OperationDeliveryEndpointIdentity, OperationDeliveryHandler, OperationDeliveryHandlers, OutcomeDeliveryError, OutcomeReconnect, OutcomeSubmitPayload, OutcomeSubmitRetryConfig, ParsedSriIntegrity, PiscinaThinWorkflowProvider, PiscinaThinWorkflowProviderOptions, RegisterAndAdmitWorkflowRunOptions, RegisterWorkerRuntimeOptions, RunWorkloadInvocationOptions, RuntimeLoadedWorkflow, RuntimeRegistrationRefusedError, StartedWorkerRuntime, ThinWorkflowPiscinaRunner, ThinWorkflowPiscinaRunnerOptions, WorkerBootstrapExchangeOptions, WorkerRunner, WorkerRunnerOptions, WorkflowAttemptInstructionReader, WorkflowLaunchResolver, WorkflowRunResult, WorkflowRuntimeAuthorityConnector, WorkflowRuntimeContributionLoader, WorkflowWorkerEntryMode, WorkflowWorkerEntryResolverOptions, WorkloadControlBinding, WorkloadInvocationPreparation, WorkloadInvocationResult, WorkspaceRootResolver, admitWorkflowRunOperation, assertContainedIn, assertNoSymlinkEscape, bootstrapWorkerRuntime, computeContributionPackageDigest, computeDirectoryDigest, computeFileDigest, createIsolatedWorkflowRuntime, createLocalGitWorkspacePreparation, createNodeWorkflowRunner, createNodeWorkflowRunnerPackageOptions, createWorkerBusAuth, createWorkflowLaunchResolver, installOperationDeliveryEndpoint, loadWorkflowFromConfig, loadWorkflowModule, loadWorkflowModules, materializeLocalDirectory, parseSriIntegrity, registerAndAdmitWorkflowRun, registerWorkerRuntime, resolveWorkflowWorkerEntry, runHeadlessWorkflowWorker, runWorkerBootstrapExchange, runWorkloadInvocation, submitAttemptOutcomeWithAck, submitOutcomeWithAck, verifyContribution, withWorkerBootstrapDeadline };
@@ -1 +1 @@
1
- import{C as e,D as t,E as n,S as r,T as i,_ as a,a as o,b as s,c,d as l,f as u,g as d,h as f,i as p,l as m,m as h,n as g,o as _,p as v,r as y,s as b,t as x,u as S,v as C,w,x as T,y as E}from"../../workflow-worker-Drf-skvM.mjs";import{_ as D,a as O,c as k,d as A,f as j,i as M,m as N,n as P,o as F,p as I,r as L,s as R,t as z,u as B,v as V}from"../../bootstrap-start-client-rW55mDI-.mjs";export{b as AttemptOutcomeDeliveryError,c as AuthorityRequestDeliveryError,D as BootstrapDeadlineExceededError,z as BootstrapStartRefusedError,m as DELIVERED_DECISIONS,f as InProcessWorkflowRunner,E as MaterializationError,L as OperationAdmissionRefusedError,S as OutcomeDeliveryError,_ as PiscinaThinWorkflowProvider,M as RuntimeRegistrationRefusedError,C as ThinWorkflowPiscinaRunner,d as WorkerRunner,O as admitWorkflowRunOperation,s as assertContainedIn,T as assertNoSymlinkEscape,P as bootstrapWorkerRuntime,r as computeContributionPackageDigest,e as computeDirectoryDigest,w as computeFileDigest,p as createIsolatedWorkflowRuntime,x as createLocalGitWorkspacePreparation,v as createNodeWorkflowRunner,h as createNodeWorkflowRunnerPackageOptions,N as createWorkerBusAuth,o as createWorkflowLaunchResolver,F as installOperationDeliveryEndpoint,B as loadWorkflowFromConfig,A as loadWorkflowModule,j as loadWorkflowModules,i as materializeLocalDirectory,n as parseSriIntegrity,R as registerAndAdmitWorkflowRun,k as registerWorkerRuntime,a as resolveWorkflowWorkerEntry,g as runHeadlessWorkflowWorker,I as runWorkerBootstrapExchange,y as runWorkloadInvocation,l as submitAttemptOutcomeWithAck,u as submitOutcomeWithAck,t as verifyContribution,V as withWorkerBootstrapDeadline};
1
+ import{C as e,D as t,E as n,S as r,T as i,_ as a,a as o,b as s,c,d as l,f as u,g as d,h as f,i as p,l as m,m as h,n as g,o as _,p as v,r as y,s as b,t as x,u as S,v as C,w,x as T,y as E}from"../../workflow-worker-CrnDwpkP.mjs";import{_ as D,a as O,c as k,d as A,f as j,i as M,m as N,n as P,o as F,p as I,r as L,s as R,t as z,u as B,v as V}from"../../bootstrap-start-client-rW55mDI-.mjs";export{b as AttemptOutcomeDeliveryError,c as AuthorityRequestDeliveryError,D as BootstrapDeadlineExceededError,z as BootstrapStartRefusedError,m as DELIVERED_DECISIONS,f as InProcessWorkflowRunner,E as MaterializationError,L as OperationAdmissionRefusedError,S as OutcomeDeliveryError,_ as PiscinaThinWorkflowProvider,M as RuntimeRegistrationRefusedError,C as ThinWorkflowPiscinaRunner,d as WorkerRunner,O as admitWorkflowRunOperation,s as assertContainedIn,T as assertNoSymlinkEscape,P as bootstrapWorkerRuntime,r as computeContributionPackageDigest,e as computeDirectoryDigest,w as computeFileDigest,p as createIsolatedWorkflowRuntime,x as createLocalGitWorkspacePreparation,v as createNodeWorkflowRunner,h as createNodeWorkflowRunnerPackageOptions,N as createWorkerBusAuth,o as createWorkflowLaunchResolver,F as installOperationDeliveryEndpoint,B as loadWorkflowFromConfig,A as loadWorkflowModule,j as loadWorkflowModules,i as materializeLocalDirectory,n as parseSriIntegrity,R as registerAndAdmitWorkflowRun,k as registerWorkerRuntime,a as resolveWorkflowWorkerEntry,g as runHeadlessWorkflowWorker,I as runWorkerBootstrapExchange,y as runWorkloadInvocation,l as submitAttemptOutcomeWithAck,u as submitOutcomeWithAck,t as verifyContribution,V as withWorkerBootstrapDeadline};
@@ -45,17 +45,17 @@ type SubagentTemplateSummary = z.infer<typeof SubagentTemplateSummarySchema>;
45
45
  declare const SubagentTemplateCreateSchema: z.ZodObject<{
46
46
  name: z.ZodString;
47
47
  enabled: z.ZodDefault<z.ZodBoolean>;
48
- adapterName: z.ZodString;
49
48
  providerConfigId: z.ZodOptional<z.ZodString>;
50
49
  model: z.ZodOptional<z.ZodString>;
50
+ systemPrompt: z.ZodOptional<z.ZodString>;
51
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
52
+ disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
53
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
51
54
  contextMode: z.ZodDefault<z.ZodEnum<{
52
55
  fork: "fork";
53
56
  fresh: "fresh";
54
57
  }>>;
55
- disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
56
- allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
57
- systemPrompt: z.ZodOptional<z.ZodString>;
58
- allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
58
+ adapterName: z.ZodString;
59
59
  }, z.core.$strip>;
60
60
  type SubagentTemplateCreate = z.infer<typeof SubagentTemplateCreateSchema>;
61
61
  /**
@@ -130,17 +130,17 @@ declare const SubagentTemplateSettingsSchemas: {
130
130
  request: z.ZodObject<{
131
131
  name: z.ZodString;
132
132
  enabled: z.ZodDefault<z.ZodBoolean>;
133
- adapterName: z.ZodString;
134
133
  providerConfigId: z.ZodOptional<z.ZodString>;
135
134
  model: z.ZodOptional<z.ZodString>;
135
+ systemPrompt: z.ZodOptional<z.ZodString>;
136
+ allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
137
+ disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
138
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
136
139
  contextMode: z.ZodDefault<z.ZodEnum<{
137
140
  fork: "fork";
138
141
  fresh: "fresh";
139
142
  }>>;
140
- disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
141
- allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
142
- systemPrompt: z.ZodOptional<z.ZodString>;
143
- allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
143
+ adapterName: z.ZodString;
144
144
  }, z.core.$strip>;
145
145
  response: z.ZodObject<{
146
146
  id: z.ZodString;
@@ -191,9 +191,9 @@ declare const SubagentTemplateInstanceSchema: z.ZodObject<{
191
191
  status: z.ZodEnum<{
192
192
  completed: "completed";
193
193
  cancelled: "cancelled";
194
+ failed: "failed";
194
195
  running: "running";
195
196
  waiting_input: "waiting_input";
196
- failed: "failed";
197
197
  }>;
198
198
  createdAt: z.ZodString;
199
199
  }, z.core.$strip>;
@@ -222,9 +222,9 @@ declare const SubagentTemplateInstanceStatusSchema: z.ZodObject<{
222
222
  status: z.ZodEnum<{
223
223
  completed: "completed";
224
224
  cancelled: "cancelled";
225
+ failed: "failed";
225
226
  running: "running";
226
227
  waiting_input: "waiting_input";
227
- failed: "failed";
228
228
  }>;
229
229
  result: z.ZodOptional<z.ZodString>;
230
230
  error: z.ZodOptional<z.ZodString>;
@@ -274,9 +274,9 @@ declare const SubagentTemplateKernelSchemas: {
274
274
  status: z.ZodEnum<{
275
275
  completed: "completed";
276
276
  cancelled: "cancelled";
277
+ failed: "failed";
277
278
  running: "running";
278
279
  waiting_input: "waiting_input";
279
- failed: "failed";
280
280
  }>;
281
281
  result: z.ZodOptional<z.ZodString>;
282
282
  error: z.ZodOptional<z.ZodString>;
@@ -427,9 +427,9 @@ declare const AgentInstanceStatusSchema: z.ZodObject<{
427
427
  status: z.ZodEnum<{
428
428
  completed: "completed";
429
429
  cancelled: "cancelled";
430
+ failed: "failed";
430
431
  running: "running";
431
432
  waiting_input: "waiting_input";
432
- failed: "failed";
433
433
  }>;
434
434
  result: z.ZodOptional<z.ZodString>;
435
435
  error: z.ZodOptional<z.ZodString>;
@@ -892,9 +892,9 @@ declare const AgentRuntimeSchemas: {
892
892
  status: z.ZodEnum<{
893
893
  completed: "completed";
894
894
  cancelled: "cancelled";
895
+ failed: "failed";
895
896
  running: "running";
896
897
  waiting_input: "waiting_input";
897
- failed: "failed";
898
898
  }>;
899
899
  result: z.ZodOptional<z.ZodString>;
900
900
  error: z.ZodOptional<z.ZodString>;
@@ -102,8 +102,8 @@ declare const ExecutionTargetInputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
102
102
  name: z.ZodString;
103
103
  image: z.ZodOptional<z.ZodString>;
104
104
  enabled: z.ZodBoolean;
105
- scope: z.ZodString;
106
105
  busUrl: z.ZodOptional<z.ZodString>;
106
+ scope: z.ZodString;
107
107
  }, z.core.$strip>, z.ZodObject<{
108
108
  type: z.ZodLiteral<"container-isolated">;
109
109
  id: z.ZodString;
@@ -205,8 +205,8 @@ declare const ExecutionTargetSchemas: {
205
205
  name: z.ZodString;
206
206
  image: z.ZodOptional<z.ZodString>;
207
207
  enabled: z.ZodBoolean;
208
- scope: z.ZodString;
209
208
  busUrl: z.ZodOptional<z.ZodString>;
209
+ scope: z.ZodString;
210
210
  }, z.core.$strip>, z.ZodObject<{
211
211
  type: z.ZodLiteral<"container-isolated">;
212
212
  id: z.ZodString;
@@ -1,3 +1,3 @@
1
- import { a as AgentRuntimeSelectionSchema, i as AgentRuntimeSelection, n as AgentInstanceStatusSchema, r as AgentRuntimeSchemas, t as AgentInstanceStatus } from "../../schemas-CQe4xCRn.mjs";
2
- import { n as AgentRuntimeSubjects, t as AgentRuntimeNamespace } from "../../namespace-CfA0C0JR.mjs";
1
+ import { a as AgentRuntimeSelectionSchema, i as AgentRuntimeSelection, n as AgentInstanceStatusSchema, r as AgentRuntimeSchemas, t as AgentInstanceStatus } from "../../schemas-DGKWi7mk.mjs";
2
+ import { n as AgentRuntimeSubjects, t as AgentRuntimeNamespace } from "../../namespace-B1sjokHd.mjs";
3
3
  export { type AgentInstanceStatus, AgentInstanceStatusSchema, AgentRuntimeNamespace, AgentRuntimeSchemas, type AgentRuntimeSelection, AgentRuntimeSelectionSchema, AgentRuntimeSubjects };
@@ -1,2 +1,2 @@
1
- import { n as AgentRuntimeSubjects, t as AgentRuntimeNamespace } from "../../namespace-CfA0C0JR.mjs";
1
+ import { n as AgentRuntimeSubjects, t as AgentRuntimeNamespace } from "../../namespace-B1sjokHd.mjs";
2
2
  export { AgentRuntimeNamespace, AgentRuntimeSubjects };
@@ -1,2 +1,2 @@
1
- import { a as AgentRuntimeSelectionSchema, i as AgentRuntimeSelection, n as AgentInstanceStatusSchema, r as AgentRuntimeSchemas, t as AgentInstanceStatus } from "../../schemas-CQe4xCRn.mjs";
1
+ import { a as AgentRuntimeSelectionSchema, i as AgentRuntimeSelection, n as AgentInstanceStatusSchema, r as AgentRuntimeSchemas, t as AgentInstanceStatus } from "../../schemas-DGKWi7mk.mjs";
2
2
  export { AgentInstanceStatus, AgentInstanceStatusSchema, AgentRuntimeSchemas, AgentRuntimeSelection, AgentRuntimeSelectionSchema };
@@ -1,4 +1,4 @@
1
- import { a as ExecutionTargetInputSchema, c as ExecutionTargetResolveRequest, d as ExecutionTargetSchemas, f as ExecutionTargetType, i as ExecutionTargetInput, l as ExecutionTargetResolveRequestSchema, m as LocalExecutionTargetSchema, n as ContainerLocalExecutionTargetSchema, o as ExecutionTargetListQuery, p as ExecutionTargetTypeSchema, r as ExecutionTarget, s as ExecutionTargetListQuerySchema, t as ContainerIsolatedExecutionTargetSchema, u as ExecutionTargetSchema } from "../../schemas-CikbhFMx.mjs";
2
- import { n as ExecutionTargetSubjects, t as ExecutionTargetNamespace } from "../../namespace-De6ORL69.mjs";
3
- import { A as ContainerRuntimeSchema, B as SpawnRequest, C as ContainerIsolatedSpawnRequest, D as ContainerLocalWorkflowSpawnRequest, E as ContainerLocalSpawnRequestSchema, F as ContainerState, G as StatusRequestSchema, H as SpawnResponse, I as ContainerStateSchema, J as StopRequest, K as StatusResponse, L as ContainerStopped, M as ContainerSessionRuntimeBindingSchema, N as ContainerStarted, O as ContainerLocalWorkflowSpawnRequestSchema, P as ContainerStartedSchema, R as ContainerStoppedSchema, S as ContainerDestroyedSchema, T as ContainerLocalSpawnRequest, U as SpawnResponseSchema, V as SpawnRequestSchema, W as StatusRequest, X as StopResponse, Y as StopRequestSchema, Z as StopResponseSchema, _ as ContainerConnectorAuthValue, a as DockerSubjects, b as ContainerCreatedSchema, c as ContainerAdapterAuthEnvelopeSchema, d as ContainerBootstrapConfig, f as ContainerBootstrapConfigSchema, g as ContainerConnectorAuthDeliverySchema, h as ContainerConnectorAuthDelivery, i as DockerNamespace, j as ContainerSessionRuntimeBinding, k as ContainerRuntime, l as ContainerAdapterAuthSelector, m as ContainerBootstrapSpawnRequestSchema, n as ContainerSpawnSubjects, o as CONTAINER_BOOTSTRAP_PRIVATE_ENV_VARS, p as ContainerBootstrapSpawnRequest, q as StatusResponseSchema, r as CONTAINER_BOOTSTRAP_CHANNEL_ENDPOINT, s as ContainerAdapterAuthEnvelope, t as ContainerSpawnNamespace, u as ContainerAdapterAuthSelectorSchema, v as ContainerConnectorAuthValueSchema, w as ContainerIsolatedSpawnRequestSchema, x as ContainerDestroyed, y as ContainerCreated, z as CredentialFreeGitRemoteSchema } from "../../index-BdGOOFbD.mjs";
1
+ import { a as ExecutionTargetInputSchema, c as ExecutionTargetResolveRequest, d as ExecutionTargetSchemas, f as ExecutionTargetType, i as ExecutionTargetInput, l as ExecutionTargetResolveRequestSchema, m as LocalExecutionTargetSchema, n as ContainerLocalExecutionTargetSchema, o as ExecutionTargetListQuery, p as ExecutionTargetTypeSchema, r as ExecutionTarget, s as ExecutionTargetListQuerySchema, t as ContainerIsolatedExecutionTargetSchema, u as ExecutionTargetSchema } from "../../schemas-DwqibWUL.mjs";
2
+ import { n as ExecutionTargetSubjects, t as ExecutionTargetNamespace } from "../../namespace-KTRWfIPy.mjs";
3
+ import { A as ContainerRuntimeSchema, B as SpawnRequest, C as ContainerIsolatedSpawnRequest, D as ContainerLocalWorkflowSpawnRequest, E as ContainerLocalSpawnRequestSchema, F as ContainerState, G as StatusRequestSchema, H as SpawnResponse, I as ContainerStateSchema, J as StopRequest, K as StatusResponse, L as ContainerStopped, M as ContainerSessionRuntimeBindingSchema, N as ContainerStarted, O as ContainerLocalWorkflowSpawnRequestSchema, P as ContainerStartedSchema, R as ContainerStoppedSchema, S as ContainerDestroyedSchema, T as ContainerLocalSpawnRequest, U as SpawnResponseSchema, V as SpawnRequestSchema, W as StatusRequest, X as StopResponse, Y as StopRequestSchema, Z as StopResponseSchema, _ as ContainerConnectorAuthValue, a as DockerSubjects, b as ContainerCreatedSchema, c as ContainerAdapterAuthEnvelopeSchema, d as ContainerBootstrapConfig, f as ContainerBootstrapConfigSchema, g as ContainerConnectorAuthDeliverySchema, h as ContainerConnectorAuthDelivery, i as DockerNamespace, j as ContainerSessionRuntimeBinding, k as ContainerRuntime, l as ContainerAdapterAuthSelector, m as ContainerBootstrapSpawnRequestSchema, n as ContainerSpawnSubjects, o as CONTAINER_BOOTSTRAP_PRIVATE_ENV_VARS, p as ContainerBootstrapSpawnRequest, q as StatusResponseSchema, r as CONTAINER_BOOTSTRAP_CHANNEL_ENDPOINT, s as ContainerAdapterAuthEnvelope, t as ContainerSpawnNamespace, u as ContainerAdapterAuthSelectorSchema, v as ContainerConnectorAuthValueSchema, w as ContainerIsolatedSpawnRequestSchema, x as ContainerDestroyed, y as ContainerCreated, z as CredentialFreeGitRemoteSchema } from "../../index-CVh7ZP2I.mjs";
4
4
  export { CONTAINER_BOOTSTRAP_CHANNEL_ENDPOINT, CONTAINER_BOOTSTRAP_PRIVATE_ENV_VARS, ContainerAdapterAuthEnvelope, ContainerAdapterAuthEnvelopeSchema, ContainerAdapterAuthSelector, ContainerAdapterAuthSelectorSchema, ContainerBootstrapConfig, ContainerBootstrapConfigSchema, ContainerBootstrapSpawnRequest, ContainerBootstrapSpawnRequestSchema, ContainerConnectorAuthDelivery, ContainerConnectorAuthDeliverySchema, ContainerConnectorAuthValue, ContainerConnectorAuthValueSchema, ContainerCreated, ContainerCreatedSchema, ContainerDestroyed, ContainerDestroyedSchema, ContainerIsolatedExecutionTargetSchema, ContainerIsolatedSpawnRequest, ContainerIsolatedSpawnRequestSchema, ContainerLocalExecutionTargetSchema, ContainerLocalSpawnRequest, ContainerLocalSpawnRequestSchema, ContainerLocalWorkflowSpawnRequest, ContainerLocalWorkflowSpawnRequestSchema, ContainerRuntime, ContainerRuntimeSchema, ContainerSessionRuntimeBinding, ContainerSessionRuntimeBindingSchema, ContainerSpawnNamespace, ContainerSpawnSubjects, ContainerStarted, ContainerStartedSchema, ContainerState, ContainerStateSchema, ContainerStopped, ContainerStoppedSchema, CredentialFreeGitRemoteSchema, DockerNamespace, DockerSubjects, ExecutionTarget, ExecutionTargetInput, ExecutionTargetInputSchema, ExecutionTargetListQuery, ExecutionTargetListQuerySchema, ExecutionTargetNamespace, ExecutionTargetResolveRequest, ExecutionTargetResolveRequestSchema, ExecutionTargetSchema, ExecutionTargetSchemas, ExecutionTargetSubjects, ExecutionTargetType, ExecutionTargetTypeSchema, LocalExecutionTargetSchema, SpawnRequest, SpawnRequestSchema, SpawnResponse, SpawnResponseSchema, StatusRequest, StatusRequestSchema, StatusResponse, StatusResponseSchema, StopRequest, StopRequestSchema, StopResponse, StopResponseSchema };
@@ -1,2 +1,2 @@
1
- import { n as ExecutionTargetSubjects, t as ExecutionTargetNamespace } from "../../namespace-De6ORL69.mjs";
1
+ import { n as ExecutionTargetSubjects, t as ExecutionTargetNamespace } from "../../namespace-KTRWfIPy.mjs";
2
2
  export { ExecutionTargetNamespace, ExecutionTargetSubjects };
@@ -1,2 +1,2 @@
1
- import { a as ExecutionTargetInputSchema, c as ExecutionTargetResolveRequest, d as ExecutionTargetSchemas, f as ExecutionTargetType, i as ExecutionTargetInput, l as ExecutionTargetResolveRequestSchema, m as LocalExecutionTargetSchema, n as ContainerLocalExecutionTargetSchema, o as ExecutionTargetListQuery, p as ExecutionTargetTypeSchema, r as ExecutionTarget, s as ExecutionTargetListQuerySchema, t as ContainerIsolatedExecutionTargetSchema, u as ExecutionTargetSchema } from "../../schemas-CikbhFMx.mjs";
1
+ import { a as ExecutionTargetInputSchema, c as ExecutionTargetResolveRequest, d as ExecutionTargetSchemas, f as ExecutionTargetType, i as ExecutionTargetInput, l as ExecutionTargetResolveRequestSchema, m as LocalExecutionTargetSchema, n as ContainerLocalExecutionTargetSchema, o as ExecutionTargetListQuery, p as ExecutionTargetTypeSchema, r as ExecutionTarget, s as ExecutionTargetListQuerySchema, t as ContainerIsolatedExecutionTargetSchema, u as ExecutionTargetSchema } from "../../schemas-DwqibWUL.mjs";
2
2
  export { ContainerIsolatedExecutionTargetSchema, ContainerLocalExecutionTargetSchema, ExecutionTarget, ExecutionTargetInput, ExecutionTargetInputSchema, ExecutionTargetListQuery, ExecutionTargetListQuerySchema, ExecutionTargetResolveRequest, ExecutionTargetResolveRequestSchema, ExecutionTargetSchema, ExecutionTargetSchemas, ExecutionTargetType, ExecutionTargetTypeSchema, LocalExecutionTargetSchema };
@@ -10,18 +10,18 @@ declare const FsNamespace: _$_makaio_core0.BusNamespaceDefinition<"fs", {
10
10
  changed: _$zod.ZodObject<{
11
11
  path: _$zod.ZodString;
12
12
  kind: _$zod.ZodEnum<{
13
- change: "change";
14
13
  create: "create";
15
14
  delete: "delete";
15
+ change: "change";
16
16
  }>;
17
17
  }, _$zod_v4_core0.$strip>;
18
18
  batch: _$zod.ZodObject<{
19
19
  changes: _$zod.ZodArray<_$zod.ZodObject<{
20
20
  path: _$zod.ZodString;
21
21
  kind: _$zod.ZodEnum<{
22
- change: "change";
23
22
  create: "create";
24
23
  delete: "delete";
24
+ change: "change";
25
25
  }>;
26
26
  }, _$zod_v4_core0.$strip>>;
27
27
  }, _$zod_v4_core0.$strip>;
@@ -153,18 +153,18 @@ declare const FsSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.FlatSubjec
153
153
  changed: _$zod.ZodObject<{
154
154
  path: _$zod.ZodString;
155
155
  kind: _$zod.ZodEnum<{
156
- change: "change";
157
156
  create: "create";
158
157
  delete: "delete";
158
+ change: "change";
159
159
  }>;
160
160
  }, _$zod_v4_core0.$strip>;
161
161
  batch: _$zod.ZodObject<{
162
162
  changes: _$zod.ZodArray<_$zod.ZodObject<{
163
163
  path: _$zod.ZodString;
164
164
  kind: _$zod.ZodEnum<{
165
- change: "change";
166
165
  create: "create";
167
166
  delete: "delete";
167
+ change: "change";
168
168
  }>;
169
169
  }, _$zod_v4_core0.$strip>>;
170
170
  }, _$zod_v4_core0.$strip>;
@@ -294,18 +294,18 @@ declare const FileSystemSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fl
294
294
  changed: _$zod.ZodObject<{
295
295
  path: _$zod.ZodString;
296
296
  kind: _$zod.ZodEnum<{
297
- change: "change";
298
297
  create: "create";
299
298
  delete: "delete";
299
+ change: "change";
300
300
  }>;
301
301
  }, _$zod_v4_core0.$strip>;
302
302
  batch: _$zod.ZodObject<{
303
303
  changes: _$zod.ZodArray<_$zod.ZodObject<{
304
304
  path: _$zod.ZodString;
305
305
  kind: _$zod.ZodEnum<{
306
- change: "change";
307
306
  create: "create";
308
307
  delete: "delete";
308
+ change: "change";
309
309
  }>;
310
310
  }, _$zod_v4_core0.$strip>>;
311
311
  }, _$zod_v4_core0.$strip>;
@@ -5,9 +5,9 @@ import { z } from "zod";
5
5
  * File change kind.
6
6
  */
7
7
  declare const FsChangeKindSchema: z.ZodEnum<{
8
- change: "change";
9
8
  create: "create";
10
9
  delete: "delete";
10
+ change: "change";
11
11
  }>;
12
12
  type FsChangeKind = z.infer<typeof FsChangeKindSchema>;
13
13
  /**
@@ -16,9 +16,9 @@ type FsChangeKind = z.infer<typeof FsChangeKindSchema>;
16
16
  declare const FsChangedSchema: z.ZodObject<{
17
17
  path: z.ZodString;
18
18
  kind: z.ZodEnum<{
19
- change: "change";
20
19
  create: "create";
21
20
  delete: "delete";
21
+ change: "change";
22
22
  }>;
23
23
  }, z.core.$strip>;
24
24
  type FsChanged = z.infer<typeof FsChangedSchema>;
@@ -29,9 +29,9 @@ declare const FsBatchSchema: z.ZodObject<{
29
29
  changes: z.ZodArray<z.ZodObject<{
30
30
  path: z.ZodString;
31
31
  kind: z.ZodEnum<{
32
- change: "change";
33
32
  create: "create";
34
33
  delete: "delete";
34
+ change: "change";
35
35
  }>;
36
36
  }, z.core.$strip>>;
37
37
  }, z.core.$strip>;