@makaio/framework 1.0.0-dev-1779046984397 → 1.0.0-dev-1779051654000
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -315
- package/dist/{account-identity-Ce1Bwrqi.mjs → account-identity-Bg_vKkcs.mjs} +1 -1
- package/dist/{adapter-CbyjCE2d.mjs → adapter-CpF2aK_-.mjs} +1 -1
- package/dist/adapters/config/index.d.mts +1 -1
- package/dist/adapters/config/index.mjs +1 -1
- package/dist/adapters/index.d.mts +2 -2
- package/dist/adapters/index.mjs +1 -1
- package/dist/adapters/node.d.mts +1 -1
- package/dist/adapters/node.mjs +1 -1
- package/dist/client-DMWXCWhM.mjs +1 -0
- package/dist/clients/index.d.mts +122 -347
- package/dist/clients/index.mjs +2 -1
- package/dist/{clients-namespace-B0xAPZ6J.d.mts → clients-namespace-UHj5wt-l.d.mts} +7 -7
- package/dist/contracts/adapter/index.d.mts +2 -2
- package/dist/contracts/adapter/index.mjs +1 -1
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
- package/dist/contracts/client/index.d.mts +3 -3
- package/dist/contracts/client/index.mjs +1 -1
- package/dist/contracts/common/index.d.mts +1 -1
- package/dist/contracts/config/index.d.mts +6 -6
- package/dist/contracts/config/index.mjs +1 -1
- package/dist/contracts/extension/index.d.mts +2 -2
- package/dist/contracts/extension/index.mjs +1 -1
- package/dist/contracts/harness/index.d.mts +1 -1
- package/dist/contracts/harness/index.mjs +1 -1
- package/dist/contracts/host/index.mjs +1 -1
- package/dist/contracts/index.d.mts +64 -63
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/model-registry/index.mjs +1 -1
- package/dist/contracts/native-session-supervisor/index.mjs +1 -1
- package/dist/contracts/platform/index.mjs +1 -1
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/contracts/session/index.mjs +1 -1
- package/dist/contracts/shared/index.d.mts +1 -1
- package/dist/contracts/shared/index.mjs +1 -1
- package/dist/contracts/skill/index.mjs +1 -1
- package/dist/contracts/timeout/index.d.mts +2 -0
- package/dist/contracts/timeout/index.mjs +1 -0
- package/dist/contracts/toast/index.mjs +1 -1
- package/dist/contracts/variant/index.mjs +1 -1
- package/dist/{definition-DxvZ9e22.d.mts → definition-DB7bbFSa.d.mts} +84 -91
- package/dist/{extension-COqwS-2Q.mjs → extension-53GerdGg.mjs} +1 -1
- package/dist/extension-fJmv8Yri.mjs +1 -0
- package/dist/{handlers-iGKUJ380.mjs → handlers-DR_4_rAT.mjs} +1 -1
- package/dist/{harness-CEq1Zkf9.mjs → harness-B6lGP9rm.mjs} +1 -1
- package/dist/{index-DBQtpFLE.d.mts → index-BnSQE7z7.d.mts} +3 -3
- package/dist/{index-CVA0m1g9.d.mts → index-CnmPtjnA.d.mts} +4 -4
- package/dist/{index-hapw9_En.d.mts → index-Cq8B7cwK.d.mts} +67 -67
- package/dist/{index-BJOfdtbw.d.mts → index-DGTFJB_8.d.mts} +3 -3
- package/dist/{index-DubqLGH8.d.mts → index-DaEp4UWW.d.mts} +56 -62
- package/dist/{index-C9F3Fc1A.d.mts → index-DwCA1HWa.d.mts} +133 -79
- package/dist/index-E8d_RwaF.d.mts +28 -0
- package/dist/{index-BB419vv-.d.mts → index-e5C62_M3.d.mts} +31 -11
- package/dist/{index-Bv15sNLn.d.mts → index-sBob9D25.d.mts} +1 -1
- package/dist/{index-BAKM2GMH2.d.mts → index-tKvu34DJ2.d.mts} +6 -6
- package/dist/{index-BdPwu6c0.d.mts → index-yvN8UcEH.d.mts} +110 -110
- package/dist/kernel/cli/index.mjs +1 -1
- package/dist/kernel/cli/schemas.mjs +1 -1
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/extension/index.mjs +1 -1
- package/dist/kernel/index.d.mts +2 -2
- package/dist/kernel/index.mjs +1 -1
- package/dist/kernel/namespace/index.mjs +1 -1
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/kernel/observability/index.mjs +1 -1
- package/dist/kernel/providers/index.mjs +1 -1
- package/dist/kernel/window/index.mjs +1 -1
- package/dist/{namespace-CkLUtc0g.d.mts → namespace-B1E57soL.d.mts} +22 -22
- package/dist/{namespace-bq4Prtzn.d.mts → namespace-B5ZCshBw.d.mts} +75 -75
- package/dist/{namespace-CCDEOwmW.d.mts → namespace-BCRNwPnw.d.mts} +6 -6
- package/dist/{namespace-ptv-pw_g.d.mts → namespace-BKrV_2gZ.d.mts} +9 -9
- package/dist/{namespace-O5SNY-LV.d.mts → namespace-BpIE-jQW.d.mts} +14 -14
- package/dist/{namespace-8cNguvIp.mjs → namespace-DGMO2E8f.mjs} +1 -1
- package/dist/{namespace-FWx6HxaW.d.mts → namespace-DXnMk3U8.d.mts} +14 -14
- package/dist/{namespace-xkvVw3hf2.d.mts → namespace-DwCyOaZn2.d.mts} +2 -2
- package/dist/{namespace-C2ufjgaQ.d.mts → namespace-Ysg1N6rR.d.mts} +24 -24
- package/dist/{native-session-supervisor-L-UIaEfd.mjs → native-session-supervisor-zPt624Tp.mjs} +1 -1
- package/dist/node/bus-server/index.d.mts +1 -1
- package/dist/node/bus-server/index.mjs +1 -1
- package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
- package/dist/node/bus-server/server-lifecycle.mjs +1 -1
- package/dist/{orchestrator-shared-Wv1GI2mW.mjs → orchestrator-shared-D2txLAUs.mjs} +1 -1
- package/dist/profile-Cq4A7kQa.mjs +1 -0
- package/dist/{provider-context-CNRQ4d5m.mjs → provider-context-BB4eD8ON.mjs} +1 -1
- package/dist/{schema-BwzXEtT2.d.mts → schema-B295yplx.d.mts} +1 -1
- package/dist/{schema-CAw_BqaG.mjs → schema-C4iznV0q.mjs} +1 -1
- package/dist/{schema-introspection-D61TT_7b.mjs → schema-introspection-DCYC47_d.mjs} +1 -1
- package/dist/{schemas-BdMU-gew.d.mts → schemas-BWvuaL0w.d.mts} +4 -4
- package/dist/{schemas-D9108Iv1.d.mts → schemas-BfMZAwff.d.mts} +7 -7
- package/dist/{schemas-BXstpWVp.mjs → schemas-Bn8aqDIE.mjs} +1 -1
- package/dist/{schemas-qmn5SWPU.d.mts → schemas-C31qbb0s.d.mts} +4 -4
- package/dist/{schemas-DbWs_hj8.d.mts → schemas-DYqKRNju.d.mts} +3 -3
- package/dist/{schemas-DENVYyds.d.mts → schemas-Ra8pz5M-.d.mts} +14 -14
- package/dist/services/adapter-runtime/index.mjs +1 -1
- package/dist/services/adapter-subsystem/index.d.mts +2 -2
- package/dist/services/adapter-subsystem/index.mjs +1 -1
- package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
- package/dist/services/adapter-subsystem/namespace.mjs +1 -1
- package/dist/services/capability/index.mjs +1 -1
- package/dist/services/context-rules/index.mjs +1 -1
- package/dist/services/execution-target/index.d.mts +3 -3
- package/dist/services/execution-target/index.mjs +1 -1
- package/dist/services/execution-target/namespace.d.mts +1 -1
- package/dist/services/execution-target/schemas.d.mts +1 -1
- package/dist/services/filesystem/namespace.d.mts +6 -6
- package/dist/services/filesystem/schemas.d.mts +3 -3
- package/dist/services/harness/index.d.mts +34 -34
- package/dist/services/harness/index.mjs +1 -1
- package/dist/services/harness/storage/schema.d.mts +4 -4
- package/dist/services/index.d.mts +70 -71
- package/dist/services/index.mjs +1 -1
- package/dist/services/log-import/log-import.mjs +1 -1
- package/dist/services/log-import/namespace.mjs +1 -1
- package/dist/services/log-import/schemas.mjs +1 -1
- package/dist/services/model-registry/index.mjs +1 -1
- package/dist/services/preferences/index.d.mts +2 -2
- package/dist/services/preferences/schemas.d.mts +1 -1
- package/dist/services/preferences/storage-namespace.d.mts +2 -2
- package/dist/services/provider-context/index.mjs +1 -1
- package/dist/services/provider-runtime/index.mjs +1 -1
- package/dist/services/session/handlers/index.mjs +1 -1
- package/dist/services/session/index.d.mts +7 -7
- package/dist/services/session/index.mjs +1 -1
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/messages/namespace.mjs +1 -1
- package/dist/services/session/orchestrator-testing/index.mjs +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/session-events/namespace.mjs +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/session/testing/index.mjs +1 -1
- package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
- package/dist/services/session/turns/namespace.d.mts +1 -1
- package/dist/services/session/turns/namespace.mjs +1 -1
- package/dist/services/session-editor/index.mjs +1 -1
- package/dist/services/settings/index.d.mts +1 -1
- package/dist/services/settings/index.mjs +1 -1
- package/dist/services/settings/namespace.d.mts +9 -9
- package/dist/services/settings/namespace.mjs +1 -1
- package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
- package/dist/services/settings/storage/clients-namespace.mjs +1 -1
- package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
- package/dist/services/settings/storage/index.d.mts +1 -1
- package/dist/services/settings/storage/index.mjs +1 -1
- package/dist/services/settings/storage/providers-namespace.mjs +1 -1
- package/dist/services/tool-approval/index.mjs +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/services/tray-menu/index.d.mts +2 -2
- package/dist/services/tray-menu/index.mjs +1 -1
- package/dist/services/tray-menu/namespace.d.mts +1 -1
- package/dist/services/tray-menu/schemas.d.mts +1 -1
- package/dist/services/turn/index.d.mts +1 -1
- package/dist/services/turn/namespace.d.mts +1 -1
- package/dist/services/turn/schemas.d.mts +11 -11
- package/dist/services/worker/index.d.mts +1 -1
- package/dist/services/worker/schemas.d.mts +1 -1
- package/dist/{session-piI1R5rP.mjs → session-BCSf-Fgj.mjs} +1 -1
- package/dist/{session-Do6lDZM4.mjs → session-BNo_cIiz.mjs} +1 -1
- package/dist/{shared-DxHLl9UP.mjs → shared-BhuSHZXH.mjs} +1 -1
- package/dist/{skill-CB5h-ZFQ.mjs → skill-20_SBXaI.mjs} +1 -1
- package/dist/storage/handlers/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/index.mjs +1 -1
- package/dist/{storage-namespace-DAm8iWEj.d.mts → storage-namespace-DoH-Wkjp.d.mts} +10 -10
- package/dist/timeout-D33CUZ0M.mjs +1 -0
- package/dist/{tool-approval-service-BcBSUZCO.mjs → tool-approval-service-CZCPfvVy.mjs} +1 -1
- package/dist/{tools-CDSgj0ee.mjs → tools-Cid9D99F.mjs} +1 -1
- package/dist/{types-BjToUrHp.d.mts → types--nrtGZ1V.d.mts} +24 -24
- package/dist/ui-kernel/index.d.mts +4 -4
- package/dist/ui-kernel/pages/namespace.d.mts +4 -4
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/package.json +5 -1
- package/dist/client-Dh4x4GQN.mjs +0 -1
- package/dist/extension-Cbrl4YGX.mjs +0 -1
- package/dist/index-CNxS4Tlu.d.mts +0 -1
- package/dist/profile-4StaDQW0.mjs +0 -1
- package/dist/schemas-CGZy_rU6.d.mts +0 -13
- /package/dist/{base-orchestrator-9z8TuA5a.d.mts → base-orchestrator-BOAPgqF7.d.mts} +0 -0
- /package/dist/{capability-service-tnpR_TaB.mjs → capability-service-DV32ecwR.mjs} +0 -0
- /package/dist/{cleanEnvForAdapter-DvcIGXTG.mjs → cleanEnvForAdapter-hTPNvPU5.mjs} +0 -0
- /package/dist/{config-namespace-DLSs83zr.d.mts → config-namespace-ChZOpi1W.d.mts} +0 -0
- /package/dist/{config-namespace-MJT8P0Ud.mjs → config-namespace-wJ2CakDB.mjs} +0 -0
- /package/dist/{cursor-storage-DOQdvo9j.mjs → cursor-storage-BoNI7OAR.mjs} +0 -0
- /package/dist/{drizzle-CWVVw7Er.mjs → drizzle-Bn2GtW8c.mjs} +0 -0
- /package/dist/{execution-target-BW_uiBVe.mjs → execution-target-D6MgthYs.mjs} +0 -0
- /package/dist/{extension-namespace-zaGKi6Qj.mjs → extension-namespace-CTd9kOtt.mjs} +0 -0
- /package/dist/{host-CXAUGGN0.mjs → host-CvEht5RT.mjs} +0 -0
- /package/dist/{identity-B_A0mE63.mjs → identity-DBST3-XO.mjs} +0 -0
- /package/dist/{index-PdUSmPT2.d.mts → index-D2jejYlV.d.mts} +0 -0
- /package/dist/{index-T0471kWA.d.mts → index-DQWMu5fS.d.mts} +0 -0
- /package/dist/{model-registry-CIscwC52.mjs → model-registry-Dzpssh9j.mjs} +0 -0
- /package/dist/{model-registry-BNzpR6TU.mjs → model-registry-xINyxQUT.mjs} +0 -0
- /package/dist/{namespace-Bmc7AW4J2.mjs → namespace-C_h7scWx2.mjs} +0 -0
- /package/dist/{namespace-N0dfwSg6.mjs → namespace-DBw9BYr8.mjs} +0 -0
- /package/dist/{namespace-pNcSglBS.mjs → namespace-DUVgMfTR.mjs} +0 -0
- /package/dist/{namespace-0yuzAKlr.mjs → namespace-OwAf1Brw.mjs} +0 -0
- /package/dist/{namespace-CfEWMXBx.mjs → namespace-Zb8HAbyF.mjs} +0 -0
- /package/dist/{namespace-Db-p67Rg.mjs → namespace-aALq9tnE.mjs} +0 -0
- /package/dist/{namespace-D5Wrt7YU.mjs → namespace-yxIxUsjo.mjs} +0 -0
- /package/dist/{platform-BbSLVg5b.mjs → platform-BMFUpmTA.mjs} +0 -0
- /package/dist/{providers-Cr4Za8a1.mjs → providers-DhiW_fx4.mjs} +0 -0
- /package/dist/{schema-uSGW-6oM.mjs → schema-D3ZG13h9.mjs} +0 -0
- /package/dist/{schemas-C40ZAJ33.mjs → schemas-CEBe89yE.mjs} +0 -0
- /package/dist/{schemas-Co_sVhzz.mjs → schemas-COnLJnt_.mjs} +0 -0
- /package/dist/{schemas-CLxtoKFy.mjs → schemas-CrnlCRep.mjs} +0 -0
- /package/dist/{server-lifecycle-Cf_SZ27k.d.mts → server-lifecycle-BC6FRn86.d.mts} +0 -0
- /package/dist/{server-lifecycle-DbFwlrTW.mjs → server-lifecycle-Dx5WgfoS.mjs} +0 -0
- /package/dist/{session-lineage-Eev4uo4I.d.mts → session-lineage-B0cpHfuc.d.mts} +0 -0
- /package/dist/{shared-schemas-BgQv_tnu.mjs → shared-schemas-Byah36lG.mjs} +0 -0
- /package/dist/{storage-namespace-ADwyijoe.mjs → storage-namespace-BIDs9LPb.mjs} +0 -0
- /package/dist/{storage-namespace-definition-CHu2k14q.mjs → storage-namespace-definition-BjK9nZAN.mjs} +0 -0
- /package/dist/{tray-menu-service-CTXC1Elg.mjs → tray-menu-service-BAYtLdAg.mjs} +0 -0
- /package/dist/{types-CD1LJwPc.d.mts → types-C11LvekX.d.mts} +0 -0
- /package/dist/{ui-config-CXmbsqZV.mjs → ui-config-zawaoEfB.mjs} +0 -0
- /package/dist/{variant-D5kSrL3m.mjs → variant-BZWfmS0q.mjs} +0 -0
- /package/dist/{version-CjS20oXi.mjs → version-D8S4O22A.mjs} +0 -0
- /package/dist/{window-registry-CUftmDr3.mjs → window-registry-B_-hBEcV.mjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./window-registry-CUftmDr3.mjs";import{o as t,t as n}from"./schema-introspection-D61TT_7b.mjs";import{n as r}from"./extension-namespace-zaGKi6Qj.mjs";import{z as i}from"zod";import a from"node:path";import{createBusNamespace as o}from"@makaio/framework/core";import{ProviderDefinitionSchema as s,versionSatisfies as c}from"@makaio/framework/contracts";import{ToastSubjects as l}from"@makaio/framework/contracts/toast";import{ExtensionWarningSchema as u,getExtensionWarningActionLabel as d}from"@makaio/framework/contracts/extension";import{TrayMenuSubjects as f}from"@makaio/framework/services/tray-menu";const p=i.object({name:i.string(),displayName:i.string()}),m=o(`kernel:boot`,{getState:{request:i.object({}),response:i.object({complete:i.boolean(),completedCount:i.number(),totalCount:i.number(),currentService:i.string().optional(),failedServices:i.array(i.string()),skippedServices:i.array(i.string()).default([]),totalDurationMs:i.number().optional()})},"service.starting":p,"service.ready":p.extend({durationMs:i.number().int().nonnegative()}),"service.failed":p.extend({errorMessage:i.string()}),"service.skipped":p.extend({reason:i.string()}),progress:i.object({completedCount:i.number(),totalCount:i.number(),currentService:i.string().optional()}),complete:i.object({totalDurationMs:i.number(),failedServices:i.array(i.string())})}),h=m.subjects;var g=class extends Error{reason;constructor(e){super(e),this.name=`ServiceSkipError`,this.reason=e}},_=class{bus;state;cleanup;constructor(e,t){this.bus=e,this.state={complete:!1,completedCount:0,totalCount:t,failedServices:[],skippedServices:[],startedAt:Date.now()},this.cleanup=this.bus.on(h.getState,e=>{e.setResult({complete:this.state.complete,completedCount:this.state.completedCount,totalCount:this.state.totalCount,...this.state.currentService===void 0?{}:{currentService:this.state.currentService},failedServices:[...this.state.failedServices],skippedServices:[...this.state.skippedServices],...this.state.totalDurationMs===void 0?{}:{totalDurationMs:this.state.totalDurationMs}})})}dispose(){this.cleanup()}starting(e){this.state.currentService=e.displayName,this.state.currentServiceStartedAt=Date.now(),this.bus.emit(h.service.starting,e).catch(t=>{console.warn(`[ExtensionCoordinator] boot.service.starting emit failed for "${e.name}":`,t)})}ready(e){this.state.completedCount+=1;let t=this.state.currentServiceStartedAt===void 0?0:Math.max(0,Date.now()-this.state.currentServiceStartedAt);this.bus.emit(h.service.ready,{...e,durationMs:t}).catch(t=>{console.warn(`[ExtensionCoordinator] boot.service.ready emit failed for "${e.name}":`,t)}),this.emitProgress()}failed(e,t){this.state.completedCount+=1,this.state.failedServices.push(e.name),this.bus.emit(h.service.failed,{...e,errorMessage:t}).catch(t=>{console.warn(`[ExtensionCoordinator] boot.service.failed emit failed for "${e.name}":`,t)}),this.emitProgress()}skipped(e,t){this.state.completedCount+=1,this.state.skippedServices.push(e.name),this.bus.emit(h.service.skipped,{...e,reason:t}).catch(t=>{console.warn(`[ExtensionCoordinator] boot.service.skipped emit failed for "${e.name}":`,t)}),this.emitProgress()}complete(){this.state.complete=!0,delete this.state.currentService,delete this.state.currentServiceStartedAt,this.state.totalDurationMs=Date.now()-this.state.startedAt,this.bus.emit(h.complete,{totalDurationMs:this.state.totalDurationMs,failedServices:[...this.state.failedServices]}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.complete emit failed:`,e)})}emitProgress(){this.bus.emit(h.progress,{completedCount:this.state.completedCount,totalCount:this.state.totalCount,...this.state.currentService===void 0?{}:{currentService:this.state.currentService}}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.progress emit failed:`,e)})}};function ee(e){return{subject:`wiring.apply`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1,payload:{request:{},response:{}}}}}const v=`action`;function y(e,t){return`${e}:${t}`}function te(e,t,n){return e.on(l.interacted,r=>{let{toastId:i,actionId:a}=r.payload,o=y(i,a),s=t.get(o);s&&b(e,s,i,n).catch(e=>{console.error(`[ExtensionCoordinator] Warning action dispatch failed for toast "${i}":`,e)})})}async function b(e,t,n,r){switch(t.kind){case`configure-integration`:await S(e,t.clientId,n,r);break;case`open-url`:console.info(`[ExtensionCoordinator] Toast "${n}" open-url action not routable from runtime layer: ${t.url}`);break;case`run-command`:console.info(`[ExtensionCoordinator] Toast "${n}" run-command action not routable from runtime layer: ${t.command}`);break;case`install-extension`:console.info(`[ExtensionCoordinator] Toast "${n}" install-extension action not routable from runtime layer: ${t.extensionName}`);break;default:x(t)}}function x(e){throw Error(`[ExtensionCoordinator] Unsupported warning action: ${JSON.stringify(e)}`)}async function S(e,t,n,r){let i=ee(t),a=await e.requestOptional(i,{scope:`user`,makaioCommand:r});if(!a.handled){console.warn(`[ExtensionCoordinator] Toast "${n}" configure-integration: no wiring handler for client "${t}". Is the client package loaded?`);return}let{applied:o,skipped:s}=a.data;console.info(`[ExtensionCoordinator] Toast "${n}" configure-integration: wired client "${t}" — ${o} applied, ${s} skipped.`)}function C(e){return e.map(e=>({name:e.name,description:e.description,hasInteractive:!!e.interactive,subcommands:e.subcommands.map(e=>({name:e.name,description:e.description,args:n(e.schema)}))}))}async function w(e,t,n){let{command:r,subcommand:i,args:a}=e,o=t.find(e=>e.name===r);if(!o)return{exitCode:1,stdout:[],stderr:[`Unknown command: ${r}`]};let s=o.subcommands.find(e=>e.name===i);if(!s)return{exitCode:1,stdout:[],stderr:[`Unknown subcommand: ${i}`]};let c=s.schema.safeParse(a??{});if(!c.success)return{exitCode:1,stdout:[],stderr:[`Validation failed:`,...c.error.issues.map(e=>` ${e.path.join(`.`)||`(root)`}: ${e.message}`)]};if(o.beforeRun)try{let e=await o.beforeRun({subcommandName:i,args:c.data??{},bus:n});if(!e.proceed)return{exitCode:e.exitCode??1,stdout:[],stderr:[e.message]}}catch(e){return{exitCode:1,stdout:[],stderr:[`beforeRun hook failed: ${e instanceof Error?e.message:String(e)}`]}}let l=[],u=[],d={write:e=>l.push(e),error:e=>u.push(e)},f=0,p=new AbortController().signal;try{await s.handler({args:c.data,bus:n,output:d,signal:p,setExitCode:e=>{f=e}})}catch(e){f===0&&(f=1),u.push(e instanceof Error?e.message:String(e))}return{exitCode:f,stdout:l,stderr:u}}function T(e){let{pkg:t,state:n,error:r,enabled:i}=e;return{name:t.name,displayName:t.displayName,state:n,...t.surface===void 0?{}:{surface:t.surface},enabled:i,...t.browser===void 0?{}:{browser:t.browser},...r===void 0?{}:{error:r}}}function E(e){let n=[];return n.push(e.bus.on(r.list,t=>{t.setResult({extensions:e.list()})})),n.push(e.bus.on(r.get,t=>{let n=e.entries.get(t.payload.name);t.setResult({extension:n?T(n):null})})),n.push(e.bus.on(r.setEnabled,async t=>{let n=await e.handleSetEnabled(t.payload.name,t.payload.enabled);t.setResult({success:n})})),n.push(e.bus.on(r.contributions.catalog,t=>{let n=[],r=[];for(let[t,i]of e.entries)if(i.state===`active`){for(let e of i.pkg.providers??[])n.push({packageName:t,definition:s.parse(e)});for(let e of i.pkg.clients??[])r.push({packageName:t,definition:e})}t.setResult({providers:n,clients:r})})),n.push(e.bus.on(t.listContributions,t=>{t.setResult({contributions:C(e.cliContributions)})})),n.push(e.bus.on(t.execute,async t=>{t.setResult(await w(t.payload,e.cliContributions,e.bus))})),n.push(e.bus.on(r.warnings.list,t=>{let{extensionName:n}=t.payload;if(n!==void 0){let r=e.entries.get(n),i=r&&r.warnings.length>0?[{extensionName:n,warnings:[...r.warnings]}]:[];t.setResult({entries:i});return}let r=[];for(let[t,n]of e.entries)n.warnings.length>0&&r.push({extensionName:t,warnings:[...n.warnings]});t.setResult({entries:r})})),n}async function ne(e){for(let[t,n]of e.entries)n.state===`active`&&await O(e,t,n)}function re(e){if(e&&D(e))return[{id:v,label:d(e)}]}function D(e){return e.kind===`configure-integration`}function ie(e,t){let n=`${t}:`;for(let t of e.keys())t.startsWith(n)&&e.delete(t)}async function O(e,t,n){ie(e.warningActionMap,t);let r=n.warnings.filter(e=>e.severity===`degraded`);if(r.length!==0)for(let i=0;i<r.length;i++){let a=r[i];console.warn(`[${t}] ⚠ ${a.title}: ${a.message}`);let o=`${t}:${a.title}:${i}`,s=re(a.action);try{await e.bus.emit(l.show,{level:`warning`,title:a.title,message:`${n.pkg.displayName}: ${a.message}`,toastId:o,durationMs:null,...s&&{actions:s}}),a.action&&D(a.action)&&e.warningActionMap.set(y(o,v),a.action)}catch(e){console.warn(`[${t}] toast emission failed for warning "${a.title}":`,e)}}}function ae(e){return Object.freeze({extensionName:e})}function oe(e,t,n,r){if(!t)return;let i={...n??{},...r??{}};try{return t.parse(i)}catch(n){console.warn(`[ExtensionCoordinator] Config parse failed for "${e}", starting with schema defaults:`,n instanceof Error?n.message:n);try{return t.parse({})}catch{console.warn(`[ExtensionCoordinator] Fallback config parse also failed for "${e}" — config will be absent`);return}}}function k(e,t,n){let r;if(n.pkg.configSchema)try{r=e.loadConfig?.(t)}catch(e){console.error(`[ExtensionCoordinator] loadConfig threw for "${t}":`,e)}return oe(t,n.pkg.configSchema,n.configDefaults,r)}function A(e,t,n){if(!e.extensionContextBase)throw Error(`ExtensionCoordinator: extensionContextBase is required to start extensions with a create factory. Provide it via the constructor.`);return{...e.extensionContextBase,bus:e.bus,identity:t.identity,dataDir:a.join(e.extensionContextBase.makaioHome,t.identity.extensionName),getService:t=>e.getExtensionService(t.name),signal:e.signal,hasExtension:e.hasActiveExtension,...n===void 0?{}:{config:n}}}function j(e){return{adapters:!!e.adapters?.length,tools:!!e.tools,triggers:!!e.triggers,providers:!!e.providers?.length,clients:!!e.clients?.length,ui:!!e.ui,storage:!!e.storage,sessionEventActions:!!e.sessionEventActions}}function M(e,t,n){let i=t.state;t.state=n,e.emit(r.stateChanged,{name:t.pkg.name,displayName:t.pkg.displayName,from:i,to:n,...t.error===void 0?{}:{error:t.error},contributes:j(t.pkg)}).catch(e=>{console.error(`[ExtensionCoordinator] stateChanged emit failed for "${t.pkg.name}":`,e)})}async function N(e,t,n,r,i){i===`activated`?await P(e,t,n,r):await F(e,n)}async function P(e,t,n,r){let i=[];try{for(let a of e){if(a.filter&&!a.filter(r.pkg))continue;let e=A(t,r,k(t,n,r));await a.processActivated(n,r.pkg,e),i.push(a)}}catch(e){for(let e of i.reverse())if(e.processStopped)try{await e.processStopped(n)}catch(e){console.error(`[ExtensionCoordinator] Contribution processor rollback error for "${n}":`,e)}throw e}}async function F(e,t){for(let n of[...e].reverse())if(n.processStopped)try{await n.processStopped(t)}catch(e){console.error(`[ExtensionCoordinator] Contribution processor error (stopped) for "${t}":`,e)}}async function I(e,t,n){let i=e.entries.get(t);if(!i)return!1;let a=n?await L(e,t,i):await R(e,t,i),o=i.enabled===n;return!a&&!o||(await e.persistEnabled?.(t,n),!a)?!1:(e.bus.emit(r.enabledChanged,{name:t,enabled:n}).catch(e=>{console.error(`[ExtensionCoordinator] enabledChanged emit failed for "${t}":`,e)}),!0)}async function L(e,t,n){if(n.state!==`stopped`&&n.state!==`failed`&&n.state!==`skipped`)return!1;let{pkg:r}=n,i,a=(r.dependencies??[]).filter(t=>{if(t.optional)return!1;let n=e.entries.get(t.name);return!n||n.state!==`active`});if(a.length>0)return n.error=`Required dependencies not active: ${a.map(e=>e.name).join(`, `)}`,console.error(`[ExtensionCoordinator] Cannot re-enable "${t}":`,n.error),M(e.bus,n,`failed`),!1;n.enabled=!0,n.error=void 0,M(e.bus,n,`initializing`);let o=k(e,t,n);if(r.storage?.registerHandlers&&e.db!==void 0)try{let t=A(e,n,o),a=r.storage.registerHandlers(e.bus,e.db,t);typeof a==`function`&&(i=a,n.storageCleanup=a)}catch(r){return n.error=r instanceof Error?r.message:String(r),console.error(`[ExtensionCoordinator] Extension "${t}" storage re-registration failed:`,r),M(e.bus,n,`failed`),!1}if(r.create){let a;try{let t=A(e,n,o);a=await r.create(t),await a.init?.(),n.service=a}catch(r){return await z(t,a,i,n),r instanceof g?n.pkg.critical?(n.error=`Critical extension cannot skip startup: ${r.reason}`,console.error(`[ExtensionCoordinator] Extension "${t}" failed to re-initialize:`,n.error),M(e.bus,n,`failed`),!1):(n.error=r.reason,M(e.bus,n,`skipped`),!1):(n.error=r instanceof Error?r.message:String(r),console.error(`[ExtensionCoordinator] Extension "${t}" failed to re-initialize:`,r),M(e.bus,n,`failed`),!1)}}try{await N(e.contributionProcessors,e,t,n,`activated`)}catch(r){return await z(t,n.service,i,n),n.service=void 0,n.error=r instanceof Error?r.message:String(r),console.error(`[ExtensionCoordinator] Extension "${t}" contribution processing failed:`,r),M(e.bus,n,`failed`),!1}return M(e.bus,n,`active`),await e.runHealthCheck(t),await e.emitWarningsForEntry(t,n),!0}async function R(e,t,n){if(n.state!==`active`)return!1;let i=Array.from(e.entries.entries()).filter(([e,n])=>e===t||n.state!==`active`?!1:n.pkg.dependencies?.some(e=>!e.optional&&e.name===t)??!1).map(([e])=>e);if(i.length>0)return n.error=`Cannot disable "${t}" while active dependents remain: ${i.join(`, `)}`,console.error(`[ExtensionCoordinator] ${n.error}`),!1;if(n.enabled=!1,n.error=void 0,await N(e.contributionProcessors,e,t,n,`stopped`),n.service)try{await n.service.destroy?.()}catch(e){console.error(`[ExtensionCoordinator] Error during disable destroy of "${t}":`,e)}finally{n.service=void 0}if(n.storageCleanup)try{n.storageCleanup()}catch(e){console.error(`[ExtensionCoordinator] Storage cleanup error during disable of "${t}":`,e)}finally{n.storageCleanup=void 0}M(e.bus,n,`stopped`),n.warnings=[];try{await e.bus.emit(r.warnings.changed,{extensionName:t,warnings:[]})}catch(e){console.error(`[ExtensionCoordinator] warnings.changed emit failed for "${t}":`,e)}return!0}async function z(e,t,n,r){try{await t?.destroy?.()}catch(t){console.error(`[ExtensionCoordinator] Service cleanup error after failed enable of "${e}":`,t)}try{n?.()}catch(t){console.error(`[ExtensionCoordinator] Storage cleanup error after failed enable of "${e}":`,t)}finally{r.storageCleanup=void 0}}function B(e){let t=new Map;for(let n of e)t.has(n.name)&&(console.info(`[ExtensionCoordinator] Extension "${n.name}" overrides an earlier registration`),t.delete(n.name)),t.set(n.name,n);return[...t.values()]}function V(e,t,n){let r=new Set(e.map(e=>e.name)),i=e.filter(e=>H(e,t,n)),a=new Map(i.map(e=>[e.name,e])),o=new Set(a.keys()),s=!0;for(;s;){s=!1;for(let e of o)(a.get(e).dependencies??[]).some(e=>!e.optional&&r.has(e.name)&&!o.has(e.name))&&(o.delete(e),s=!0)}return i.filter(e=>o.has(e.name))}function H(e,t,n){if(!W(e,t))return!1;let r=e.requires;return!r||r.length===0||!n?!0:r.every(e=>{switch(e.type){case`host`:return n.hosts.has(e.id);case`capability`:return n.capabilities.has(e.id)?e.version===void 0?!0:U(n,e.id,e.version):!1}})}function U(e,t,n){let r=e.capabilityVersions?.get(t);return r!==void 0&&c(r,n)}function W(e,t){return e.surface===void 0||e.surface===`any`||e.surface===t}function G(e){let t=K(e);return q(e,t,new Map(e.map(e=>[e.name,e]))),le(t,ce(e,t))}function K(e){let t=new Set;for(let n of e){if(t.has(n.name))throw Error(`ExtensionCoordinator: duplicate package name detected: "${n.name}"`);t.add(n.name)}return t}function q(e,t,n){for(let r of e)se(r,t,n)}function se(e,t,n){let r=e.dependencies??[],i=r.filter(e=>!e.optional&&!t.has(e.name));if(i.length>0)throw Error(`ExtensionCoordinator: package "${e.name}" declares missing dependencies: ${i.map(e=>e.name).join(`, `)}`);for(let t of r){let r=n.get(t.name);if(r===void 0)continue;let i=r.version;if(!c(i,t.version))throw Error(`ExtensionCoordinator: package "${e.name}" dependency "${t.name}" version ${i} does not satisfy ${t.version}`)}}function ce(e,t){let n=new Map;for(let r of e){let e=(r.dependencies??[]).filter(e=>t.has(e.name)).map(e=>e.name);n.set(r.name,new Set(e))}return n}function le(e,t){let n=[];for(let[e,r]of t)r.size===0&&n.push(e);let r=[],i=new Set;for(;n.length>0;){let e=n.shift();if(!i.has(e)){i.add(e),r.push(e);for(let[r,a]of t)a.has(e)&&(a.delete(e),a.size===0&&!i.has(r)&&n.push(r))}}if(r.length!==e.size){let t=[...e].filter(e=>!i.has(e));throw Error(`ExtensionCoordinator: circular dependency detected among: ${t.join(`, `)}`)}return r}async function ue(e){if(!e.runMigrations)return;let t=[];for(let n of e.loadOrder){let r=e.entries.get(n);if(!r)throw Error(`Extension "${n}" is in loadOrder but missing from entries`);let i=r.pkg.storage?.migrations;if(!i)continue;let a=de(n,r.pkg,i);t.push({name:n,migrationsPath:a,migrationSourceId:r.pkg.storage?.migrationSourceId??a})}t.length!==0&&await e.runMigrations(t)}function de(e,t,n){if(a.isAbsolute(n))return n;let r=t.storage?.packageRoot;if(!r)throw Error(`Extension "${e}" declares relative storage.migrations "${n}" without storage.packageRoot`);let i=a.resolve(r),o=a.resolve(i,n),s=a.relative(i,o);if(s.startsWith(`..`)||a.isAbsolute(s))throw Error(`Extension "${e}" declares storage.migrations "${n}" outside storage.packageRoot`);return o}async function J(e,t){let n=e.entries.get(t);if(!n?.service||n.state!==`active`)return;let{checkHealth:i}=n.service;if(!i)return;let a;try{let e=await i.call(n.service),r=u.array().safeParse(e);r.success?a=r.data:(console.error(`[ExtensionCoordinator] checkHealth for "${t}" returned invalid data:`,r.error),a=[])}catch(e){console.error(`[ExtensionCoordinator] checkHealth threw for "${t}":`,e),a=[]}n.warnings=a;try{await e.bus.emit(r.warnings.changed,{extensionName:t,warnings:[...a]})}catch(e){console.error(`[ExtensionCoordinator] warnings.changed emit failed for "${t}":`,e)}}function fe(e,t){if(t.windows)for(let n of t.windows)e.windowRegistry.register(t.name,t.displayName,n);if(t.tray&&e.trayEntries.push({...t.tray,packageName:t.name}),t.cli){let n=t.cli;`subcommands`in n&&e.cliContributions.push(n)}}function Y(e){return Array.from(e.values()).filter(e=>e.enabled).map(e=>e.pkg).filter(e=>!!e.http)}async function pe(e){let t=[...e.loadOrder].reverse();for(let n of t){let t=e.entries.get(n);if(t){if(t.state===`active`&&await N(e.contributionProcessors,e.contextHost,n,t,`stopped`),t.service)try{await t.service.destroy?.()}catch(e){console.error(`[ExtensionCoordinator] Error during shutdown of "${n}":`,e)}finally{t.service=void 0}if(t.storageCleanup)try{t.storageCleanup()}catch(e){console.error(`[ExtensionCoordinator] Storage cleanup error for "${n}":`,e)}finally{t.storageCleanup=void 0}t.state===`active`&&M(e.contextHost.bus,t,`stopped`)}}}async function me(e,t){if(!t.tray)return;let n=he(t);await e.request(f.register,{entry:n})}function he(e){let t=e.tray;if(!t)throw Error(`[tray-menu-entry-bridge] extension "${e.name}" does not declare a tray entry`);return{packageName:e.name,entryId:t.opensWindow??t.action??`default`,label:t.label,section:t.section??`views`,priority:50,enabled:!0,metadata:t.opensWindow?{registrationId:`${e.name}:${t.opensWindow}`}:t.action?{action:t.action}:void 0}}async function ge(e,t,n){if(!n.enabled){M(e.bus,n,`skipped`),e.bootProgress.skipped(n.pkg,`disabled`);return}let r=(n.pkg.dependencies??[]).filter(t=>t.optional?!1:e.entries.get(t.name)?.state!==`active`);if(r.length>0){let i=`Required dependencies not active: ${r.map(e=>e.name).join(`, `)}`;if(Q(e,t,n,i),n.pkg.critical)throw Error(`Critical package "${t}" failed: ${i}`);return}e.bootProgress.starting(n.pkg),M(e.bus,n,`initializing`);let i=k(e.contextHost,t,n);if(ye(e,t,n,i)){if(!n.pkg.create){await _e(e,t,n);return}await ve(e,t,n,i)}}async function _e(e,t,n){try{await N(e.contributionProcessors,e.contextHost,t,n,`activated`)}catch(r){if(Z(t,n),X(e,t,n,r))return;if(Q(e,t,n,r instanceof Error?r.message:String(r)),n.pkg.critical)throw r;return}M(e.bus,n,`active`),e.bootProgress.ready(n.pkg),await $(e.bus,t,n)}async function ve(e,t,n,r){let i;try{let a=A(e.contextHost,n,r);i=await n.pkg.create(a),await i.init?.(),n.service=i,await N(e.contributionProcessors,e.contextHost,t,n,`activated`),M(e.bus,n,`active`),e.bootProgress.ready(n.pkg),await $(e.bus,t,n)}catch(r){try{await i?.destroy?.()}catch(e){console.error(`[ExtensionCoordinator] Service cleanup error after failed start of "${t}":`,e)}if(n.service=void 0,Z(t,n),X(e,t,n,r))return;if(Q(e,t,n,r instanceof Error?r.message:String(r)),n.pkg.critical)throw r}}function X(e,t,n,r){if(!(r instanceof g))return!1;if(n.pkg.critical){let i=`Critical package cannot skip startup: ${r.reason}`;throw Q(e,t,n,i),Error(`Critical package "${t}" failed: ${i}`,{cause:r})}return n.error=r.reason,console.info(`[ExtensionCoordinator] Package "${t}" skipped: ${r.reason}`),M(e.bus,n,`skipped`),e.bootProgress.skipped(n.pkg,r.reason),!0}function ye(e,t,n,r){if(!n.pkg.storage?.registerHandlers||e.db===void 0)return!0;try{let t=A(e.contextHost,n,r),i=n.pkg.storage.registerHandlers(e.bus,e.db,t);return i&&(n.storageCleanup=i),!0}catch(r){let i=r instanceof Error?r.message:String(r);if(console.error(`[ExtensionCoordinator] Package "${t}" storage registration failed:`,r),Q(e,t,n,i),n.pkg.critical)throw r;return!1}}function Z(e,t){if(t.storageCleanup)try{t.storageCleanup()}catch(t){console.error(`[ExtensionCoordinator] Storage cleanup error after failed start of "${e}":`,t)}finally{t.storageCleanup=void 0}}function Q(e,t,n,r){n.error=r,console.error(`[ExtensionCoordinator] Package "${t}" failed:`,r),M(e.bus,n,`failed`),e.bootProgress.failed(n.pkg,r)}async function $(e,t,n){try{await me(e,n.pkg)}catch(e){console.warn(`[ExtensionCoordinator] Failed to register tray entry for ${t}:`,e)}}var be=class{bus;surface;db;extensionContextBase;runtimeEnvironment;shutdownController=new AbortController;entries=new Map;loadOrder=[];loaded=!1;started=!1;rpcCleanups=[];contributionProcessors=[];warningActionMap=new Map;windowRegistry=new e;_trayEntries=[];_cliContributions=[];persistEnabled;loadEnabled;loadConfig;runMigrations;constructor(e,t={}){this.bus=e,this.surface=t.surface??`headless`,this.db=t.db,this.extensionContextBase=t.extensionContextBase,this.runtimeEnvironment=t.runtimeEnvironment,this.persistEnabled=t.persistEnabled,this.loadEnabled=t.loadEnabled,this.loadConfig=t.loadConfig,this.runMigrations=t.runMigrations,this.rpcCleanups.push(te(this.bus,this.warningActionMap,t.launcherCommand??`makaio`))}get trayEntries(){return this._trayEntries.map(e=>({...e}))}get cliContributions(){return this._cliContributions}extensionsWithHttp(){return Y(this.entries)}load(e,t){if(this.loaded)throw Error(`ExtensionCoordinator.load() called twice. The coordinator is single-use; create a new instance if needed.`);let n=B(V(e,this.surface,this.runtimeEnvironment));this.loadOrder=G(n);for(let e of this.loadOrder){let r=n.find(t=>t.name===e),i={pkg:r,identity:ae(r.name),state:`discovered`,enabled:this.loadEnabled?.(e)!==!1,warnings:[]};if(t){let n=t.get(e);n&&(i.configDefaults=n)}this.entries.set(e,i),r.namespaces&&this.bus.registerNamespaces(r.namespaces),fe({windowRegistry:this.windowRegistry,trayEntries:this._trayEntries,cliContributions:this._cliContributions},r)}this.rpcCleanups.push(...E({bus:this.bus,entries:this.entries,cliContributions:this._cliContributions,list:()=>this.list(),handleSetEnabled:(e,t)=>this.handleSetEnabled(e,t)})),this.loaded=!0}async startAll(){if(!this.loaded)throw Error(`ExtensionCoordinator.startAll() called before load(). Call load() first.`);if(this.started)throw Error(`ExtensionCoordinator.startAll() called twice. The coordinator is single-use; create a new instance if needed.`);this.started=!0;let e=new _(this.bus,this.loadOrder.length);this.rpcCleanups.push(()=>e.dispose());try{await ue({loadOrder:this.loadOrder,entries:this.entries,runMigrations:this.runMigrations});for(let t of this.loadOrder){let n=this.entries.get(t);n&&await ge({bus:this.bus,db:this.db,entries:this.entries,contributionProcessors:this.contributionProcessors,contextHost:this.createExtensionContextHost(),bootProgress:e},t,n)}let t=this.createExtensionHealthHost();await Promise.all(this.loadOrder.map(e=>this.entries.get(e)?.state===`active`?J(t,e):void 0)),await ne({bus:this.bus,entries:this.entries,warningActionMap:this.warningActionMap})}finally{e.complete()}}async shutdown(){this.shutdownController.abort();for(let e of this.rpcCleanups)e();this.rpcCleanups=[],this.warningActionMap.clear(),await pe({entries:this.entries,loadOrder:this.loadOrder,contributionProcessors:this.contributionProcessors,contextHost:this.createExtensionContextHost()})}list(){return[...this.entries.values()].map(e=>T(e))}getExtensionService(e){let t=typeof e==`string`?e:e.name;return this.entries.get(t)?.service}getExtension(e){return this.entries.get(e)?.pkg}forEachActiveExtension(e){let t=this.createExtensionContextHost();for(let n of this.loadOrder){let r=this.entries.get(n);if(!r||r.state!==`active`)continue;let i=A(t,r,k(t,n,r));e(n,r.pkg,i)}}forExtension(e,t){let n=this.entries.get(e);if(!n||n.state!==`active`)return;let r=this.createExtensionContextHost(),i=A(r,n,k(r,e,n));t(e,n.pkg,i)}registerContributionProcessor(e){return this.contributionProcessors.push(e),()=>{let t=this.contributionProcessors.indexOf(e);t>=0&&this.contributionProcessors.splice(t,1)}}async handleSetEnabled(e,t){return I({bus:this.bus,db:this.db,entries:this.entries,extensionContextBase:this.extensionContextBase,loadConfig:this.loadConfig,signal:this.shutdownController.signal,hasActiveExtension:e=>this.hasActiveExtension(e),persistEnabled:this.persistEnabled,contributionProcessors:this.contributionProcessors,getExtensionService:e=>this.getExtensionService(e),runHealthCheck:e=>J(this.createExtensionHealthHost(),e),emitWarningsForEntry:(e,t)=>O({bus:this.bus,entries:this.entries,warningActionMap:this.warningActionMap},e,t)},e,t)}createExtensionContextHost(){return{bus:this.bus,extensionContextBase:this.extensionContextBase,loadConfig:this.loadConfig,signal:this.shutdownController.signal,hasActiveExtension:e=>this.hasActiveExtension(e),getExtensionService:e=>this.getExtensionService(e)}}createExtensionHealthHost(){return{bus:this.bus,entries:this.entries}}hasActiveExtension(e){return this.entries.get(e)?.state===`active`}};export{m as a,g as i,B as n,h as o,V as r,be as t};
|
|
1
|
+
import{n as e}from"./window-registry-B_-hBEcV.mjs";import{o as t,t as n}from"./schema-introspection-DCYC47_d.mjs";import{n as r}from"./extension-namespace-CTd9kOtt.mjs";import{z as i}from"zod";import a from"node:path";import{createBusNamespace as o}from"@makaio/framework/core";import{ProviderDefinitionSchema as s,versionSatisfies as c}from"@makaio/framework/contracts";import{ToastSubjects as l}from"@makaio/framework/contracts/toast";import{ExtensionWarningSchema as u,getExtensionWarningActionLabel as d}from"@makaio/framework/contracts/extension";import{TrayMenuSubjects as f}from"@makaio/framework/services/tray-menu";const p=i.object({name:i.string(),displayName:i.string()}),m=o(`kernel:boot`,{getState:{request:i.object({}),response:i.object({complete:i.boolean(),completedCount:i.number(),totalCount:i.number(),currentService:i.string().optional(),failedServices:i.array(i.string()),skippedServices:i.array(i.string()).default([]),totalDurationMs:i.number().optional()})},"service.starting":p,"service.ready":p.extend({durationMs:i.number().int().nonnegative()}),"service.failed":p.extend({errorMessage:i.string()}),"service.skipped":p.extend({reason:i.string()}),progress:i.object({completedCount:i.number(),totalCount:i.number(),currentService:i.string().optional()}),complete:i.object({totalDurationMs:i.number(),failedServices:i.array(i.string())})}),h=m.subjects;var g=class extends Error{reason;constructor(e){super(e),this.name=`ServiceSkipError`,this.reason=e}},_=class{bus;state;cleanup;constructor(e,t){this.bus=e,this.state={complete:!1,completedCount:0,totalCount:t,failedServices:[],skippedServices:[],startedAt:Date.now()},this.cleanup=this.bus.on(h.getState,e=>{e.setResult({complete:this.state.complete,completedCount:this.state.completedCount,totalCount:this.state.totalCount,...this.state.currentService===void 0?{}:{currentService:this.state.currentService},failedServices:[...this.state.failedServices],skippedServices:[...this.state.skippedServices],...this.state.totalDurationMs===void 0?{}:{totalDurationMs:this.state.totalDurationMs}})})}dispose(){this.cleanup()}starting(e){this.state.currentService=e.displayName,this.state.currentServiceStartedAt=Date.now(),this.bus.emit(h.service.starting,e).catch(t=>{console.warn(`[ExtensionCoordinator] boot.service.starting emit failed for "${e.name}":`,t)})}ready(e){this.state.completedCount+=1;let t=this.state.currentServiceStartedAt===void 0?0:Math.max(0,Date.now()-this.state.currentServiceStartedAt);this.bus.emit(h.service.ready,{...e,durationMs:t}).catch(t=>{console.warn(`[ExtensionCoordinator] boot.service.ready emit failed for "${e.name}":`,t)}),this.emitProgress()}failed(e,t){this.state.completedCount+=1,this.state.failedServices.push(e.name),this.bus.emit(h.service.failed,{...e,errorMessage:t}).catch(t=>{console.warn(`[ExtensionCoordinator] boot.service.failed emit failed for "${e.name}":`,t)}),this.emitProgress()}skipped(e,t){this.state.completedCount+=1,this.state.skippedServices.push(e.name),this.bus.emit(h.service.skipped,{...e,reason:t}).catch(t=>{console.warn(`[ExtensionCoordinator] boot.service.skipped emit failed for "${e.name}":`,t)}),this.emitProgress()}complete(){this.state.complete=!0,delete this.state.currentService,delete this.state.currentServiceStartedAt,this.state.totalDurationMs=Date.now()-this.state.startedAt,this.bus.emit(h.complete,{totalDurationMs:this.state.totalDurationMs,failedServices:[...this.state.failedServices]}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.complete emit failed:`,e)})}emitProgress(){this.bus.emit(h.progress,{completedCount:this.state.completedCount,totalCount:this.state.totalCount,...this.state.currentService===void 0?{}:{currentService:this.state.currentService}}).catch(e=>{console.warn(`[ExtensionCoordinator] boot.progress emit failed:`,e)})}};function ee(e){return{subject:`wiring.apply`,$meta:{namespace:`client:${e}`,isRequest:!0,local:!1,channel:!1,payload:{request:{},response:{}}}}}const v=`action`;function y(e,t){return`${e}:${t}`}function te(e,t,n){return e.on(l.interacted,r=>{let{toastId:i,actionId:a}=r.payload,o=y(i,a),s=t.get(o);s&&b(e,s,i,n).catch(e=>{console.error(`[ExtensionCoordinator] Warning action dispatch failed for toast "${i}":`,e)})})}async function b(e,t,n,r){switch(t.kind){case`configure-integration`:await S(e,t.clientId,n,r);break;case`open-url`:console.info(`[ExtensionCoordinator] Toast "${n}" open-url action not routable from runtime layer: ${t.url}`);break;case`run-command`:console.info(`[ExtensionCoordinator] Toast "${n}" run-command action not routable from runtime layer: ${t.command}`);break;case`install-extension`:console.info(`[ExtensionCoordinator] Toast "${n}" install-extension action not routable from runtime layer: ${t.extensionName}`);break;default:x(t)}}function x(e){throw Error(`[ExtensionCoordinator] Unsupported warning action: ${JSON.stringify(e)}`)}async function S(e,t,n,r){let i=ee(t),a=await e.requestOptional(i,{scope:`user`,makaioCommand:r});if(!a.handled){console.warn(`[ExtensionCoordinator] Toast "${n}" configure-integration: no wiring handler for client "${t}". Is the client package loaded?`);return}let{applied:o,skipped:s}=a.data;console.info(`[ExtensionCoordinator] Toast "${n}" configure-integration: wired client "${t}" — ${o} applied, ${s} skipped.`)}function C(e){return e.map(e=>({name:e.name,description:e.description,hasInteractive:!!e.interactive,subcommands:e.subcommands.map(e=>({name:e.name,description:e.description,args:n(e.schema)}))}))}async function w(e,t,n){let{command:r,subcommand:i,args:a}=e,o=t.find(e=>e.name===r);if(!o)return{exitCode:1,stdout:[],stderr:[`Unknown command: ${r}`]};let s=o.subcommands.find(e=>e.name===i);if(!s)return{exitCode:1,stdout:[],stderr:[`Unknown subcommand: ${i}`]};let c=s.schema.safeParse(a??{});if(!c.success)return{exitCode:1,stdout:[],stderr:[`Validation failed:`,...c.error.issues.map(e=>` ${e.path.join(`.`)||`(root)`}: ${e.message}`)]};if(o.beforeRun)try{let e=await o.beforeRun({subcommandName:i,args:c.data??{},bus:n});if(!e.proceed)return{exitCode:e.exitCode??1,stdout:[],stderr:[e.message]}}catch(e){return{exitCode:1,stdout:[],stderr:[`beforeRun hook failed: ${e instanceof Error?e.message:String(e)}`]}}let l=[],u=[],d={write:e=>l.push(e),error:e=>u.push(e)},f=0,p=new AbortController().signal;try{await s.handler({args:c.data,bus:n,output:d,signal:p,setExitCode:e=>{f=e}})}catch(e){f===0&&(f=1),u.push(e instanceof Error?e.message:String(e))}return{exitCode:f,stdout:l,stderr:u}}function T(e){let{pkg:t,state:n,error:r,enabled:i}=e;return{name:t.name,displayName:t.displayName,state:n,...t.surface===void 0?{}:{surface:t.surface},enabled:i,...t.browser===void 0?{}:{browser:t.browser},...r===void 0?{}:{error:r}}}function E(e){let n=[];return n.push(e.bus.on(r.list,t=>{t.setResult({extensions:e.list()})})),n.push(e.bus.on(r.get,t=>{let n=e.entries.get(t.payload.name);t.setResult({extension:n?T(n):null})})),n.push(e.bus.on(r.setEnabled,async t=>{let n=await e.handleSetEnabled(t.payload.name,t.payload.enabled);t.setResult({success:n})})),n.push(e.bus.on(r.contributions.catalog,t=>{let n=[],r=[];for(let[t,i]of e.entries)if(i.state===`active`){for(let e of i.pkg.providers??[])n.push({packageName:t,definition:s.parse(e)});for(let e of i.pkg.clients??[])r.push({packageName:t,definition:e})}t.setResult({providers:n,clients:r})})),n.push(e.bus.on(t.listContributions,t=>{t.setResult({contributions:C(e.cliContributions)})})),n.push(e.bus.on(t.execute,async t=>{t.setResult(await w(t.payload,e.cliContributions,e.bus))})),n.push(e.bus.on(r.warnings.list,t=>{let{extensionName:n}=t.payload;if(n!==void 0){let r=e.entries.get(n),i=r&&r.warnings.length>0?[{extensionName:n,warnings:[...r.warnings]}]:[];t.setResult({entries:i});return}let r=[];for(let[t,n]of e.entries)n.warnings.length>0&&r.push({extensionName:t,warnings:[...n.warnings]});t.setResult({entries:r})})),n}async function ne(e){for(let[t,n]of e.entries)n.state===`active`&&await O(e,t,n)}function re(e){if(e&&D(e))return[{id:v,label:d(e)}]}function D(e){return e.kind===`configure-integration`}function ie(e,t){let n=`${t}:`;for(let t of e.keys())t.startsWith(n)&&e.delete(t)}async function O(e,t,n){ie(e.warningActionMap,t);let r=n.warnings.filter(e=>e.severity===`degraded`);if(r.length!==0)for(let i=0;i<r.length;i++){let a=r[i];console.warn(`[${t}] ⚠ ${a.title}: ${a.message}`);let o=`${t}:${a.title}:${i}`,s=re(a.action);try{await e.bus.emit(l.show,{level:`warning`,title:a.title,message:`${n.pkg.displayName}: ${a.message}`,toastId:o,durationMs:null,...s&&{actions:s}}),a.action&&D(a.action)&&e.warningActionMap.set(y(o,v),a.action)}catch(e){console.warn(`[${t}] toast emission failed for warning "${a.title}":`,e)}}}function ae(e){return Object.freeze({extensionName:e})}function oe(e,t,n,r){if(!t)return;let i={...n??{},...r??{}};try{return t.parse(i)}catch(n){console.warn(`[ExtensionCoordinator] Config parse failed for "${e}", starting with schema defaults:`,n instanceof Error?n.message:n);try{return t.parse({})}catch{console.warn(`[ExtensionCoordinator] Fallback config parse also failed for "${e}" — config will be absent`);return}}}function k(e,t,n){let r;if(n.pkg.configSchema)try{r=e.loadConfig?.(t)}catch(e){console.error(`[ExtensionCoordinator] loadConfig threw for "${t}":`,e)}return oe(t,n.pkg.configSchema,n.configDefaults,r)}function A(e,t,n){if(!e.extensionContextBase)throw Error(`ExtensionCoordinator: extensionContextBase is required to start extensions with a create factory. Provide it via the constructor.`);return{...e.extensionContextBase,bus:e.bus,identity:t.identity,dataDir:a.join(e.extensionContextBase.makaioHome,t.identity.extensionName),getService:t=>e.getExtensionService(t.name),signal:e.signal,hasExtension:e.hasActiveExtension,...n===void 0?{}:{config:n}}}function j(e){return{adapters:!!e.adapters?.length,tools:!!e.tools,triggers:!!e.triggers,providers:!!e.providers?.length,clients:!!e.clients?.length,ui:!!e.ui,storage:!!e.storage,sessionEventActions:!!e.sessionEventActions}}function M(e,t,n){let i=t.state;t.state=n,e.emit(r.stateChanged,{name:t.pkg.name,displayName:t.pkg.displayName,from:i,to:n,...t.error===void 0?{}:{error:t.error},contributes:j(t.pkg)}).catch(e=>{console.error(`[ExtensionCoordinator] stateChanged emit failed for "${t.pkg.name}":`,e)})}async function N(e,t,n,r,i){i===`activated`?await P(e,t,n,r):await F(e,n)}async function P(e,t,n,r){let i=[];try{for(let a of e){if(a.filter&&!a.filter(r.pkg))continue;let e=A(t,r,k(t,n,r));await a.processActivated(n,r.pkg,e),i.push(a)}}catch(e){for(let e of i.reverse())if(e.processStopped)try{await e.processStopped(n)}catch(e){console.error(`[ExtensionCoordinator] Contribution processor rollback error for "${n}":`,e)}throw e}}async function F(e,t){for(let n of[...e].reverse())if(n.processStopped)try{await n.processStopped(t)}catch(e){console.error(`[ExtensionCoordinator] Contribution processor error (stopped) for "${t}":`,e)}}async function I(e,t,n){let i=e.entries.get(t);if(!i)return!1;let a=n?await L(e,t,i):await R(e,t,i),o=i.enabled===n;return!a&&!o||(await e.persistEnabled?.(t,n),!a)?!1:(e.bus.emit(r.enabledChanged,{name:t,enabled:n}).catch(e=>{console.error(`[ExtensionCoordinator] enabledChanged emit failed for "${t}":`,e)}),!0)}async function L(e,t,n){if(n.state!==`stopped`&&n.state!==`failed`&&n.state!==`skipped`)return!1;let{pkg:r}=n,i,a=(r.dependencies??[]).filter(t=>{if(t.optional)return!1;let n=e.entries.get(t.name);return!n||n.state!==`active`});if(a.length>0)return n.error=`Required dependencies not active: ${a.map(e=>e.name).join(`, `)}`,console.error(`[ExtensionCoordinator] Cannot re-enable "${t}":`,n.error),M(e.bus,n,`failed`),!1;n.enabled=!0,n.error=void 0,M(e.bus,n,`initializing`);let o=k(e,t,n);if(r.storage?.registerHandlers&&e.db!==void 0)try{let t=A(e,n,o),a=r.storage.registerHandlers(e.bus,e.db,t);typeof a==`function`&&(i=a,n.storageCleanup=a)}catch(r){return n.error=r instanceof Error?r.message:String(r),console.error(`[ExtensionCoordinator] Extension "${t}" storage re-registration failed:`,r),M(e.bus,n,`failed`),!1}if(r.create){let a;try{let t=A(e,n,o);a=await r.create(t),await a.init?.(),n.service=a}catch(r){return await z(t,a,i,n),r instanceof g?n.pkg.critical?(n.error=`Critical extension cannot skip startup: ${r.reason}`,console.error(`[ExtensionCoordinator] Extension "${t}" failed to re-initialize:`,n.error),M(e.bus,n,`failed`),!1):(n.error=r.reason,M(e.bus,n,`skipped`),!1):(n.error=r instanceof Error?r.message:String(r),console.error(`[ExtensionCoordinator] Extension "${t}" failed to re-initialize:`,r),M(e.bus,n,`failed`),!1)}}try{await N(e.contributionProcessors,e,t,n,`activated`)}catch(r){return await z(t,n.service,i,n),n.service=void 0,n.error=r instanceof Error?r.message:String(r),console.error(`[ExtensionCoordinator] Extension "${t}" contribution processing failed:`,r),M(e.bus,n,`failed`),!1}return M(e.bus,n,`active`),await e.runHealthCheck(t),await e.emitWarningsForEntry(t,n),!0}async function R(e,t,n){if(n.state!==`active`)return!1;let i=Array.from(e.entries.entries()).filter(([e,n])=>e===t||n.state!==`active`?!1:n.pkg.dependencies?.some(e=>!e.optional&&e.name===t)??!1).map(([e])=>e);if(i.length>0)return n.error=`Cannot disable "${t}" while active dependents remain: ${i.join(`, `)}`,console.error(`[ExtensionCoordinator] ${n.error}`),!1;if(n.enabled=!1,n.error=void 0,await N(e.contributionProcessors,e,t,n,`stopped`),n.service)try{await n.service.destroy?.()}catch(e){console.error(`[ExtensionCoordinator] Error during disable destroy of "${t}":`,e)}finally{n.service=void 0}if(n.storageCleanup)try{n.storageCleanup()}catch(e){console.error(`[ExtensionCoordinator] Storage cleanup error during disable of "${t}":`,e)}finally{n.storageCleanup=void 0}M(e.bus,n,`stopped`),n.warnings=[];try{await e.bus.emit(r.warnings.changed,{extensionName:t,warnings:[]})}catch(e){console.error(`[ExtensionCoordinator] warnings.changed emit failed for "${t}":`,e)}return!0}async function z(e,t,n,r){try{await t?.destroy?.()}catch(t){console.error(`[ExtensionCoordinator] Service cleanup error after failed enable of "${e}":`,t)}try{n?.()}catch(t){console.error(`[ExtensionCoordinator] Storage cleanup error after failed enable of "${e}":`,t)}finally{r.storageCleanup=void 0}}function B(e){let t=new Map;for(let n of e)t.has(n.name)&&(console.info(`[ExtensionCoordinator] Extension "${n.name}" overrides an earlier registration`),t.delete(n.name)),t.set(n.name,n);return[...t.values()]}function V(e,t,n){let r=new Set(e.map(e=>e.name)),i=e.filter(e=>H(e,t,n)),a=new Map(i.map(e=>[e.name,e])),o=new Set(a.keys()),s=!0;for(;s;){s=!1;for(let e of o)(a.get(e).dependencies??[]).some(e=>!e.optional&&r.has(e.name)&&!o.has(e.name))&&(o.delete(e),s=!0)}return i.filter(e=>o.has(e.name))}function H(e,t,n){if(!W(e,t))return!1;let r=e.requires;return!r||r.length===0||!n?!0:r.every(e=>{switch(e.type){case`host`:return n.hosts.has(e.id);case`capability`:return n.capabilities.has(e.id)?e.version===void 0?!0:U(n,e.id,e.version):!1}})}function U(e,t,n){let r=e.capabilityVersions?.get(t);return r!==void 0&&c(r,n)}function W(e,t){return e.surface===void 0||e.surface===`any`||e.surface===t}function G(e){let t=K(e);return q(e,t,new Map(e.map(e=>[e.name,e]))),le(t,ce(e,t))}function K(e){let t=new Set;for(let n of e){if(t.has(n.name))throw Error(`ExtensionCoordinator: duplicate package name detected: "${n.name}"`);t.add(n.name)}return t}function q(e,t,n){for(let r of e)se(r,t,n)}function se(e,t,n){let r=e.dependencies??[],i=r.filter(e=>!e.optional&&!t.has(e.name));if(i.length>0)throw Error(`ExtensionCoordinator: package "${e.name}" declares missing dependencies: ${i.map(e=>e.name).join(`, `)}`);for(let t of r){let r=n.get(t.name);if(r===void 0)continue;let i=r.version;if(!c(i,t.version))throw Error(`ExtensionCoordinator: package "${e.name}" dependency "${t.name}" version ${i} does not satisfy ${t.version}`)}}function ce(e,t){let n=new Map;for(let r of e){let e=(r.dependencies??[]).filter(e=>t.has(e.name)).map(e=>e.name);n.set(r.name,new Set(e))}return n}function le(e,t){let n=[];for(let[e,r]of t)r.size===0&&n.push(e);let r=[],i=new Set;for(;n.length>0;){let e=n.shift();if(!i.has(e)){i.add(e),r.push(e);for(let[r,a]of t)a.has(e)&&(a.delete(e),a.size===0&&!i.has(r)&&n.push(r))}}if(r.length!==e.size){let t=[...e].filter(e=>!i.has(e));throw Error(`ExtensionCoordinator: circular dependency detected among: ${t.join(`, `)}`)}return r}async function ue(e){if(!e.runMigrations)return;let t=[];for(let n of e.loadOrder){let r=e.entries.get(n);if(!r)throw Error(`Extension "${n}" is in loadOrder but missing from entries`);let i=r.pkg.storage?.migrations;if(!i)continue;let a=de(n,r.pkg,i);t.push({name:n,migrationsPath:a,migrationSourceId:r.pkg.storage?.migrationSourceId??a})}t.length!==0&&await e.runMigrations(t)}function de(e,t,n){if(a.isAbsolute(n))return n;let r=t.storage?.packageRoot;if(!r)throw Error(`Extension "${e}" declares relative storage.migrations "${n}" without storage.packageRoot`);let i=a.resolve(r),o=a.resolve(i,n),s=a.relative(i,o);if(s.startsWith(`..`)||a.isAbsolute(s))throw Error(`Extension "${e}" declares storage.migrations "${n}" outside storage.packageRoot`);return o}async function J(e,t){let n=e.entries.get(t);if(!n?.service||n.state!==`active`)return;let{checkHealth:i}=n.service;if(!i)return;let a;try{let e=await i.call(n.service),r=u.array().safeParse(e);r.success?a=r.data:(console.error(`[ExtensionCoordinator] checkHealth for "${t}" returned invalid data:`,r.error),a=[])}catch(e){console.error(`[ExtensionCoordinator] checkHealth threw for "${t}":`,e),a=[]}n.warnings=a;try{await e.bus.emit(r.warnings.changed,{extensionName:t,warnings:[...a]})}catch(e){console.error(`[ExtensionCoordinator] warnings.changed emit failed for "${t}":`,e)}}function fe(e,t){if(t.windows)for(let n of t.windows)e.windowRegistry.register(t.name,t.displayName,n);if(t.tray&&e.trayEntries.push({...t.tray,packageName:t.name}),t.cli){let n=t.cli;`subcommands`in n&&e.cliContributions.push(n)}}function Y(e){return Array.from(e.values()).filter(e=>e.enabled).map(e=>e.pkg).filter(e=>!!e.http)}async function pe(e){let t=[...e.loadOrder].reverse();for(let n of t){let t=e.entries.get(n);if(t){if(t.state===`active`&&await N(e.contributionProcessors,e.contextHost,n,t,`stopped`),t.service)try{await t.service.destroy?.()}catch(e){console.error(`[ExtensionCoordinator] Error during shutdown of "${n}":`,e)}finally{t.service=void 0}if(t.storageCleanup)try{t.storageCleanup()}catch(e){console.error(`[ExtensionCoordinator] Storage cleanup error for "${n}":`,e)}finally{t.storageCleanup=void 0}t.state===`active`&&M(e.contextHost.bus,t,`stopped`)}}}async function me(e,t){if(!t.tray)return;let n=he(t);await e.request(f.register,{entry:n})}function he(e){let t=e.tray;if(!t)throw Error(`[tray-menu-entry-bridge] extension "${e.name}" does not declare a tray entry`);return{packageName:e.name,entryId:t.opensWindow??t.action??`default`,label:t.label,section:t.section??`views`,priority:50,enabled:!0,metadata:t.opensWindow?{registrationId:`${e.name}:${t.opensWindow}`}:t.action?{action:t.action}:void 0}}async function ge(e,t,n){if(!n.enabled){M(e.bus,n,`skipped`),e.bootProgress.skipped(n.pkg,`disabled`);return}let r=(n.pkg.dependencies??[]).filter(t=>t.optional?!1:e.entries.get(t.name)?.state!==`active`);if(r.length>0){let i=`Required dependencies not active: ${r.map(e=>e.name).join(`, `)}`;if(Q(e,t,n,i),n.pkg.critical)throw Error(`Critical package "${t}" failed: ${i}`);return}e.bootProgress.starting(n.pkg),M(e.bus,n,`initializing`);let i=k(e.contextHost,t,n);if(ye(e,t,n,i)){if(!n.pkg.create){await _e(e,t,n);return}await ve(e,t,n,i)}}async function _e(e,t,n){try{await N(e.contributionProcessors,e.contextHost,t,n,`activated`)}catch(r){if(Z(t,n),X(e,t,n,r))return;if(Q(e,t,n,r instanceof Error?r.message:String(r)),n.pkg.critical)throw r;return}M(e.bus,n,`active`),e.bootProgress.ready(n.pkg),await $(e.bus,t,n)}async function ve(e,t,n,r){let i;try{let a=A(e.contextHost,n,r);i=await n.pkg.create(a),await i.init?.(),n.service=i,await N(e.contributionProcessors,e.contextHost,t,n,`activated`),M(e.bus,n,`active`),e.bootProgress.ready(n.pkg),await $(e.bus,t,n)}catch(r){try{await i?.destroy?.()}catch(e){console.error(`[ExtensionCoordinator] Service cleanup error after failed start of "${t}":`,e)}if(n.service=void 0,Z(t,n),X(e,t,n,r))return;if(Q(e,t,n,r instanceof Error?r.message:String(r)),n.pkg.critical)throw r}}function X(e,t,n,r){if(!(r instanceof g))return!1;if(n.pkg.critical){let i=`Critical package cannot skip startup: ${r.reason}`;throw Q(e,t,n,i),Error(`Critical package "${t}" failed: ${i}`,{cause:r})}return n.error=r.reason,console.info(`[ExtensionCoordinator] Package "${t}" skipped: ${r.reason}`),M(e.bus,n,`skipped`),e.bootProgress.skipped(n.pkg,r.reason),!0}function ye(e,t,n,r){if(!n.pkg.storage?.registerHandlers||e.db===void 0)return!0;try{let t=A(e.contextHost,n,r),i=n.pkg.storage.registerHandlers(e.bus,e.db,t);return i&&(n.storageCleanup=i),!0}catch(r){let i=r instanceof Error?r.message:String(r);if(console.error(`[ExtensionCoordinator] Package "${t}" storage registration failed:`,r),Q(e,t,n,i),n.pkg.critical)throw r;return!1}}function Z(e,t){if(t.storageCleanup)try{t.storageCleanup()}catch(t){console.error(`[ExtensionCoordinator] Storage cleanup error after failed start of "${e}":`,t)}finally{t.storageCleanup=void 0}}function Q(e,t,n,r){n.error=r,console.error(`[ExtensionCoordinator] Package "${t}" failed:`,r),M(e.bus,n,`failed`),e.bootProgress.failed(n.pkg,r)}async function $(e,t,n){try{await me(e,n.pkg)}catch(e){console.warn(`[ExtensionCoordinator] Failed to register tray entry for ${t}:`,e)}}var be=class{bus;surface;db;extensionContextBase;runtimeEnvironment;shutdownController=new AbortController;entries=new Map;loadOrder=[];loaded=!1;started=!1;rpcCleanups=[];contributionProcessors=[];warningActionMap=new Map;windowRegistry=new e;_trayEntries=[];_cliContributions=[];persistEnabled;loadEnabled;loadConfig;runMigrations;constructor(e,t={}){this.bus=e,this.surface=t.surface??`headless`,this.db=t.db,this.extensionContextBase=t.extensionContextBase,this.runtimeEnvironment=t.runtimeEnvironment,this.persistEnabled=t.persistEnabled,this.loadEnabled=t.loadEnabled,this.loadConfig=t.loadConfig,this.runMigrations=t.runMigrations,this.rpcCleanups.push(te(this.bus,this.warningActionMap,t.launcherCommand??`makaio`))}get trayEntries(){return this._trayEntries.map(e=>({...e}))}get cliContributions(){return this._cliContributions}extensionsWithHttp(){return Y(this.entries)}load(e,t){if(this.loaded)throw Error(`ExtensionCoordinator.load() called twice. The coordinator is single-use; create a new instance if needed.`);let n=B(V(e,this.surface,this.runtimeEnvironment));this.loadOrder=G(n);for(let e of this.loadOrder){let r=n.find(t=>t.name===e),i={pkg:r,identity:ae(r.name),state:`discovered`,enabled:this.loadEnabled?.(e)!==!1,warnings:[]};if(t){let n=t.get(e);n&&(i.configDefaults=n)}this.entries.set(e,i),r.namespaces&&this.bus.registerNamespaces(r.namespaces),fe({windowRegistry:this.windowRegistry,trayEntries:this._trayEntries,cliContributions:this._cliContributions},r)}this.rpcCleanups.push(...E({bus:this.bus,entries:this.entries,cliContributions:this._cliContributions,list:()=>this.list(),handleSetEnabled:(e,t)=>this.handleSetEnabled(e,t)})),this.loaded=!0}async startAll(){if(!this.loaded)throw Error(`ExtensionCoordinator.startAll() called before load(). Call load() first.`);if(this.started)throw Error(`ExtensionCoordinator.startAll() called twice. The coordinator is single-use; create a new instance if needed.`);this.started=!0;let e=new _(this.bus,this.loadOrder.length);this.rpcCleanups.push(()=>e.dispose());try{await ue({loadOrder:this.loadOrder,entries:this.entries,runMigrations:this.runMigrations});for(let t of this.loadOrder){let n=this.entries.get(t);n&&await ge({bus:this.bus,db:this.db,entries:this.entries,contributionProcessors:this.contributionProcessors,contextHost:this.createExtensionContextHost(),bootProgress:e},t,n)}let t=this.createExtensionHealthHost();await Promise.all(this.loadOrder.map(e=>this.entries.get(e)?.state===`active`?J(t,e):void 0)),await ne({bus:this.bus,entries:this.entries,warningActionMap:this.warningActionMap})}finally{e.complete()}}async shutdown(){this.shutdownController.abort();for(let e of this.rpcCleanups)e();this.rpcCleanups=[],this.warningActionMap.clear(),await pe({entries:this.entries,loadOrder:this.loadOrder,contributionProcessors:this.contributionProcessors,contextHost:this.createExtensionContextHost()})}list(){return[...this.entries.values()].map(e=>T(e))}getExtensionService(e){let t=typeof e==`string`?e:e.name;return this.entries.get(t)?.service}getExtension(e){return this.entries.get(e)?.pkg}forEachActiveExtension(e){let t=this.createExtensionContextHost();for(let n of this.loadOrder){let r=this.entries.get(n);if(!r||r.state!==`active`)continue;let i=A(t,r,k(t,n,r));e(n,r.pkg,i)}}forExtension(e,t){let n=this.entries.get(e);if(!n||n.state!==`active`)return;let r=this.createExtensionContextHost(),i=A(r,n,k(r,e,n));t(e,n.pkg,i)}registerContributionProcessor(e){return this.contributionProcessors.push(e),()=>{let t=this.contributionProcessors.indexOf(e);t>=0&&this.contributionProcessors.splice(t,1)}}async handleSetEnabled(e,t){return I({bus:this.bus,db:this.db,entries:this.entries,extensionContextBase:this.extensionContextBase,loadConfig:this.loadConfig,signal:this.shutdownController.signal,hasActiveExtension:e=>this.hasActiveExtension(e),persistEnabled:this.persistEnabled,contributionProcessors:this.contributionProcessors,getExtensionService:e=>this.getExtensionService(e),runHealthCheck:e=>J(this.createExtensionHealthHost(),e),emitWarningsForEntry:(e,t)=>O({bus:this.bus,entries:this.entries,warningActionMap:this.warningActionMap},e,t)},e,t)}createExtensionContextHost(){return{bus:this.bus,extensionContextBase:this.extensionContextBase,loadConfig:this.loadConfig,signal:this.shutdownController.signal,hasActiveExtension:e=>this.hasActiveExtension(e),getExtensionService:e=>this.getExtensionService(e)}}createExtensionHealthHost(){return{bus:this.bus,entries:this.entries}}hasActiveExtension(e){return this.entries.get(e)?.state===`active`}};export{m as a,g as i,B as n,h as o,V as r,be as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./definition-DkYy1PZz.mjs";import{n as t,t as n}from"./version-D8S4O22A.mjs";import{z as r}from"zod";const i=r.object({entrypoint:r.string().startsWith(`/`,{message:`Entrypoint must be a URL path starting with "/"`})}),a=r.object({endpoint:r.string().url().optional()}),o=r.union([e,r.object({anthropic:a.optional(),openai:a.optional()}).refine(e=>Object.keys(e).length>0,{message:`ProtocolRef config object must specify at least one protocol`})]),s=r.object({id:r.string().min(1),version:t,binaryVersion:t.optional()}),c=r.object({name:r.string().min(1),displayName:r.string().min(1).optional(),description:r.string().optional(),clients:r.array(s).readonly().optional(),protocols:r.array(o).min(1).readonly(),defaultProvider:r.string().min(1).optional()}),l=r.object({id:r.string().min(1),name:r.string().min(1),description:r.string().optional(),binary:r.object({name:r.string().min(1),managed:r.boolean().optional(),version:n.optional()}).strict().refine(e=>e.managed!==!0||e.version!==void 0,{message:`binary.version is required when binary.managed is true`,path:[`version`]}).refine(e=>e.version===void 0||e.managed===!0,{message:`binary.managed must be true when binary.version is provided`,path:[`managed`]}).optional()}).strict(),u=r.object({id:r.string().min(1),name:r.string().min(1),description:r.string().optional()}),d=r.object({prefix:r.string().min(1),description:r.string().optional(),stage:r.enum([`gather`,`transform`,`action`]).optional()}),f=r.object({adapterName:r.string().min(1),displayName:r.string().min(1),logFilePattern:r.string().min(1).optional()}),p=r.object({id:r.string().min(1),label:r.string().min(1),description:r.string().optional(),icon:r.string().min(1).optional(),selectionMode:r.enum([`single`,`multi`]),messageRoles:r.array(r.enum([`user`,`assistant`])).readonly().optional()}),m=r.object({tiles:r.boolean().optional(),widgets:r.boolean().optional(),pages:r.boolean().optional(),routes:r.boolean().optional()}),h={adapters:`adapter`,clients:`client`,providers:`provider`,triggers:`trigger`,logImporters:`log importer`,sessionEventActions:`session event action`};function g(e,t,n){e.addIssue({code:r.ZodIssueCode.custom,path:[t],message:`Duplicate ${h[t]} contribution identifier "${n}"`})}function _(e,t){let n=new Set,r=new Set,i=[];for(let a of e??[]){let e=t(a);if(n.has(e)){r.has(e)||(r.add(e),i.push(e));continue}n.add(e)}return i}const v=r.object({adapters:r.array(c).readonly().optional(),clients:r.array(l).readonly().optional(),providers:r.array(u).readonly().optional(),triggers:r.array(d).readonly().optional(),logImporters:r.array(f).readonly().optional(),sessionEventActions:r.array(p).readonly().optional(),create:r.boolean().optional(),tools:r.boolean().optional(),bootstrap:r.boolean().optional(),namespace:r.boolean().optional(),configSchema:r.boolean().optional(),uiConfig:r.boolean().optional(),ui:m.optional()}).superRefine((e,t)=>{for(let n of _(e.adapters,e=>e.name))g(t,`adapters`,n);for(let n of _(e.clients,e=>e.id))g(t,`clients`,n);for(let n of _(e.providers,e=>e.id))g(t,`providers`,n);for(let n of _(e.triggers,e=>e.prefix))g(t,`triggers`,n);for(let n of _(e.logImporters,e=>e.adapterName))g(t,`logImporters`,n);for(let n of _(e.sessionEventActions,e=>e.id))g(t,`sessionEventActions`,n)}),y=r.string().trim().min(1).transform(e=>e),b=r.object({name:r.string().min(1),required:r.boolean().optional()}),x=r.object({id:r.string(),style:r.enum([`tray-popover`,`utility`,`panel`]),width:r.number().optional(),height:r.number().optional(),singleton:r.boolean().optional(),params:r.array(b).readonly().optional()}).superRefine((e,t)=>{let n=new Set;for(let[i,a]of e.params?.entries()??[]){if(!n.has(a.name)){n.add(a.name);continue}t.addIssue({code:r.ZodIssueCode.custom,message:`Duplicate window param "${a.name}"`,path:[`params`,i,`name`]})}}),S=r.object({label:r.string(),section:r.enum([`utilities`,`tools`,`views`]).optional(),opensWindow:r.string().optional(),action:r.string().optional()}),C=r.object({name:r.string().min(1),description:r.string(),required:r.boolean().optional(),positional:r.boolean().optional(),short:r.string().regex(/^-[A-Za-z0-9]$/,`Expected a short flag like -p`).optional(),type:r.enum([`string`,`boolean`,`number`]).optional()}),w=r.object({name:r.string().min(1),description:r.string(),args:r.array(C).readonly().optional()}),T=r.object({name:r.string().min(1),description:r.string(),subcommands:r.array(w).readonly().optional(),hasInteractive:r.boolean().optional()}),E=r.string().min(1).refine(e=>!/^(?:[\\/]|[A-Za-z]:)/.test(e),`Expected a relative path`).refine(e=>!e.split(/[\\/]/).some(e=>e===``||e===`.`||e===`..`),`Path must not contain empty or dot segments`),D=r.object({migrations:E.optional(),migrationSourceId:r.string().min(1).optional()}),O=r.object({type:r.literal(`extension`),name:r.string().min(1),version:t,optional:r.boolean().optional()});function k(e,t=`>=0.1.0`,n){return n===void 0?{type:`extension`,name:e,version:t}:{type:`extension`,name:e,version:t,optional:n}}const A=r.discriminatedUnion(`type`,[r.object({type:r.literal(`host`),id:r.string().min(1)}),r.object({type:r.literal(`capability`),id:r.string().min(1),version:t.optional()})]),j=r.object({name:r.string().min(1).regex(/^(@[^/\\]+\/)?[^/\\]+$/,`Extension name must be a plain identifier or an npm-scoped name (@scope/pkg)`).refine(e=>(e.startsWith(`@`)?e.split(`/`):[e]).every(e=>e!==`.`&&e!==`..`),`Extension name must not be a dot-segment`),displayName:r.string().min(1),version:n,surface:r.enum([`interactive`,`headless`,`any`]).optional(),dependencies:r.array(O).readonly().optional(),requires:r.array(A).readonly().optional(),provides:r.array(y).readonly().optional(),windows:r.array(x).readonly().optional(),tray:S.optional(),cli:T.optional(),storage:D.optional(),browser:i.optional(),contributions:v.optional()});function M(e){return Object.freeze({name:e})}const N=r.object({command:r.string().min(1),args:r.array(r.string()).optional(),env:r.record(r.string(),r.string()).optional(),healthTimeoutMs:r.number().int().positive().optional(),shutdownTimeoutMs:r.number().int().positive().optional()}),P=r.enum([`none`,`on-crash`,`always`]),F=N.extend({restartPolicy:P.optional()}),I=r.discriminatedUnion(`type`,[F.extend({type:r.literal(`bus-stdio`)}),F.extend({type:r.literal(`bus-websocket`)}),N.extend({type:r.literal(`mcp-stdio`)})]);function L(e){if(e.includes(`\\`)||e.startsWith(`./`)||e.startsWith(`../`)||e.startsWith(`/`))return!1;let t=e.split(`/`),n=t.at(-1);return!n||n.includes(`.`)?!1:t.every(e=>e!==``&&e!==`.`&&e!==`..`&&e!==`src`&&e!==`dist`)}const R=r.union([r.literal(!0),r.string().min(1).refine(L,{message:`entrypoint stem must use forward-slash path stems, must not contain empty, . or .. segments, must not include a dotted final segment, and must not contain src or dist segments`})]),z=r.object({server:R.optional(),browser:R.optional(),cli:R.optional()}).refine(e=>e.server!==void 0||e.browser!==void 0||e.cli!==void 0,{message:`at least one entrypoint must be declared`});function B(e){return e.execution===`detached`}const V=j.extend({version:n,makaio:r.object({framework:t}).strict().readonly(),entrypoints:z.optional(),execution:r.enum([`embedded`,`detached`]).optional(),transport:I.optional(),config:r.object({defaults:r.record(r.string(),r.unknown()).optional()}).optional()}).superRefine((e,t)=>{e.execution===`detached`?(e.transport===void 0&&t.addIssue({code:r.ZodIssueCode.custom,message:`detached extensions must declare a 'transport' config`,path:[`transport`]}),e.entrypoints!==void 0&&t.addIssue({code:r.ZodIssueCode.custom,message:`detached extensions must not declare entrypoints`,path:[`entrypoints`]})):(e.entrypoints===void 0&&t.addIssue({code:r.ZodIssueCode.custom,message:`embedded extensions must declare at least one entrypoint`,path:[`entrypoints`]}),e.transport!==void 0&&t.addIssue({code:r.ZodIssueCode.custom,message:`embedded extensions must not declare a transport config`,path:[`transport`]}))});function H(e){return e}function U(e){return H(V.parse(e))}function W(e){let t=V.safeParse(e);return t.success?{success:!0,data:H(t.data)}:t}const G=r.discriminatedUnion(`kind`,[r.object({kind:r.literal(`configure-integration`),clientId:r.string().min(1),bundle:r.string().min(1)}),r.object({kind:r.literal(`install-extension`),extensionName:r.string().min(1)}),r.object({kind:r.literal(`open-url`),url:r.string().url()}),r.object({kind:r.literal(`run-command`),command:r.string().min(1)})]),K=r.enum([`info`,`recommended`,`degraded`]),q=r.object({severity:K,title:r.string().min(1),message:r.string().min(1),action:G.optional()});function J(e){switch(e.kind){case`configure-integration`:return`Configure`;case`install-extension`:return`Install`;case`open-url`:return`Open`;case`run-command`:return`Run`}}const Y=r.object({extensionName:r.string().min(1),warnings:r.array(q)});function X(e,t){return e.parse(t??{})}function Z(e){return JSON.stringify([e.extensionId,e.type,e.name,e.filename])}export{v as A,x as C,s as D,y as E,p as F,d as I,m as L,a as M,o as N,c as O,u as P,i as R,S,k as T,w as _,q as a,A as b,I as c,B as d,U as f,T as g,C as h,Y as i,f as j,l as k,V as l,M as m,X as n,K as o,W as p,G as r,J as s,Z as t,z as u,O as v,b as w,D as x,j as y};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{agents as e}from"./services/session/storage/schema.mjs";import{t}from"./schema-
|
|
1
|
+
import{agents as e}from"./services/session/storage/schema.mjs";import{t}from"./schema-D3ZG13h9.mjs";import{n}from"./namespace-DGMO2E8f.mjs";import{SessionStorageSubjects as r}from"./services/session/storage/namespace.mjs";import{TurnStorageSubjects as i}from"./services/turn/namespace.mjs";import"./services/session/turns/namespace.mjs";import{AdapterRuntimeSubjects as a}from"./services/adapter-runtime/namespace.mjs";import{MessageStorageSubjects as o}from"./services/session/messages/namespace.mjs";import{n as s}from"./namespace-aALq9tnE.mjs";import{ProviderStorageSubjects as c}from"./services/settings/storage/providers-namespace.mjs";import{ExecutionTargetSubjects as l}from"./services/execution-target/namespace.mjs";import{r as u,t as d}from"./provider-context-BB4eD8ON.mjs";import{ExtractedContextSchema as f}from"./services/compression/schemas.mjs";import{PreferencesSubjects as p}from"./services/preferences/storage-namespace.mjs";import{z as m}from"zod";import{AdapterSubjects as h,AgentResolutionSubjects as g,AgentStatusSchema as _,AgentSubjects as v,MakaioSessionAgentSchema as y,SessionSubjects as b,TurnUsageSchema as x}from"@makaio/framework/contracts";import{createStorageNamespaceDefinition as S}from"@makaio/framework/storage";import{and as C,asc as w,desc as ee,eq as T,sql as te}from"drizzle-orm";import{HookAbortError as E}from"@makaio/framework/hooks";import{AdapterRuntimeSubjects as ne}from"@makaio/framework/services/adapter-runtime";import{buildProviderContext as re}from"@makaio/framework/services/provider-context";const D=S(`agent`,{schemas:{get:{request:m.object({agentId:m.string()}),response:m.object({agent:y.nullable()})},set:{request:m.object({agentId:m.string(),agent:y}),response:m.object({success:m.boolean()})},delete:{request:m.object({agentId:m.string()}),response:m.object({success:m.boolean()})},listByAdapter:{request:m.object({adapterName:m.string(),status:m.enum([`idle`,`active`,`dead`,`disposed`,`all`]).optional()}),response:m.object({agents:m.array(y)})},listBySession:{request:m.object({sessionId:m.string()}),response:m.object({agents:m.array(y)})},updateStatus:{request:m.object({agentId:m.string(),status:_}),response:m.object({success:m.boolean()})},updateActivity:{request:m.object({agentId:m.string(),lastActivityAt:m.number()}),response:m.object({success:m.boolean()})},updateRuntime:{request:m.object({agentId:m.string(),cwd:m.string().optional(),model:m.string().optional(),providerConfigId:m.string().optional()}).refine(e=>e.cwd!==void 0||e.model!==void 0||e.providerConfigId!==void 0,{message:`At least one runtime field (cwd, model, or providerConfigId) must be provided`}),response:m.object({success:m.boolean()})}},extensions:{drizzle:{agents:e}}}),O=D.subjects;function ie(e){if(e)try{let t=JSON.parse(e),n=x.safeParse(t);return n.success?n.data:void 0}catch{return}}function k(e){return{turnId:e.turnId,sessionId:e.sessionId,turnNumber:e.turnNumber,startedAt:e.startedAt,completedAt:e.completedAt??void 0,status:e.status,error:e.error??void 0,usage:ie(e.usage)}}function ae(e,t,n){let r=[oe(e,t),se(e,t),ce(e,t),A(e,t),j(e,t),M(e,t),le(e,t)];return()=>r.forEach(e=>e())}function oe(e,n){return e.on(i.create,async e=>{let{sessionId:r,turnId:i}=e.payload,a=Date.now(),o=i??crypto.randomUUID();await n.run(te`
|
|
2
2
|
WITH next_num AS (
|
|
3
3
|
SELECT COALESCE(MAX(turn_number), 0) + 1 AS n
|
|
4
4
|
FROM turns
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./ui-config-
|
|
1
|
+
import{t as e}from"./ui-config-zawaoEfB.mjs";import{i as t,r as n}from"./schemas-COnLJnt_.mjs";import{z as r}from"zod";import{createBusNamespace as i}from"@makaio/framework/core";const a=`At least one of adapterName or clientId must be provided`,o=e=>!!(e.adapterName||e.clientId);function s(e){return!!(e.id||e.name)}function c(e){return e.id||!e.name?!0:!!e.adapterName}const l={get:{request:r.object({id:r.string().optional(),name:r.string().optional(),adapterName:r.string().optional()}).refine(s,{message:`Either id or name is required`,path:[`id`]}).refine(c,{message:`adapterName is required when looking up by name`,path:[`adapterName`]}),response:t},list:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional(),name:r.string().optional()}),response:r.object({harnesses:r.array(t)})},set:{request:n,response:r.object({id:r.string()})},delete:{request:r.object({id:r.string()}),response:r.object({success:r.boolean()})},getDefault:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional()}).refine(o,{message:a,path:[`adapterName`]}),response:t},resolve:{request:r.object({adapterName:r.string().optional(),clientId:r.string().optional(),personaHarnessId:r.string().optional(),profileHarnessId:r.string().optional()}).refine(o,{message:a,path:[`adapterName`]}),response:t},getSchema:{request:r.object({}),response:r.object({schema:r.record(r.string(),r.unknown()),uiConfig:e})},created:t,updated:t,deleted:r.object({id:r.string()})},u=i(`harness`,l),d=u.subjects;function f(e,t){return t[e]??[]}function p(e){let{registeredTools:t,allowedCapabilities:n,disallowedCapabilities:r,capabilityMap:i}=e,a=new Set(n),o=new Set(r),s=[],c=[];for(let e of t){let t=f(e,i);n.length>0&&t.length>0&&t.every(e=>a.has(e))&&s.push(e),t.some(e=>o.has(e))&&c.push(e)}return{allowedTools:s,disallowedTools:c}}function m(e,t){return t.length===0?e?[...e]:void 0:[...new Set([...e??[],...t])]}function h(e,t){return{allowedTools:m(e,[]),disallowedTools:m(t,[])}}async function g(e,t){let{allowedCapabilities:n,disallowedCapabilities:r,harnessId:i,allowedTools:a,disallowedTools:o}=t;if(!((n?.length??0)||(r?.length??0))||!i)return h(a,o);let s=await e.request(d.get,{id:i});if(!s.toolCapabilityMap)return h(a,o);let c=p({registeredTools:s.nativeTools.enabled,allowedCapabilities:n??[],disallowedCapabilities:r??[],capabilityMap:s.toolCapabilityMap});return{allowedTools:m(a,c.allowedTools),disallowedTools:m(o,c.disallowedTools)}}const _={bash:[`shell.execute`,`file.read`,`file.write`,`file.delete`,`network.request`,`process.manage`],patch:[`file.write`]};function v(e){return{id:e.id,name:e.name,description:e.description,adapterName:e.adapterName,clientId:e.clientId,approvalPolicy:`always-ask`,nativeTools:{enabled:[],disabled:[]},registryTools:{enabled:[],disabled:[]},isDefault:!0,enabled:!0}}const y={id:`harness-codex-app-server-native`,name:`Codex Native`,description:`Codex app server with built-in native tools`,adapterName:`codex-app-server`,clientId:`codex`,approvalPolicy:`always-ask`,nativeTools:{enabled:[`bash`,`patch`],disabled:[]},registryTools:{enabled:[],disabled:[]},toolCapabilityMap:_,isDefault:!0,enabled:!0},b=v({id:`harness-openai-node-registry`,name:`OpenAI Registry`,description:`OpenAI adapter with registry-managed tools`,adapterName:`openai-node`}),x=v({id:`harness-claude-code-registry`,name:`Claude Code Registry`,description:`Claude Code adapter with registry-managed tools`,adapterName:`claude-code`,clientId:`claude-code`}),S=v({id:`harness-gemini-sdk-registry`,name:`Gemini SDK Registry`,description:`Gemini SDK adapter with registry-managed tools`,adapterName:`gemini-sdk`,clientId:`gemini`}),C=[y,b,x,S];export{b as a,g as c,l as d,d as f,S as i,f as l,y as n,_ as o,C as r,p as s,x as t,u};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as ExecutionTarget } from "./schemas-
|
|
1
|
+
import { r as ExecutionTarget } from "./schemas-Ra8pz5M-.mjs";
|
|
2
2
|
import { d as Turn$1 } from "./index-C_kS2aqV2.mjs";
|
|
3
3
|
import { a as PipelineStep, o as SessionEditorAction, t as ActionCategory } from "./types-vNpkAe4Y.mjs";
|
|
4
|
-
import { a as agents, o as sessions } from "./schema-
|
|
4
|
+
import { a as agents, o as sessions } from "./schema-B295yplx.mjs";
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
import * as _$_makaio_core0 from "@makaio/framework/core";
|
|
7
7
|
import { ExtractSubjectPayload, SubjectDefinition } from "@makaio/framework/core";
|
|
@@ -2706,7 +2706,7 @@ declare const turns: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
|
|
|
2706
2706
|
tableName: "turns";
|
|
2707
2707
|
dataType: "string";
|
|
2708
2708
|
columnType: "SQLiteText";
|
|
2709
|
-
data: "
|
|
2709
|
+
data: "completed" | "error" | "active";
|
|
2710
2710
|
driverParam: string;
|
|
2711
2711
|
notNull: true;
|
|
2712
2712
|
hasDefault: false;
|
|
@@ -48,8 +48,8 @@ type BindingRecord = z.infer<typeof BindingRecordSchema>;
|
|
|
48
48
|
* Normalized adapter file-backed read model.
|
|
49
49
|
*/
|
|
50
50
|
declare const AdapterFileConfigSchema: z.ZodObject<{
|
|
51
|
-
description: z.ZodOptional<z.ZodString>;
|
|
52
51
|
displayName: z.ZodOptional<z.ZodString>;
|
|
52
|
+
description: z.ZodOptional<z.ZodString>;
|
|
53
53
|
protocol: z.ZodOptional<z.ZodString>;
|
|
54
54
|
helpLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
55
55
|
label: z.ZodString;
|
|
@@ -124,8 +124,8 @@ declare const AdapterSubsystemSchemas: {
|
|
|
124
124
|
}, z.core.$strict>;
|
|
125
125
|
response: z.ZodObject<{
|
|
126
126
|
config: z.ZodNullable<z.ZodObject<{
|
|
127
|
-
description: z.ZodOptional<z.ZodString>;
|
|
128
127
|
displayName: z.ZodOptional<z.ZodString>;
|
|
128
|
+
description: z.ZodOptional<z.ZodString>;
|
|
129
129
|
protocol: z.ZodOptional<z.ZodString>;
|
|
130
130
|
helpLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
131
131
|
label: z.ZodString;
|
|
@@ -152,8 +152,8 @@ declare const AdapterSubsystemSchemas: {
|
|
|
152
152
|
request: z.ZodObject<{}, z.core.$strict>;
|
|
153
153
|
response: z.ZodObject<{
|
|
154
154
|
configs: z.ZodArray<z.ZodObject<{
|
|
155
|
-
description: z.ZodOptional<z.ZodString>;
|
|
156
155
|
displayName: z.ZodOptional<z.ZodString>;
|
|
156
|
+
description: z.ZodOptional<z.ZodString>;
|
|
157
157
|
protocol: z.ZodOptional<z.ZodString>;
|
|
158
158
|
helpLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
159
159
|
label: z.ZodString;
|
|
@@ -691,8 +691,8 @@ declare const AdapterSubsystemSchemas: {
|
|
|
691
691
|
}, z.core.$strict>;
|
|
692
692
|
response: z.ZodObject<{
|
|
693
693
|
config: z.ZodObject<{
|
|
694
|
-
description: z.ZodOptional<z.ZodString>;
|
|
695
694
|
displayName: z.ZodOptional<z.ZodString>;
|
|
695
|
+
description: z.ZodOptional<z.ZodString>;
|
|
696
696
|
protocol: z.ZodOptional<z.ZodString>;
|
|
697
697
|
helpLinks: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
698
698
|
label: z.ZodString;
|