@makaio/framework 1.0.0-dev-1788909333961 → 1.0.0-dev-1788914730846
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.makaio-build.json +2 -2
- package/dist/artifact-DtmJR46g.mjs +1 -0
- package/dist/authority-state-bootstrap-DnwkMieA.mjs +1 -0
- package/dist/bus/index.d.mts +20 -20
- package/dist/bus/index.mjs +1 -1
- package/dist/code-execution-B9wr0b972.mjs +1 -0
- package/dist/contracts/adapter/index.d.mts +2 -2
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
- package/dist/contracts/artifact/index.d.mts +3 -3
- package/dist/contracts/artifact/index.mjs +1 -1
- package/dist/contracts/canonical-model/index.d.mts +1 -1
- package/dist/contracts/capabilities/index.d.mts +1 -1
- package/dist/contracts/client/index.d.mts +1 -1
- package/dist/contracts/extension/index.d.mts +2 -2
- package/dist/contracts/extension/index.mjs +1 -1
- package/dist/contracts/index.d.mts +168 -168
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/materialization/index.d.mts +2 -2
- package/dist/contracts/materialization/index.mjs +1 -1
- package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/contracts/worker/index.d.mts +1 -1
- package/dist/contracts/worker/index.mjs +1 -1
- package/dist/contracts/workflow/index.d.mts +2 -2
- package/dist/contracts/workflow/index.mjs +1 -1
- package/dist/{execution-attempt-repository-CF3cWsPo.d.mts → execution-attempt-repository-dE889kHj.d.mts} +60 -6
- package/dist/{extension-BgUSK5rv.mjs → extension-C1CwxkCN.mjs} +1 -1
- package/dist/framework-packages-B3SQPHD7.mjs +1 -0
- package/dist/{index-uv_WSQtw2.d.mts → index-Aomg_qFA2.d.mts} +159 -27
- package/dist/{index-CZuhTqsX2.d.mts → index-B_rFtKIO2.d.mts} +12 -12
- package/dist/{index-OP6Aw5jN.d.mts → index-BfXf_CcM.d.mts} +13 -15
- package/dist/{index-CpdRe5df.d.mts → index-C50sVXO7.d.mts} +767 -53
- package/dist/{index-DlKxbLC9.d.mts → index-CRQ2U0jE.d.mts} +7 -7
- package/dist/{index-B4Wg4W7d.d.mts → index-C_R6ifn9.d.mts} +100 -100
- package/dist/{index-B7VO0gQV.d.mts → index-CmAJx-cX.d.mts} +1 -1
- package/dist/{index-VAJBIJUb.d.mts → index-CtlurrJF.d.mts} +23 -23
- package/dist/{index-DFsJTTkS.d.mts → index-D3-21gUP.d.mts} +1 -1
- package/dist/{index-BO_ikAR-.d.mts → index-DRryNq7D.d.mts} +4 -4
- package/dist/{index-BeplDh91.d.mts → index-DfYMmJDZ.d.mts} +1974 -419
- package/dist/{index-VCtdvtEk.d.mts → index-DzeUtJtE.d.mts} +344 -344
- package/dist/{index-tDCBp28C.d.mts → index-KZ4YllPp.d.mts} +391 -391
- package/dist/{index-BALk4zcu.d.mts → index-ZEQDAT9K.d.mts} +1 -1
- package/dist/{index-U0Fe0baO.d.mts → index-jXU4dntl.d.mts} +6 -6
- package/dist/{index-b_LJnwCU2.d.mts → index-ksNVQHeY2.d.mts} +8 -8
- package/dist/{index-ByJ2NESC.d.mts → index-l9WK9El6.d.mts} +6 -6
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/index.d.mts +2 -2
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/{lib-Ql8RWYOd.mjs → lib-0MqNtDuH.mjs} +4 -4
- package/dist/{lib-B8hEa65D.mjs → lib-dlyJT26K.mjs} +1 -1
- package/dist/{materialization-CqOHTt92.mjs → materialization-CDemi12q.mjs} +1 -1
- package/dist/{namespace-DELzAyzb.d.mts → namespace-B_Gw6BMX.d.mts} +152 -152
- package/dist/{namespace-BlH5BeSq.d.mts → namespace-CePc0U4N.d.mts} +2 -2
- package/dist/{namespace-BocL2nn7.d.mts → namespace-CizM5GXh.d.mts} +6 -6
- package/dist/{namespace-DyeMWQKf.d.mts → namespace-D9ToNQPp.d.mts} +25 -25
- package/dist/{namespace-BVQ8Y2Yi.d.mts → namespace-DF9m7PLi.d.mts} +7 -7
- package/dist/{package-DnlJ4I1i.d.mts → package-BR0pO5BI.d.mts} +71 -9
- package/dist/package-DKfzsJVl.mjs +7 -0
- package/dist/package.json +1 -1
- package/dist/runtime-node/code-execution/index.d.mts +1 -1
- package/dist/runtime-node/code-execution/index.mjs +1 -1
- package/dist/runtime-node/index.d.mts +1 -1
- package/dist/runtime-node/index.mjs +1 -1
- package/dist/runtime-node/workflow-worker/index.mjs +1 -1
- package/dist/{schema-CJfSEZ8X.d.mts → schema-7GukLoee.d.mts} +1 -1
- package/dist/{schemas-B9yLU2jM.d.mts → schemas-6FlRULSc.d.mts} +212 -80
- package/dist/schemas-BahXrOYa.mjs +1 -0
- package/dist/{schemas-Djt6hIjz.d.mts → schemas-CKGHlsMd.d.mts} +1 -1
- package/dist/{schemas-mGJIRIZ5.d.mts → schemas-Cg2gAars.d.mts} +152 -152
- package/dist/{schemas-BfMFZ6J5.d.mts → schemas-CkOVC3ip.d.mts} +4 -4
- package/dist/{schemas-BBatvMde.d.mts → schemas-Df52igU4.d.mts} +4 -4
- package/dist/services/adapter-runtime/index.d.mts +3 -3
- package/dist/services/adapter-runtime/namespace.d.mts +1 -1
- package/dist/services/adapter-runtime/schemas.d.mts +1 -1
- package/dist/services/adapter-subsystem/index.d.mts +2 -2
- package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/index.d.mts +2 -2
- package/dist/services/agent-runtime/namespace.d.mts +1 -1
- package/dist/services/agent-runtime/schemas.d.mts +1 -1
- package/dist/services/context-rules/index.d.mts +3 -3
- package/dist/services/execution-target/index.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/git/namespace.d.mts +2 -2
- package/dist/services/git/schemas.d.mts +2 -2
- package/dist/services/index.d.mts +103 -103
- package/dist/services/index.mjs +1 -1
- package/dist/services/provider-context/index.d.mts +1 -1
- package/dist/services/session/index.d.mts +5 -5
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/settings/namespace.d.mts +4 -4
- package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
- package/dist/services/subagent-template/index.d.mts +1 -1
- package/dist/services/subagent-template/schemas.d.mts +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/services/workflow-transitions/index.mjs +1 -1
- package/dist/{session-lineage-Bwb98OUz.d.mts → session-lineage-BtvnGkoC.d.mts} +1 -1
- package/dist/{tools-BkSFBqUz.mjs → tools-2INrWlnS.mjs} +1 -1
- package/dist/{transition-BbfxZ4U1.d.mts → transition-C1rMI1ue.d.mts} +1 -1
- package/dist/{types-CXwFtEIF.d.mts → types-DIHb_m2K.d.mts} +350 -350
- package/dist/{view-builder-CJtK5hgs.d.mts → view-builder-Dt9UEsPc.d.mts} +1 -1
- package/dist/{worker-VBlgozIo.mjs → worker-Bn0x5MSH.mjs} +1 -1
- package/dist/workflow-B6C3Pf66.mjs +1 -0
- package/dist/workflow-engine/execution-attempt-repository.d.mts +2 -2
- package/dist/workflow-engine/index.d.mts +29 -27
- package/dist/workflow-engine/index.mjs +1 -1
- package/dist/workflow-engine/package.d.mts +1 -1
- package/dist/workflow-engine/package.mjs +1 -1
- package/dist/workflow-engine/provider-operation.d.mts +2 -2
- package/dist/workflow-engine/testing/conformance.d.mts +1 -1
- package/dist/workflow-engine/testing/conformance.mjs +1 -1
- package/dist/workflow-engine/testing/index.d.mts +3 -1
- package/dist/workflow-engine/testing/index.mjs +1 -1
- package/dist/workflow-engine/testing/sqlite.d.mts +1 -1
- package/dist/workflow-engine/testing/sqlite.mjs +13 -3
- package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
- package/dist/{workflow-transitions-Cuo6s9uv.mjs → workflow-transitions-BbhM_zPm.mjs} +1 -1
- package/dist/{workflow-worker-7AA-u1uC.mjs → workflow-worker-BSJ6F4P0.mjs} +1 -1
- package/package.json +1 -1
- package/dist/artifact-BjqkK0KX.mjs +0 -1
- package/dist/authority-state-bootstrap-8VGt4vD2.mjs +0 -1
- package/dist/code-execution-BsiB7ZeZ2.mjs +0 -1
- package/dist/framework-packages-CxWecyPW.mjs +0 -1
- package/dist/package-BwIbyojG.mjs +0 -7
- package/dist/schemas-0eCrrru1.mjs +0 -1
- package/dist/workflow-svpU9Cig.mjs +0 -1
- package/dist/{index-DrwT45ci2.d.mts → index-B04VAxlm2.d.mts} +6 -6
- /package/dist/{kind-registration-T--B1wiI.mjs → kind-registration-DggkrLkv.mjs} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e}from"./kind-registration-T--B1wiI.mjs";import{n as t}from"./definition-YGj42UeO.mjs";import{n,t as r}from"./version-3xWJDCeF.mjs";import{z as i}from"zod";const a=i.object({entrypoint:i.string().startsWith(`/`,{message:`Entrypoint must be a URL path starting with "/"`})}),o=i.object({endpoint:i.string().url().optional()}),s=i.union([t,i.object({anthropic:o.optional(),openai:o.optional()}).refine(e=>Object.keys(e).length>0,{message:`ProtocolRef config object must specify at least one protocol`})]),c=i.object({id:i.string().min(1),version:n,binaryVersion:n.optional()}),l=i.object({name:i.string().min(1),displayName:i.string().min(1).optional(),description:i.string().optional(),clients:i.array(c).readonly().optional(),protocols:i.array(s).readonly(),defaultProvider:i.string().min(1).optional()}),u=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional(),binary:i.object({name:i.string().min(1),managed:i.boolean().optional(),version:r.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(),d=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional()}),f=i.object({prefix:i.string().min(1),description:i.string().optional(),stage:i.enum([`gather`,`transform`,`action`]).optional()}),p=i.object({adapterName:i.string().min(1),displayName:i.string().min(1),logFilePattern:i.string().min(1).optional()}),m=i.object({id:i.string().min(1),label:i.string().min(1),description:i.string().optional(),icon:i.string().min(1).optional(),selectionMode:i.enum([`single`,`multi`]),messageRoles:i.array(i.enum([`user`,`assistant`])).readonly().optional()}),h=i.enum([`beforeCreate`,`beforeRevise`,`afterCreate`,`afterRevise`,`afterStatusChanged`,`afterObservationAdded`]),g=i.object({id:i.string().min(1),event:h,kind:i.string().min(1).optional(),schemaVersion:e.optional()}),_=i.object({tiles:i.boolean().optional(),widgets:i.boolean().optional(),pages:i.boolean().optional(),routes:i.boolean().optional()}),v={adapters:`adapter`,clients:`client`,providers:`provider`,hashTriggers:`hash trigger`,logImporters:`log importer`,sessionEventActions:`session event action`,artifactLifecycleHooks:`artifact lifecycle hook`};function y(e,t,n){e.addIssue({code:i.ZodIssueCode.custom,path:[t],message:`Duplicate ${v[t]} contribution identifier "${n}"`})}function b(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 x=i.object({adapters:i.array(l).readonly().optional(),clients:i.array(u).readonly().optional(),providers:i.array(d).readonly().optional(),hashTriggers:i.array(f).readonly().optional(),logImporters:i.array(p).readonly().optional(),sessionEventActions:i.array(m).readonly().optional(),artifactLifecycleHooks:i.array(g).readonly().optional(),create:i.boolean().optional(),tools:i.boolean().optional(),bootstrap:i.boolean().optional(),namespace:i.boolean().optional(),configSchema:i.boolean().optional(),uiConfig:i.boolean().optional(),ui:_.optional()}).strict().superRefine((e,t)=>{for(let n of b(e.adapters,e=>e.name))y(t,`adapters`,n);for(let n of b(e.clients,e=>e.id))y(t,`clients`,n);for(let n of b(e.providers,e=>e.id))y(t,`providers`,n);for(let n of b(e.hashTriggers,e=>e.prefix))y(t,`hashTriggers`,n);for(let n of b(e.logImporters,e=>e.adapterName))y(t,`logImporters`,n);for(let n of b(e.sessionEventActions,e=>e.id))y(t,`sessionEventActions`,n);for(let n of b(e.artifactLifecycleHooks,e=>e.id))y(t,`artifactLifecycleHooks`,n)}),S=i.string().trim().min(1).transform(e=>e),C=i.object({name:i.string().min(1),required:i.boolean().optional()}),w=i.object({id:i.string(),style:i.enum([`tray-popover`,`utility`,`panel`]),width:i.number().optional(),height:i.number().optional(),singleton:i.boolean().optional(),params:i.array(C).readonly().optional()}).superRefine((e,t)=>{let n=new Set;for(let[r,a]of e.params?.entries()??[]){if(!n.has(a.name)){n.add(a.name);continue}t.addIssue({code:i.ZodIssueCode.custom,message:`Duplicate window param "${a.name}"`,path:[`params`,r,`name`]})}}),T=i.object({label:i.string(),section:i.enum([`utilities`,`tools`,`views`]).optional(),opensWindow:i.string().optional(),action:i.string().optional()}),E=i.object({name:i.string().min(1),description:i.string(),required:i.boolean().optional(),positional:i.boolean().optional(),short:i.string().regex(/^-[A-Za-z0-9]$/,`Expected a short flag like -p`).optional(),type:i.enum([`string`,`boolean`,`number`]).optional()}),D=i.object({name:i.string().min(1),description:i.string(),args:i.array(E).readonly().optional()}),O=i.object({name:i.string().min(1),description:i.string(),subcommands:i.array(D).readonly().optional(),hasInteractive:i.boolean().optional(),canProvideBus:i.boolean().optional()}),k=[`sqlite`,`postgres`];function A(e){if(e!==void 0)return typeof e==`string`?e:e.sqlite??Object.values(e).find(e=>e!==void 0)}function j(e){if(e===void 0)return[];if(typeof e==`string`)return[e];let t=new Set;for(let n of Object.values(e))n!==void 0&&t.add(n);return[...t]}const M=i.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`),N=i.object({migrations:i.union([M,i.object({sqlite:M.optional(),postgres:M.optional()}).strict().refine(e=>Object.values(e).some(e=>e!==void 0),`Per-dialect storage.migrations must declare at least one chain`)]).optional(),migrationSourceId:i.string().min(1).optional()}),P=i.object({type:i.literal(`extension`),name:i.string().min(1),version:n,optional:i.boolean().optional()});function F(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 I=i.discriminatedUnion(`type`,[i.object({type:i.literal(`host`),id:i.string().min(1)}),i.object({type:i.literal(`capability`),id:i.string().min(1),version:n.optional()})]),L=i.object({name:i.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:i.string().min(1),version:r,surface:i.enum([`interactive`,`headless`,`any`]).optional(),dependencies:i.array(P).readonly().optional(),requires:i.array(I).readonly().optional(),provides:i.array(S).readonly().optional(),windows:i.array(w).readonly().optional(),tray:T.optional(),cli:O.optional(),storage:N.optional(),browser:a.optional(),contributions:x.optional()});function R(e){return Object.freeze({name:e})}const z=i.object({command:i.string().min(1),args:i.array(i.string()).optional(),env:i.record(i.string(),i.string()).optional(),healthTimeoutMs:i.number().int().positive().optional(),shutdownTimeoutMs:i.number().int().positive().optional()}),B=i.enum([`none`,`on-crash`,`always`]),V=z.extend({restartPolicy:B.optional()}),H=i.discriminatedUnion(`type`,[V.extend({type:i.literal(`bus-stdio`)}),V.extend({type:i.literal(`bus-websocket`)}),z.extend({type:i.literal(`mcp-stdio`)})]);function U(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 W=i.union([i.literal(!0),i.string().min(1).refine(U,{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`})]),G=i.object({server:W.optional(),browser:W.optional(),cli:W.optional()}).refine(e=>e.server!==void 0||e.browser!==void 0||e.cli!==void 0,{message:`at least one entrypoint must be declared`});function K(e){return e.execution===`detached`}const q=L.extend({version:r,makaio:i.object({framework:n}).strict().readonly(),entrypoints:G.optional(),execution:i.enum([`embedded`,`detached`]).optional(),transport:H.optional(),prebundleDependencies:i.array(i.string().regex(/\S/,`prebundleDependencies entries must not be blank`)).readonly().optional(),config:i.object({defaults:i.record(i.string(),i.unknown()).optional()}).optional()}).superRefine((e,t)=>{e.prebundleDependencies!==void 0&&e.entrypoints?.browser===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`prebundleDependencies requires a browser entrypoint`,path:[`prebundleDependencies`]}),e.execution===`detached`?(e.transport===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`detached extensions must declare a 'transport' config`,path:[`transport`]}),e.entrypoints!==void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`detached extensions must not declare entrypoints`,path:[`entrypoints`]})):(e.entrypoints===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`embedded extensions must declare at least one entrypoint`,path:[`entrypoints`]}),e.transport!==void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`embedded extensions must not declare a transport config`,path:[`transport`]}))});function J(e){return e}function Y(e){return J(q.parse(e))}function X(e){let t=q.safeParse(e);return t.success?{success:!0,data:J(t.data)}:t}const Z=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`configure-integration`),clientId:i.string().min(1),bundle:i.string().min(1)}),i.object({kind:i.literal(`install-extension`),extensionName:i.string().min(1)}),i.object({kind:i.literal(`open-url`),url:i.string().url()}),i.object({kind:i.literal(`run-command`),command:i.string().min(1)})]),Q=i.enum([`info`,`recommended`,`degraded`]),$=i.object({severity:Q,title:i.string().min(1),message:i.string().min(1),action:Z.optional()});function ee(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 te=i.object({extensionName:i.string().min(1),warnings:i.array($)});function ne(e,t){return e.parse(t??{})}function re(e){return JSON.stringify([e.extensionId,e.type,e.name,e.filename])}export{c as A,d as B,T as C,F as D,j as E,x as F,_ as H,f as I,p as L,h as M,g as N,A as O,u as P,o as R,N as S,C as T,a as U,m as V,D as _,$ as a,I as b,H as c,K as d,Y as f,O as g,E as h,te as i,l as j,S as k,q as l,R as m,ne as n,Q as o,X as p,Z as r,ee as s,re as t,G as u,P as v,w,k as x,L as y,s as z};
|
|
1
|
+
import{c as e}from"./kind-registration-DggkrLkv.mjs";import{n as t}from"./definition-YGj42UeO.mjs";import{n,t as r}from"./version-3xWJDCeF.mjs";import{z as i}from"zod";const a=i.object({entrypoint:i.string().startsWith(`/`,{message:`Entrypoint must be a URL path starting with "/"`})}),o=i.object({endpoint:i.string().url().optional()}),s=i.union([t,i.object({anthropic:o.optional(),openai:o.optional()}).refine(e=>Object.keys(e).length>0,{message:`ProtocolRef config object must specify at least one protocol`})]),c=i.object({id:i.string().min(1),version:n,binaryVersion:n.optional()}),l=i.object({name:i.string().min(1),displayName:i.string().min(1).optional(),description:i.string().optional(),clients:i.array(c).readonly().optional(),protocols:i.array(s).readonly(),defaultProvider:i.string().min(1).optional()}),u=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional(),binary:i.object({name:i.string().min(1),managed:i.boolean().optional(),version:r.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(),d=i.object({id:i.string().min(1),name:i.string().min(1),description:i.string().optional()}),f=i.object({prefix:i.string().min(1),description:i.string().optional(),stage:i.enum([`gather`,`transform`,`action`]).optional()}),p=i.object({adapterName:i.string().min(1),displayName:i.string().min(1),logFilePattern:i.string().min(1).optional()}),m=i.object({id:i.string().min(1),label:i.string().min(1),description:i.string().optional(),icon:i.string().min(1).optional(),selectionMode:i.enum([`single`,`multi`]),messageRoles:i.array(i.enum([`user`,`assistant`])).readonly().optional()}),h=i.enum([`beforeCreate`,`beforeRevise`,`afterCreate`,`afterRevise`,`afterStatusChanged`,`afterObservationAdded`]),g=i.object({id:i.string().min(1),event:h,kind:i.string().min(1).optional(),schemaVersion:e.optional()}),_=i.object({tiles:i.boolean().optional(),widgets:i.boolean().optional(),pages:i.boolean().optional(),routes:i.boolean().optional()}),v={adapters:`adapter`,clients:`client`,providers:`provider`,hashTriggers:`hash trigger`,logImporters:`log importer`,sessionEventActions:`session event action`,artifactLifecycleHooks:`artifact lifecycle hook`};function y(e,t,n){e.addIssue({code:i.ZodIssueCode.custom,path:[t],message:`Duplicate ${v[t]} contribution identifier "${n}"`})}function b(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 x=i.object({adapters:i.array(l).readonly().optional(),clients:i.array(u).readonly().optional(),providers:i.array(d).readonly().optional(),hashTriggers:i.array(f).readonly().optional(),logImporters:i.array(p).readonly().optional(),sessionEventActions:i.array(m).readonly().optional(),artifactLifecycleHooks:i.array(g).readonly().optional(),create:i.boolean().optional(),tools:i.boolean().optional(),bootstrap:i.boolean().optional(),namespace:i.boolean().optional(),configSchema:i.boolean().optional(),uiConfig:i.boolean().optional(),ui:_.optional()}).strict().superRefine((e,t)=>{for(let n of b(e.adapters,e=>e.name))y(t,`adapters`,n);for(let n of b(e.clients,e=>e.id))y(t,`clients`,n);for(let n of b(e.providers,e=>e.id))y(t,`providers`,n);for(let n of b(e.hashTriggers,e=>e.prefix))y(t,`hashTriggers`,n);for(let n of b(e.logImporters,e=>e.adapterName))y(t,`logImporters`,n);for(let n of b(e.sessionEventActions,e=>e.id))y(t,`sessionEventActions`,n);for(let n of b(e.artifactLifecycleHooks,e=>e.id))y(t,`artifactLifecycleHooks`,n)}),S=i.string().trim().min(1).transform(e=>e),C=i.object({name:i.string().min(1),required:i.boolean().optional()}),w=i.object({id:i.string(),style:i.enum([`tray-popover`,`utility`,`panel`]),width:i.number().optional(),height:i.number().optional(),singleton:i.boolean().optional(),params:i.array(C).readonly().optional()}).superRefine((e,t)=>{let n=new Set;for(let[r,a]of e.params?.entries()??[]){if(!n.has(a.name)){n.add(a.name);continue}t.addIssue({code:i.ZodIssueCode.custom,message:`Duplicate window param "${a.name}"`,path:[`params`,r,`name`]})}}),T=i.object({label:i.string(),section:i.enum([`utilities`,`tools`,`views`]).optional(),opensWindow:i.string().optional(),action:i.string().optional()}),E=i.object({name:i.string().min(1),description:i.string(),required:i.boolean().optional(),positional:i.boolean().optional(),short:i.string().regex(/^-[A-Za-z0-9]$/,`Expected a short flag like -p`).optional(),type:i.enum([`string`,`boolean`,`number`]).optional()}),D=i.object({name:i.string().min(1),description:i.string(),args:i.array(E).readonly().optional()}),O=i.object({name:i.string().min(1),description:i.string(),subcommands:i.array(D).readonly().optional(),hasInteractive:i.boolean().optional(),canProvideBus:i.boolean().optional()}),k=[`sqlite`,`postgres`];function A(e){if(e!==void 0)return typeof e==`string`?e:e.sqlite??Object.values(e).find(e=>e!==void 0)}function j(e){if(e===void 0)return[];if(typeof e==`string`)return[e];let t=new Set;for(let n of Object.values(e))n!==void 0&&t.add(n);return[...t]}const M=i.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`),N=i.object({migrations:i.union([M,i.object({sqlite:M.optional(),postgres:M.optional()}).strict().refine(e=>Object.values(e).some(e=>e!==void 0),`Per-dialect storage.migrations must declare at least one chain`)]).optional(),migrationSourceId:i.string().min(1).optional()}),P=i.object({type:i.literal(`extension`),name:i.string().min(1),version:n,optional:i.boolean().optional()});function F(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 I=i.discriminatedUnion(`type`,[i.object({type:i.literal(`host`),id:i.string().min(1)}),i.object({type:i.literal(`capability`),id:i.string().min(1),version:n.optional()})]),L=i.object({name:i.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:i.string().min(1),version:r,surface:i.enum([`interactive`,`headless`,`any`]).optional(),dependencies:i.array(P).readonly().optional(),requires:i.array(I).readonly().optional(),provides:i.array(S).readonly().optional(),windows:i.array(w).readonly().optional(),tray:T.optional(),cli:O.optional(),storage:N.optional(),browser:a.optional(),contributions:x.optional()});function R(e){return Object.freeze({name:e})}const z=i.object({command:i.string().min(1),args:i.array(i.string()).optional(),env:i.record(i.string(),i.string()).optional(),healthTimeoutMs:i.number().int().positive().optional(),shutdownTimeoutMs:i.number().int().positive().optional()}),B=i.enum([`none`,`on-crash`,`always`]),V=z.extend({restartPolicy:B.optional()}),H=i.discriminatedUnion(`type`,[V.extend({type:i.literal(`bus-stdio`)}),V.extend({type:i.literal(`bus-websocket`)}),z.extend({type:i.literal(`mcp-stdio`)})]);function U(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 W=i.union([i.literal(!0),i.string().min(1).refine(U,{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`})]),G=i.object({server:W.optional(),browser:W.optional(),cli:W.optional()}).refine(e=>e.server!==void 0||e.browser!==void 0||e.cli!==void 0,{message:`at least one entrypoint must be declared`});function K(e){return e.execution===`detached`}const q=L.extend({version:r,makaio:i.object({framework:n}).strict().readonly(),entrypoints:G.optional(),execution:i.enum([`embedded`,`detached`]).optional(),transport:H.optional(),prebundleDependencies:i.array(i.string().regex(/\S/,`prebundleDependencies entries must not be blank`)).readonly().optional(),config:i.object({defaults:i.record(i.string(),i.unknown()).optional()}).optional()}).superRefine((e,t)=>{e.prebundleDependencies!==void 0&&e.entrypoints?.browser===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`prebundleDependencies requires a browser entrypoint`,path:[`prebundleDependencies`]}),e.execution===`detached`?(e.transport===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`detached extensions must declare a 'transport' config`,path:[`transport`]}),e.entrypoints!==void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`detached extensions must not declare entrypoints`,path:[`entrypoints`]})):(e.entrypoints===void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`embedded extensions must declare at least one entrypoint`,path:[`entrypoints`]}),e.transport!==void 0&&t.addIssue({code:i.ZodIssueCode.custom,message:`embedded extensions must not declare a transport config`,path:[`transport`]}))});function J(e){return e}function Y(e){return J(q.parse(e))}function X(e){let t=q.safeParse(e);return t.success?{success:!0,data:J(t.data)}:t}const Z=i.discriminatedUnion(`kind`,[i.object({kind:i.literal(`configure-integration`),clientId:i.string().min(1),bundle:i.string().min(1)}),i.object({kind:i.literal(`install-extension`),extensionName:i.string().min(1)}),i.object({kind:i.literal(`open-url`),url:i.string().url()}),i.object({kind:i.literal(`run-command`),command:i.string().min(1)})]),Q=i.enum([`info`,`recommended`,`degraded`]),$=i.object({severity:Q,title:i.string().min(1),message:i.string().min(1),action:Z.optional()});function ee(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 te=i.object({extensionName:i.string().min(1),warnings:i.array($)});function ne(e,t){return e.parse(t??{})}function re(e){return JSON.stringify([e.extensionId,e.type,e.name,e.filename])}export{c as A,d as B,T as C,F as D,j as E,x as F,_ as H,f as I,p as L,h as M,g as N,A as O,u as P,o as R,N as S,C as T,a as U,m as V,D as _,$ as a,I as b,H as c,K as d,Y as f,O as g,E as h,te as i,l as j,S as k,q as l,R as m,ne as n,Q as o,X as p,Z as r,ee as s,re as t,G as u,P as v,w,k as x,L as y,s as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{wt as e,x as t}from"./handlers-CBbFzDHc.mjs";import{SessionStorageSubjects as n}from"./services/session/storage/namespace.mjs";import{E as r,I as i,J as a,N as o,U as s,a as c,b as l,c as u,d,et as ee,i as te,k as ne,n as re,nt as ie,r as ae}from"./session-BDFNAcuY.mjs";import{r as f,t as oe}from"./namespace-BFlSY040.mjs";import{_ as se,a as ce,c as le,o as ue,s as de}from"./packages-7CsXP86g.mjs";import{n as fe}from"./package-D4eLGGv4.mjs";import"./services/adapter-subsystem/index.mjs";import{i as pe,s as me}from"./model-registry-DlUErRRt.mjs";import{d as he,f as ge,n as _e}from"./package-BUSXHPOT.mjs";import{t as ve}from"./tool-approval-service-rpV94znP.mjs";import{t as ye}from"./tray-menu-service-TWrmvXSo.mjs";import{r as p,t as be}from"./handler-BYQPNm8O.mjs";import{r as xe}from"./package-BiZ6ehWk.mjs";import{t as Se}from"./filesystem-service-yB8KhUGz.mjs";import{z as m}from"zod";import{createHash as Ce}from"node:crypto";import{getErrorString as h}from"@makaio/framework/utils";import{MakaioError as we,createMakaioContext as Te}from"@makaio/framework/core";import{MakaioBus as g}from"@makaio/framework/bus";import{AdapterSubjects as Ee,ArtifactSubjects as _,CanonicalModelSubjects as De,DEFAULT_HARNESSES as Oe,HarnessDefinitionCreateSchema as ke,HarnessSubjects as v,JsonValueSchema as Ae,ReactionDescriptorSchema as je,ToolSubjects as y,TransitionRuleDefinitionSchema as Me,WorkflowBlocksSubjects as b,WorkflowSubjects as Ne,dep as x,extensionToken as S,validateToolAdapterIdentity as Pe,zodSchemaToJsonRecord as C}from"@makaio/framework/contracts";import{BaseService as w}from"@makaio/framework/service-base";import{registerDrizzleHandlers as T}from"@makaio/framework/storage/drizzle";import{slugifyProviderConfigName as E}from"@makaio/framework/contracts/config";import{ClientAccountIdentifierSchema as Fe,ClientSessionAccountObserveSchema as Ie,ClientSubjects as D}from"@makaio/framework/contracts/client";import{FacetSubjects as O}from"@makaio/framework/contracts/facet";import{FILE_ACCESS_RULES_KEY as Le,ToolErrorCodes as k,errorToToolResult as Re,toolError as A,toolSuccess as ze}from"@makaio/framework/tools";import{ConditionSchema as Be,evaluate as Ve}from"@makaio/framework/rules";import{evaluateSync as He}from"@makaio/framework/expression";import{GitService as Ue}from"@makaio/framework/git";var j=class extends Error{reason;hookId;constructor(e,t){super(`Artifact write rejected by hook '${t}': ${e}`),this.reason=e,this.hookId=t,this.name=`ArtifactLifecycleHookRejectedError`}};function M(e,t){return e?!(e.kind!==void 0&&e.kind!==`*`&&e.kind!==t.kind||e.schemaVersion!==void 0&&e.schemaVersion!==t.schemaVersion):!0}function N(e){return e.priority??0}function We(e,t,n){return e.filter(e=>e.event===t&&M(e.filter,n)).sort((e,t)=>N(t)-N(e))}function Ge(e,t,n){return e.filter(e=>e.event===t&&M(e.filter,n)).sort((e,t)=>N(t)-N(e))}function Ke(e,t){return{...e,...`data`in t?{data:t.data}:{},...`relations`in t?{relations:t.relations}:{},...`evidence`in t?{evidence:t.evidence}:{},...`confidence`in t?{confidence:t.confidence}:{},...`representations`in t?{representations:t.representations}:{},...`actor`in t?{actor:t.actor}:{}}}function qe(e,t){let{evidence:n,confidence:r,representations:i,...a}=e;return{...a,data:t.data,relations:[...t.relations],...t.evidence===void 0?{}:{evidence:t.evidence},...t.confidence===void 0?{}:{confidence:t.confidence},...t.representations===void 0?{}:{representations:t.representations},actor:t.actor}}var P=class extends w{registrations=new Map;constructor(e){super(e)}async onInit(){}onDestroy(){this.registrations.clear()}registerHooks(e,t){let n=[...t];this.registrations.set(e,n);let r=!1;return()=>{r||(r=!0,this.registrations.get(e)===n&&this.registrations.delete(e))}}allHooks(){let e=[];for(let t of this.registrations.values())e.push(...t);return e}async runBeforeCreate(e){return this.runBeforeHooks(`beforeCreate`,e)}async runBeforeRevise(e){return this.runBeforeHooks(`beforeRevise`,e)}async runBeforeHooks(e,t){let{draft:n,previous:r,kindRegistration:i}=t,a=We(this.allHooks(),e,n),o=new Map,s={kind:n.kind,schemaVersion:n.schemaVersion,scope:n.scope,data:n.data,relations:n.relations,...n.evidence===void 0?{}:{evidence:n.evidence},...n.confidence===void 0?{}:{confidence:n.confidence},...n.representations===void 0?{}:{representations:n.representations},actor:n.actor},c=!1;for(let t of a){let n,a={event:e,get draft(){return s},previous:r,kindRegistration:i,bus:this.bus,meta:o,rejectCreation(e){n={reason:e}},skipMaterialization(){c=!0},updateDraft(e){s=Ke(s,e)}};if(await t.handler(a),n)throw new j(n.reason,t.id)}return{draft:qe(n,s),skipMaterialization:c,meta:o}}async runAfterCreate(e){await this.runAfterHooks(`afterCreate`,`created`,e)}async runAfterRevise(e){await this.runAfterHooks(`afterRevise`,`revised`,e)}async runAfterStatusChanged(e){await this.runAfterHooks(`afterStatusChanged`,`status-changed`,e)}async runAfterObservationAdded(e){await this.runAfterHooks(`afterObservationAdded`,`observation-added`,e)}async runAfterHooks(e,t,n){let{artifact:r,previous:i,observation:a,kindRegistration:o,skipDefaultProjection:s,meta:c}=n,l=Ge(this.allHooks(),e,r),u=this.bus,d=!1;for(let n of l){if(s&&(n.priority??0)<0||d&&(n.priority??0)<0)continue;let l={event:e,semanticEvent:t,artifact:r,previous:i?{refClass:`artifact`,id:i.id,revision:i.revision,kind:i.kind}:void 0,observation:a,kindRegistration:o,bus:u,meta:c,preventDefault(){d=!0},async resolveRelations(e){let t=r.relations.filter(t=>t.type===e).map(e=>e.target),n=[];for(let e of t){let t=e;if(t.refClass===`artifact`){let e=t,{artifact:r}=await u.request(_.resolve,{ref:e});r&&n.push(r)}}return n}};try{await n.handler(l)}catch(t){console.error(`[ArtifactLifecycleHookRegistry] Hook '${n.id}' threw during '${e}':`,t)}}}};function F(e){return structuredClone(e)}var I=class extends w{namespaces=new Map;constructor(e){super(e)}async onInit(){this.registerHandler(O.namespace.register,e=>{this.registerNamespace(e.payload),e.setResult({registered:!0})}),this.registerHandler(O.namespace.list,e=>{let{namespace:t}=e.payload,n=[...this.namespaces.values()].filter(e=>!t||e.namespace===t).map(F);e.setResult({namespaces:n})})}registerNamespace(e){let t=this.namespaces.get(e.namespace);if(t){if(JSON.stringify(t)!==JSON.stringify(e))throw Error(`Facet namespace '${e.namespace}' is already registered with a different definition`);return}this.namespaces.set(e.namespace,F(e)),this.bus.emit(O.namespace.changed,{namespace:e.namespace})}deregisterNamespace(e){this.namespaces.delete(e)&&this.bus.emit(O.namespace.changed,{namespace:e})}getNamespace(e){let t=this.namespaces.get(e);return t?F(t):void 0}onDestroy(){this.namespaces.clear()}},L=class extends we{code;suggestions;constructor(e,t,n){super(e),this.code=t,this.suggestions=n}},R=class{deps;constructor(e){this.deps=e}async resolve(e,t){switch(e.kind){case`bare`:return this.resolveBare(e.model);case`qualified`:return this.resolveQualified(e.segment1,e.segment2,e.model)}}async resolveBare(e){let t=await this.deps.resolveDefaultModelTarget(e);switch(t.kind){case`resolved`:return{kind:`adapter`,adapterName:t.target.adapterName,providerConfigId:t.target.providerConfigId,model:t.target.model};case`ambiguous`:throw new L(`Model "${e}" is available via multiple providers. Use a qualified reference to select one.`,`ambiguous-model`,t.matches.map(e=>e.qualifiedName));case`not-found`:throw new L(`Model "${e}" was not found in any enabled adapter's registry.`,`model-not-found`)}}async resolveQualified(e,t,n){return t===void 0?this.resolveQualifiedOneSegment(e,n):this.resolveQualifiedTwoSegments(e,t,n)}async resolveQualifiedTwoSegments(e,t,n){let r=await this.deps.listEnabledAdapterNames();if(!r.includes(e))throw new L(`Adapter "${e}" is not enabled or does not exist.`,`adapter-not-found`);return{kind:`adapter`,adapterName:e,providerConfigId:await this.resolveProviderSegment(t,e,r),model:n}}async resolveQualifiedOneSegment(e,t){let n=await this.deps.listEnabledAdapterNames();if(n.includes(e)){let n=await this.deps.getDefaultBinding(e);if(!n)throw new L(`Adapter "${e}" has no enabled provider binding. Configure or enable a provider binding first.`,`no-binding`);return{kind:`adapter`,adapterName:e,providerConfigId:n.providerConfigId,model:t}}let r=await this.deps.findProviderConfigByName(e);if(r)return{kind:`adapter`,adapterName:(await this.pickBindingForConfig(r.id,n)).adapterName,providerConfigId:r.id,model:t};let i=await this.deps.findProviderDefinition(e,n);if(i){let r=await this.deps.findDefaultConfigForDefinition(i.id);if(!r)throw new L(`Provider definition "${e}" exists but has no configured provider config. Create a provider config first.`,`provider-not-found`);return{kind:`adapter`,adapterName:(await this.pickBindingForConfig(r.id,n)).adapterName,providerConfigId:r.id,model:t}}throw new L(`"${e}" does not match any enabled adapter name, provider config name, or provider definition ID.`,`adapter-not-found`)}async resolveProviderSegment(e,t,n){let r=await this.deps.findProviderConfigByName(e);if(r)return await this.requireBindingForAdapterAndConfig(t,r.id,e),r.id;let i=await this.deps.findProviderDefinition(e,n);if(i){let n=await this.deps.findConfigForDefinitionAndAdapter(i.id,t);if(!n)throw new L(`Provider definition "${e}" has no enabled config bound to adapter "${t}". Create a provider config and binding first.`,`no-binding`);return n.id}throw new L(`"${e}" does not match any provider config name or provider definition ID.`,`provider-not-found`)}async requireBindingForAdapterAndConfig(e,t,n){if(!(await this.deps.listBindingsForConfig(t)).some(t=>t.adapterName===e))throw new L(`No binding exists between adapter "${e}" and provider "${n}". Create a binding first.`,`no-binding`)}async pickBindingForConfig(e,t){let n=(await this.deps.listBindingsForConfig(e)).filter(e=>t.includes(e.adapterName));if(n.length===0)throw new L(`Provider config "${e}" has no bindings to enabled adapters. Bind it to an enabled adapter first.`,`no-binding`);return n.find(e=>e.isDefault)??n[0]}},z=class e extends w{constructor(e=g){super(e)}async onInit(){await this.bus.request(f.ensureReady,{});let e=new R(this.createDeps());this.registerHandler(De.resolve,async t=>{let n=await e.resolve(t.payload.parsed,t.payload.context);t.setResult(n)})}createDeps(){let e=this.bus,t=async()=>{let{adapters:t}=await e.request(f.listAdapters,{});return t.filter(e=>e.enabled).map(e=>e.name)},n=async t=>{let[n,r]=await Promise.all([e.request(f.getDefaultBinding,{adapterName:t}),this.listEnabledProviderConfigIds()]);if(n.binding&&r.has(n.binding.providerConfigId))return n.binding;let{bindings:i}=await e.request(f.listBindings,{adapterName:t}),a=i.filter(e=>r.has(e.providerConfigId));return a.find(e=>e.isDefault)??a[0]},r=async t=>{let{definitions:n}=await e.request(f.getProviderDefinitionsByAdapter,{adapterName:t});return n},i=async t=>{let{bindings:n}=await e.request(f.listBindingsByConfig,{providerConfigId:t});return n},a=async t=>{let{configs:n}=await e.request(f.listProviderConfigs,{enabled:!0}),r=E(t);return n.find(e=>E(e.name)===r)},o=this.buildFindProviderDefinition(t,r),s=async t=>{let{configs:n}=await e.request(f.listProviderConfigsByDefinition,{definitionId:t}),r=n.filter(e=>e.enabled);return r.find(e=>e.isDefault)??r[0]},c=async(t,n)=>{let{config:r}=await e.request(f.findConfigForDefinitionAndAdapter,{definitionId:t,adapterName:n});return r?{id:r.id}:void 0};return{listEnabledAdapterNames:t,getDefaultBinding:n,findProviderConfigByName:a,findProviderDefinition:o,listBindingsForConfig:i,findDefaultConfigForDefinition:s,findConfigForDefinitionAndAdapter:c,resolveDefaultModelTarget:this.buildResolveDefaultModelTarget(t,r,c)}}buildFindProviderDefinition(e,t){return async(n,r)=>{let i=r??await e();for(let e of i){let r=(await t(e)).find(e=>e.id===n);if(r)return r}}}buildResolveDefaultModelTarget(t,n,r){let i=this.bus;return async a=>{let o=await t(),s=await Promise.all(o.map(async e=>({adapterName:e,definitions:await n(e)}))),c=Array.from(new Set(s.flatMap(({definitions:e})=>e.map(e=>e.id))));if(c.length===0)return{kind:`not-found`};let{matches:l}=await i.request(me.checkModelInProviders,{providerIds:c,model:a}),u=(await Promise.all(s.map(({adapterName:e,definitions:t})=>this.collectAdapterCandidates(e,t,a,l,r)))).flat();return e.buildResolution(u)}}async collectAdapterCandidates(e,t,n,r,i){let a=t.filter(e=>e.id in r),o=await Promise.all(a.map(t=>i(t.id,e)));return a.flatMap((t,r)=>{let i=o[r];return i?[{adapterName:e,definitionId:t.id,providerConfigId:i.id,qualifiedName:`${e}/${t.id}::${n}`,model:n}]:[]})}static buildResolution(e){let t=Array.from(new Map(e.map(e=>[this.routeKey(e),e])).values());if(t.length===0)return{kind:`not-found`};if(t.length>1)return{kind:`ambiguous`,matches:t.map(({adapterName:e,definitionId:t,qualifiedName:n})=>({adapterName:e,definitionId:t,qualifiedName:n}))};let[n]=t;return{kind:`resolved`,target:{adapterName:n.adapterName,providerConfigId:n.providerConfigId,definitionId:n.definitionId,model:n.model}}}static routeKey(e){return`${e.adapterName}\0${e.definitionId}\0${e.providerConfigId}`}async listEnabledProviderConfigIds(){let{configs:e}=await this.bus.request(f.listProviderConfigs,{enabled:!0});return new Set(e.map(e=>e.id))}};const B={name:`makaio.canonical-model`,displayName:`Canonical Model`,version:`0.1.0`,dependencies:[x(oe)],critical:!1,create:e=>new z(e.bus)};var V=class extends w{definitionsByExtension=new Map;definitionsByKind=new Map;constructor(e){super(e)}onInit(){}onDestroy(){this.definitionsByExtension.clear(),this.definitionsByKind.clear()}register(e,t){let n=this.validateBatch(e,t),r=new Map(this.definitionsByExtension);n.length===0?r.delete(e):r.set(e,n);let i=new Map;for(let e of r.values())for(let t of e)i.set(t.descriptor.kind,t);this.definitionsByExtension=r,this.definitionsByKind=i}deregister(e){this.definitionsByExtension.has(e)&&this.register(e,[])}listDescriptors(){return Array.from(this.definitionsByKind.values(),({descriptor:e})=>structuredClone(e))}async invoke(e,t,n){let r=crypto.randomUUID(),i=this.definitionsByKind.get(e);if(!i)return this.failure(e,r,n.correlationId,`Reaction kind '${e}' is not registered`);if(n.hostSignal?.aborted)return this.failure(e,r,n.correlationId,`Reaction '${e}' host signal already aborted`);let a=Ye(n.deadlineEpochMs);if(a!==void 0&&a<=Date.now())return this.failure(e,r,n.correlationId,`Reaction '${e}' deadline already passed`);let o=Xe(n.hostSignal,a),s=Ze(r,o.controller.signal,n);try{let n;try{n=await i.parameterSchema.safeParseAsync(t)}catch(t){return this.failure(e,r,s.correlationId,`Parameter validation for Reaction '${e}' threw: ${h(t)}`,t)}return n.success?(a!==void 0&&H(o.controller,a),o.controller.signal.aborted?this.failure(e,r,s.correlationId,`Reaction '${e}' cancelled before handler entry: ${h(o.controller.signal.reason)}`,o.controller.signal.reason):(await i.handler(n.data,s),{success:!0})):this.failure(e,r,s.correlationId,`Invalid parameters for Reaction '${e}': ${n.error.message}`)}catch(t){return this.logFailure(e,r,s.correlationId,`Reaction '${e}' handler threw`,t),{success:!1,error:{message:h(t)}}}finally{o.release()}}failure(e,t,n,r,i){return this.logFailure(e,t,n,r,i),{success:!1,error:{message:r}}}logFailure(e,t,n,r,i){let a=n===void 0?``:` (correlationId: ${n})`;console.error(`[ReactionRegistry] Reaction '${e}' invocation '${t}' failed${a}: ${r}`,...i===void 0?[]:[i])}validateBatch(e,t){let n=`${e}.`,r=new Set,i=new Set(this.definitionsByExtension.get(e)?.map(e=>e.descriptor.kind)),a=[];for(let o of t){if(!o.kind.startsWith(n)||o.kind.length===n.length)throw Error(`Reaction '${o.kind}' must be namespaced by extension '${n}'`);if(r.has(o.kind))throw Error(`Reaction kind collision: '${o.kind}' appears twice in batch from '${e}'`);if(this.definitionsByKind.has(o.kind)&&!i.has(o.kind))throw Error(`Reaction kind collision: '${o.kind}' is already registered`);r.add(o.kind);let t=je.parse(o.toDescriptor());if(t.kind!==o.kind)throw Error(`Reaction descriptor kind '${t.kind}' does not match definition kind '${o.kind}'`);a.push({parameterSchema:o.parameterSchema,handler:o.handler,descriptor:t})}return a}};const Je=()=>{};function Ye(e){return e!==void 0&&Number.isFinite(e)?e:void 0}function Xe(e,t){let n=new AbortController;if(e===void 0&&t===void 0)return{controller:n,release:Je};let r=[];if(e){let t=()=>{n.abort(e.reason)};e.addEventListener(`abort`,t,{once:!0}),r.push(()=>{e.removeEventListener(`abort`,t)})}if(t!==void 0){let e,i=()=>{if(H(n,t)){e=void 0;return}let r=t-Date.now();e=setTimeout(i,Math.min(r,2147483647)),e.unref?.()};i(),r.push(()=>{clearTimeout(e)})}return{controller:n,release:()=>{for(let e of r)e()}}}function H(e,t){return t>Date.now()?!1:(e.abort(Error(`Reaction invocation deadline reached (deadlineEpochMs: ${t})`)),!0)}function Ze(e,t,n){return Object.freeze({invocationId:e,ruleRef:n.ruleRef,eventKind:n.eventKind,eventPayload:n.eventPayload,hostContext:n.hostContext,correlationId:n.correlationId,signal:t,deadlineEpochMs:n.deadlineEpochMs})}const U=S(`reaction-registry`),W={name:U.name,displayName:`Reaction Registry`,version:`0.1.0`,critical:!0,create:e=>new V(e.bus)};function Qe(e){let t=Pe({adapterId:e?.adapterId,adapterName:e?.adapterName,contextOverrides:{adapterId:e?.contextOverrides?.adapterId,adapterName:e?.contextOverrides?.adapterName}}),n=t.issues[0];return n?A(k.VALIDATION_FAILED,n.message):ze(t.effectiveIdentity)}function $e(e){let t=e?.allowedDirectories;if(Array.isArray(t))return t.filter(e=>typeof e==`string`)}async function et(e,t,n,r){let i=new Map;for(let e of t)i.set(e.name,await r(e.name));let a=t.filter(e=>{let t=i.get(e.name);return!t?.allowedAdapters||t.allowedAdapters.length===0?!0:t.allowedAdapters.includes(n)}),o=new Set(a.map(e=>e.name));return{filteredTools:e.filter(e=>!(!o.has(e.toolsetName)||i.get(e.toolsetName)?.disabledTools?.includes(e.name))),filteredToolsets:a}}function tt(){return`exec_${Date.now()}_${Math.random().toString(36).substring(2,9)}`}var G=class{bus;toolsets=new Map;tools=new Map;cleanupHandlers=[];handlerPriority;policyProvider;fileAccessRuleProvider;revision=0;constructor(e){this.bus=e?.bus??g,this.handlerPriority=e?.handlerPriority??0,this.policyProvider=e?.policyProvider,this.fileAccessRuleProvider=e?.fileAccessRuleProvider,this.registerHandlers()}registerHandlers(){let e=this.bus.on(y.list,async e=>{let{toolsetName:t,adapterId:n,adapterName:r}=e.payload,{tools:i,toolsets:a}=await this.listToolsWithToolsets({toolsetName:t,adapterId:n,adapterName:r});e.setResult({tools:i,toolsets:a})},{priority:this.handlerPriority});this.cleanupHandlers.push(e);let t=this.bus.on(y.execute,async e=>{let{toolName:t,input:n,adapterId:r,adapterName:i,contextOverrides:a}=e.payload,o=await this.execute(t,n,{contextOverrides:a,adapterId:r,adapterName:i});e.setResult(o)},{priority:this.handlerPriority});this.cleanupHandlers.push(t)}async register(e){if(this.toolsets.has(e.metadata.name))throw Error(`Toolset '${e.metadata.name}' is already registered`);let t=[],n=[];for(let[,r]of Object.entries(e.tools)){let i=r.metadata.name;if(this.tools.has(i))throw Error(`Tool '${i}' is already registered (from toolset '${this.tools.get(i).toolsetName}')`);n.push({tool:r,toolsetName:e.metadata.name}),t.push(i)}this.toolsets.set(e.metadata.name,e);for(let e=0;e<n.length;e+=1)this.tools.set(t[e],n[e]);await this.emitRegistryChanged(`toolset-registered`,e.metadata.name).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${y.registryChanged.subject} for '${e.metadata.name}':`,t)),await this.bus.emit(y.registered,{toolsetName:e.metadata.name,toolsetVersion:e.metadata.version,toolNames:t}).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${y.registered.subject} for '${e.metadata.name}':`,t))}async deregister(e){let t=this.toolsets.get(e);if(!t)throw Error(`Toolset '${e}' is not registered`);for(let e of Object.values(t.tools))this.tools.delete(e.metadata.name);this.toolsets.delete(e),await this.emitRegistryChanged(`toolset-unregistered`,e).catch(t=>console.warn(`[ToolRegistry] Failed to emit ${y.registryChanged.subject} for '${e}':`,t))}async emitRegistryChanged(e,t){this.revision+=1,await this.bus.emit(y.registryChanged,{revision:this.revision,reason:e,toolsetName:t})}async execute(e,t,n){let r=this.tools.get(e);if(!r)return A(k.TOOL_NOT_FOUND,`Tool '${e}' not found`);let i=Qe(n);if(!i.success)return i;let{tool:a,toolsetName:o}=r,s=await this.checkPolicy(o,e,i.data.adapterId,i.data.adapterName);if(s)return s;let c=tt(),l=Date.now();await this.bus.emit(y.started,{toolName:e,toolsetName:o,executionId:c,timestamp:l});try{let r=a.inputSchema.safeParse(t);if(!r.success){let t=A(k.VALIDATION_FAILED,`Input validation failed`,{issues:r.error.issues});return await this.bus.emit(y.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:t.error}),t}let s=await this.buildExecutionContext(n,i.data),u=await a.execute(r.data,s);return u.success?await this.bus.emit(y.completed,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),durationMs:Date.now()-l}):await this.bus.emit(y.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:u.error}),u}catch(t){let n=Re(t);return await this.bus.emit(y.error,{toolName:e,toolsetName:o,executionId:c,timestamp:Date.now(),error:n.error}),n}}async buildExecutionContext(e,t){let n=e?.contextOverrides?.constraints;if(this.fileAccessRuleProvider){let t=e?.contextOverrides?.cwd??process.cwd(),r=$e(n),i=await this.fileAccessRuleProvider(t,r);n={...n,[Le]:i}}let r=Te({...e?.contextOverrides,constraints:n}),i=e?.contextOverrides;return{...r,bus:this.bus,sessionId:i?.sessionId,agentId:i?.agentId,adapterId:t.adapterId,adapterName:t.adapterName,adapterSessionId:i?.adapterSessionId,turnId:i?.turnId,turnContext:i?.turnContext,toolCallId:i?.toolCallId}}async checkPolicy(e,t,n,r){if(!this.policyProvider)return null;let i=await this.policyProvider(e);if(!i)return null;if(i.disabledTools?.includes(t))return A(k.PERMISSION_DENIED,`Tool '${t}' is disabled`,{toolsetName:e,toolName:t});if(i.allowedAdapters&&i.allowedAdapters.length>0){let t=r??n;if(!t||!i.allowedAdapters.includes(t))return A(k.PERMISSION_DENIED,`Adapter not allowed for toolset '${e}'`,{toolsetName:e,adapterId:n,adapterName:r,allowedAdapters:i.allowedAdapters})}return null}listTools(e){let t=[];for(let[,n]of this.tools){if(e?.toolsetName&&n.toolsetName!==e.toolsetName)continue;let{$schema:r,...i}=m.toJSONSchema(n.tool.inputSchema);t.push({name:n.tool.metadata.name,description:n.tool.metadata.description,toolsetName:n.toolsetName,annotations:n.tool.metadata.annotations,inputSchema:i})}return t}listToolsets(){let e=[];for(let[,t]of this.toolsets){let n={name:t.metadata.name,description:t.metadata.description,version:t.metadata.version,toolCount:Object.keys(t.tools).length};if(t.configSchema){let{$schema:e,...r}=m.toJSONSchema(t.configSchema);n.configSchema=r}e.push(n)}return e}async listToolsWithToolsets(e){let t=this.listTools(e),n=this.listToolsets(),r=e?.toolsetName?n.filter(t=>t.name===e.toolsetName):n,i=e?.adapterName??e?.adapterId;if(this.policyProvider&&i){let{filteredTools:e,filteredToolsets:n}=await et(t,r,i,this.policyProvider);return{tools:e,toolsets:n}}return{tools:t,toolsets:r}}getTool(e){return this.tools.get(e)?.tool}getToolset(e){return this.toolsets.get(e)}dispose(){for(let e of this.cleanupHandlers)e();this.cleanupHandlers.length=0}destroy(){this.dispose()}},nt=class extends w{stepsByExtension=new Map;revision=0;cache=null;constructor(e){super(e)}onInit(){this.registerHandler(b.list,e=>{e.setResult({steps:this.listSteps()})})}async register(e,t){let n=[],r=this.snapshotExtensionState(e),i=new Set;for(let e of this.stepsByExtension.values())for(let t of e)i.add(t.metadata.name);for(let r of t.steps??[])this.assertExtensionNamespace(e,r.metadata),this.assertNoCollision(r.metadata,i),i.add(r.metadata.name),n.push({metadata:{...r.metadata,extensionName:e},configSchema:C(r.configSchema),inputSchema:C(r.inputSchema),outputSchema:C(r.outputSchema),runs:structuredClone(r.runs)});if(n.length!==0){this.stepsByExtension.set(e,n),this.revision+=1;try{await this.emitChanged(e,`registered`)}catch(t){throw this.restoreExtensionState(e,r),t}}}async deregister(e){let t=this.snapshotExtensionState(e);if(this.stepsByExtension.delete(e)){this.revision+=1;try{await this.emitChanged(e,`deregistered`)}catch(n){throw this.restoreExtensionState(e,t),n}}}listSteps(){return this.getCache().steps.map(rt)}async emitChanged(e,t){await this.bus.emit(b.changed,{extensionName:e,revision:this.revision,reason:t})}getCache(){return(!this.cache||this.cache.revision!==this.revision)&&(this.cache={revision:this.revision,steps:[...this.stepsByExtension.values()].flat()}),this.cache}snapshotExtensionState(e){return{steps:this.stepsByExtension.get(e),revision:this.revision,cache:this.cache}}restoreExtensionState(e,t){t.steps?this.stepsByExtension.set(e,t.steps):this.stepsByExtension.delete(e),this.revision=t.revision,this.cache=t.cache}assertNoCollision(e,t){if(t.has(e.name))throw Error(`Workflow block name collision: '${e.name}' is already registered`)}assertExtensionNamespace(e,t){let n=`${e}.`;if(!t.name.startsWith(n))throw Error(`Workflow block '${t.name}' must be namespaced by extension '${n}'`)}};function rt(e){return{metadata:it(e.metadata),configSchema:structuredClone(e.configSchema),inputSchema:structuredClone(e.inputSchema),outputSchema:structuredClone(e.outputSchema),runs:structuredClone(e.runs)}}function it(e){return e.categories?{...e,categories:[...e.categories]}:{...e}}const K=`workflow.start`;function at(e){return()=>({async execute(t,n){let{input:r={}}=t,{workflowId:i}=r;if(typeof i!=`string`||i.length===0)throw Error(`[TransitionActionRegistry] 'workflow.start' action requires a non-empty 'input.workflowId' string`);await e.request(Ne.start,{workflowId:i,input:ot(r,n),config:r.config,artifactRef:r.artifactRef,scope:r.scope,triggerPayload:{_transitionRuleId:n._transition.ruleId,_transitionDepth:n._transition.depth,_transitionEventType:n._transition.eventType}})}})}function ot(e,t){let n=e.inputExpression;if(typeof n!=`string`)return e.input;let r=He(n,st(t)),i=Ae.safeParse(r);if(!i.success)throw Error(`[TransitionActionRegistry] 'workflow.start' inputExpression for rule '${t._transition.ruleId}' must resolve to a JSON value`);return i.data}function st(e){let t={...e};return{...t,ctx:t}}var ct=class{factories=new Map;factoriesBySource=new Map;constructor(e){this.factories.set(K,at(e)),this.factoriesBySource.set(`__builtin__`,[K])}register(e,t){let n=Object.keys(t);if(n.length!==0){if(this.factoriesBySource.has(e))throw Error(`TransitionActionRegistry: duplicate source '${e}'`);for(let t of n)if(this.factories.has(t))throw Error(`TransitionActionRegistry: duplicate action type '${t}' from source '${e}'`);for(let e of n)this.factories.set(e,t[e]);this.factoriesBySource.set(e,n)}}deregister(e){if(e===`__builtin__`)return;let t=this.factoriesBySource.get(e);if(t){for(let e of t)this.factories.delete(e);this.factoriesBySource.delete(e)}}async dispatch(e,t){let n=this.factories.get(e.type);if(!n)throw Error(`TransitionActionRegistry: unknown action type '${e.type}'. Registered types: ${[...this.factories.keys()].join(`, `)}`);await n().execute(e,t)}has(e){return this.factories.has(e)}listTypes(){return[...this.factories.keys()]}},lt=class{rulesBySource=new Map;rulesByEventType=new Map;ruleIdSet=new Set;register(e,t){if(t.length===0)return;if(this.rulesBySource.has(e))throw Error(`TransitionRuleRegistry: duplicate source '${e}'`);let n=new Set,r=[];for(let i of t){let t=Me.parse(i);if(n.has(t.id))throw Error(`TransitionRuleRegistry: duplicate rule ID '${t.id}' within source '${e}'`);if(this.ruleIdSet.has(t.id))throw Error(`TransitionRuleRegistry: duplicate rule ID '${t.id}' from source '${e}'`);n.add(t.id),r.push({rule:t,condition:t.when===void 0?void 0:Be.parse(t.when)})}for(let e of r){let{rule:t}=e;this.ruleIdSet.add(t.id);let n=this.rulesByEventType.get(t.on)??[];n.push(e),this.rulesByEventType.set(t.on,n)}this.rulesBySource.set(e,r)}deregister(e){let t=this.rulesBySource.get(e);if(t){for(let{rule:e}of t){this.ruleIdSet.delete(e.id);let t=this.rulesByEventType.get(e.on);if(t){let n=t.filter(t=>t.rule.id!==e.id);n.length>0?this.rulesByEventType.set(e.on,n):this.rulesByEventType.delete(e.on)}}this.rulesBySource.delete(e)}}getRulesForEvent(e){let t=this.rulesByEventType.get(e);return t?t.filter(e=>e.rule.enabled):[]}snapshotSource(e){let t=this.rulesBySource.get(e);if(t)return{ruleIds:t.map(e=>e.rule.id)}}},ut=class extends w{ruleRegistry;actionRegistry;depthMap=new Map;constructor(e){super(e),this.ruleRegistry=new lt,this.actionRegistry=new ct(e)}onInit(){this.registerHandler(_.created,async e=>{await this.handleArtifactEvent(`artifact.created`,{artifact:e.payload.artifact})}),this.registerHandler(_.revised,async e=>{let t=await this.resolvePreviousRevisedArtifact(e.payload.previous);await this.handleArtifactEvent(`artifact.revised`,{artifact:e.payload.artifact,previous:e.payload.previous,...t===void 0?{}:{previousArtifact:t}})}),this.registerHandler(_.status.changed,async e=>{let t=await this.resolveStatusChangedArtifact(e.payload.artifact);t!==void 0&&await this.handleArtifactEvent(`artifact.status.changed`,{artifact:t,path:e.payload.path,previous:e.payload.previous,current:e.payload.current})})}async handleArtifactEvent(e,t){let n=this.artifactKey(t.artifact),r=this.readDepth(n);if(r>=10){console.warn(`[TransitionPipelineService] Transition depth limit (10) reached for event '${e}' on artifact '${n}'. Loop protection active — skipping rule evaluation.`);return}let i=this.ruleRegistry.getRulesForEvent(e);if(i.length!==0)for(let a of i)await this.evaluateAndDispatch(a,e,t,n,r)}async resolveStatusChangedArtifact(e){let t=await this.bus.requestOptional(_.resolve,{ref:e});if(!t.handled){console.warn(`[TransitionPipelineService] No artifact resolver is registered for status transition on artifact '${this.artifactKey(e)}'. Skipping rule evaluation.`);return}if(t.data.artifact===null){console.warn(`[TransitionPipelineService] Could not resolve status transition artifact '${this.artifactKey(e)}'. Skipping rule evaluation.`);return}return t.data.artifact}async resolvePreviousRevisedArtifact(e){let t=await this.bus.requestOptional(_.resolve,{ref:e});if(!(!t.handled||t.data.artifact===null))return t.data.artifact}async evaluateAndDispatch(e,t,n,r,i){let{rule:a,condition:o}=e,s={...n,_transition:{ruleId:a.id,eventType:t,depth:i+1}};if(o!==void 0){let e={...s},t;try{t=Ve(o,e)}catch(e){console.error(`[TransitionPipelineService] Condition evaluation error for rule '${a.id}':`,e);return}if(!t)return}try{await this.actionRegistry.dispatch(a.action,s),a.action.type===`workflow.start`&&this.incrementDepth(r)}catch(e){console.error(`[TransitionPipelineService] Action dispatch error for rule '${a.id}' (action type '${a.action.type}'):`,e)}}artifactKey(e){return`${typeof e.kind==`string`?e.kind:`unknown`}:${typeof e.id==`string`?e.id:`unknown`}`}readDepth(e){let t=this.depthMap.get(e);return t===void 0?0:Date.now()>t.expiresAt?(this.depthMap.delete(e),0):t.count}incrementDepth(e){let t=this.depthMap.get(e);this.depthMap.set(e,{count:t===void 0?1:t.count+1,expiresAt:Date.now()+6e4})}};function dt(e){return async t=>{let n=await ft(e,t);if(!n)return{handled:!1,sessionId:null,clientAccountId:null,changed:!1};let{sessionId:r}=n,{observation:i,accountObserveRequest:a}=pt(t),o=await e.requestOptional(D.account.observe,a);if(!o.handled)return{handled:!1,sessionId:r,clientAccountId:null,changed:!1};let{clientAccountId:s}=o.data;return{handled:!0,sessionId:r,clientAccountId:s,changed:await bt(e,r,i,s)}}}async function ft(e,t){switch(t.locator.kind){case`session`:{let{session:r}=await e.request(n.get,{sessionId:t.locator.sessionId});return r?{sessionId:r.sessionId,session:r}:null}case`adapter-session`:{let{session:r}=await e.request(n.getByAdapterSessionId,{adapterSessionId:t.locator.adapterSessionId});return r?{sessionId:r.sessionId,session:r}:null}case`both`:{let[{session:r},{session:i}]=await Promise.all([e.request(n.get,{sessionId:t.locator.sessionId}),e.request(n.getByAdapterSessionId,{adapterSessionId:t.locator.adapterSessionId})]);if(!r&&!i)return null;if(!r||!i)throw Error(`Session locator mismatch: sessionId "${t.locator.sessionId}" and adapterSessionId "${t.locator.adapterSessionId}" must both resolve the same session`);if(r.sessionId!==i.sessionId)throw Error(`Session locator mismatch: sessionId "${t.locator.sessionId}" and adapterSessionId "${t.locator.adapterSessionId}" resolve to different sessions`);return{sessionId:r.sessionId,session:r}}}}function pt(e){let t={clientId:e.clientId,source:e.source,kind:e.kind,observedAt:e.observedAt,payload:vt(e.payload)};return{observation:t,accountObserveRequest:mt(t)}}function mt(e){let t=e.payload,n=ht(t),r=gt(t);if(r.length>0)return{clientId:e.clientId,observedAt:e.observedAt,displayLabel:_t(t,n),identifiers:r};throw Error(`client.session.account.observe for "${e.clientId}" requires canonical client account identifiers`)}function ht(e){return yt(e.accountInfo)??e}function gt(e){let t=e.identifiers;if(!Array.isArray(t))return[];try{return m.array(Fe).min(1).parse(t)}catch(e){throw Error(`client.session.account.observe received malformed canonical client account identifiers`,{cause:e})}}function _t(e,t){return q(e.displayLabel)??q(t.displayLabel)??q(t.email)??q(t.label)}function vt(e){return structuredClone(e)}function yt(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function q(e){return typeof e==`string`&&e.trim().length>0?e.trim():void 0}async function bt(e,t,r,i){let a=await e.request(n.update,{sessionId:t,clientId:r.clientId,clientAccountId:i,lastClientIdentityObservation:r});if(!a.success)throw Error(`Failed to update session "${t}" with client account linkage`);return a.clientAccountChanged??!1}const xt=S(`session-storage`).name;var St=class extends w{constructor(e=g){super(e)}onInit(){let e=dt(this.bus);this.registerHandler(D.session.account.observe,async t=>{t.setResult(await e(Ie.request.parse(t.payload)))})}};const Ct={name:`makaio.session-client-account-linking`,displayName:`Session Client Account Linking`,version:`0.1.0`,dependencies:[x(xt),x(`makaio.clients-core`)],critical:!1,create:e=>new St(e.bus)},wt={name:`framework-shell`,displayName:`Shell`,version:`0.1.0`,surface:`interactive`,windows:[{id:`main`,style:`utility`,width:1e3,height:700,singleton:!0}]};async function Tt(e){let{harnesses:t}=await e.request(p.list,{}),n=new Set(t.map(e=>e.id));for(let t of Oe){if(n.has(t.id))continue;let r={...t};await e.request(p.set,{harness:r})}}function J(e,t,n){return e??t??n}var Et=class extends w{static storage={drizzle:be};constructor(e=g){super(e)}async onInit(){await Tt(this.bus),this.registerHandlers()}registerHandlers(){this.registerHandler(v.get,async e=>{let t=await this.loadHarness(e.payload);if(!t)throw Error(`Harness not found`);e.setResult(t)}),this.registerHandler(v.list,async e=>{let{harnesses:t}=await this.bus.request(p.list,e.payload);e.setResult({harnesses:t})}),this.registerHandler(v.set,async e=>{let t=await this.upsertHarness(e.payload);e.setResult({id:t})}),this.registerHandler(v.delete,async e=>{let{deleted:t}=await this.bus.request(p.delete,{id:e.payload.id});e.setResult({success:t})}),this.registerHandler(v.getDefault,async e=>{let t=await this.getDefaultHarness(e.payload.adapterName,e.payload.clientId);e.setResult(t)}),this.registerHandler(v.resolve,async e=>{let{adapterName:t,clientId:n,personaHarnessId:r,profileHarnessId:i}=e.payload;if(r){let i=await this.resolveAndValidateHarness(r,t,`persona`,n);e.setResult(i);return}if(i){let r=await this.resolveAndValidateHarness(i,t,`profile`,n);e.setResult(r);return}let a=await this.getDefaultHarness(t,n);e.setResult(a)}),this.registerHandler(v.getSchema,({setResult:e})=>{let{$schema:t,...n}=m.toJSONSchema(ke);e({schema:n,uiConfig:{editMode:`fullPage`,hiddenFields:[`isDefault`]}})})}async upsertHarness(e){let t=await this.resolveHarnessId(e.name,e.adapterName,e.clientId),n=await this.loadHarness({id:t,adapterName:e.adapterName,clientId:e.clientId}),r=this.mergeHarnessPayload(t,e,n);return r.adapterName&&await this.validateNativeTools(r.adapterName,r.nativeTools),await this.bus.request(p.set,{harness:r}),t}mergeHarnessPayload(e,t,n){let r={enabled:[],disabled:[]};return{id:e,name:t.name,description:J(t.description,n?.description,void 0),adapterName:t.adapterName,clientId:J(t.clientId,n?.clientId,void 0),env:J(t.env,n?.env,void 0),credentials:J(t.credentials,n?.credentials,void 0),cwd:J(t.cwd,n?.cwd,void 0),approvalPolicy:J(t.approvalPolicy,n?.approvalPolicy,`always-ask`),nativeTools:J(t.nativeTools,n?.nativeTools,r),registryTools:J(t.registryTools,n?.registryTools,r),skills:J(t.skills,n?.skills,void 0),toolCapabilityMap:t.toolCapabilityMap??n?.toolCapabilityMap,capabilityOverrides:t.capabilityOverrides??n?.capabilityOverrides,toolApprovalOverrides:t.toolApprovalOverrides??n?.toolApprovalOverrides,isDefault:J(t.isDefault,n?.isDefault,!1),enabled:J(t.enabled,n?.enabled,!0)}}async resolveHarnessId(e,t,n){let r=n??t,{harnesses:i}=await this.bus.request(p.list,{name:e}),a=i.find(t=>t.name===e&&(t.clientId??t.adapterName)===r);if(a)return a.id;let o=i.find(t=>t.name===e&&(t.clientId??t.adapterName)!==r);if(o){let t=o.clientId?`client '${o.clientId}'`:`adapter '${o.adapterName}'`;throw Error(`Harness "${e}" already exists with scope ${t}; cannot change scope to ${r??`(none)`}`)}return this.createStableHarnessId(e,r)}async loadHarness(e){if(e.id){let{harness:t}=await this.bus.request(p.get,{id:e.id});return t&&(!e.adapterName||t.adapterName===e.adapterName)&&(!e.clientId||t.clientId===e.clientId)?t:null}if(!e.name)return null;let{harnesses:t}=await this.bus.request(p.list,{name:e.name,adapterName:e.adapterName,clientId:e.clientId});return e.clientId?t.find(t=>t.clientId===e.clientId)??null:e.adapterName?t.find(t=>t.adapterName===e.adapterName)??null:t[0]??null}async getDefaultHarness(e,t){if(t){let{harnesses:e}=await this.bus.request(p.list,{clientId:t}),n=e.find(e=>e.isDefault&&e.enabled);if(n)return n;let r=e.find(e=>e.enabled);if(r)return r}if(e){let{harnesses:t}=await this.bus.request(p.list,{adapterName:e}),n=t.find(e=>e.isDefault&&e.enabled);if(n)return n;let r=t.find(e=>e.enabled);if(r)return r}let n=t?e?`client '${t}' or adapter '${e}'`:`client '${t}'`:`adapter '${e}'`;throw Error(`No harness available for ${n}`)}assertHarnessAdapterMatch(e,t,n,r){if(e.adapterName&&t&&e.adapterName!==t)throw Error(`Resolved ${n} harness adapter mismatch: expected "${t}", got "${e.adapterName}"`);if(e.clientId&&r&&e.clientId!==r)throw Error(`Resolved ${n} harness client mismatch: expected "${r}", got "${e.clientId}"`)}assertHarnessEnabled(e,t){if(!e.enabled)throw Error(`Resolved ${t} harness is disabled: ${e.id}`)}async validateNativeTools(e,t){let n=await this.bus.requestOptional(Ee.getCapabilities,{adapterName:e});if(!n.handled)return;let r=new Set(n.data.nativeTools),i=[...t.enabled,...t.disabled].filter(e=>!r.has(e));if(i.length>0)throw Error(`Tool '${i[0]}' not found in adapter '${e}' native tools. Declared tools: ${[...r].join(`, `)}`)}createStableHarnessId(e,t){return`harness-${Ce(`sha256`).update(`${t??``}\0${e}`).digest(`hex`).slice(0,24)}`}async resolveAndValidateHarness(e,t,n,r){let i=await this.loadHarness({id:e});if(!i)throw Error(`${n===`persona`?`Persona`:`Profile`} harness not found: ${e}`);return this.assertHarnessAdapterMatch(i,t,n,r),this.assertHarnessEnabled(i,n),i}};const Dt={name:`makaio.harness`,displayName:`Harness`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T(be)},create:e=>new Et(e.bus)},Y=S(`session-storage`),X=S(`session-bridge`),Z=S(`session`),Ot=S(`session-orchestrator`),kt=S(`observed-session-ingestion`),Q=S(`tool-registry`),At=S(`tool-approval`),jt=S(`tray-menu`),Mt=S(`model-registry`),Nt=S(`workflow-block-registry`),Pt=S(`transition-pipeline`),Ft=S(`filesystem`),It=S(`git`),Lt=S(`artifact-lifecycle-hook-registry`),Rt=S(`facet-namespace-registry`),zt={name:Lt.name,displayName:`Artifact Lifecycle Hook Registry`,version:`0.1.0`,critical:!0,create:e=>new P(e.bus)},Bt={name:Rt.name,displayName:`Facet Namespace Registry`,version:`0.1.0`,critical:!0,create:e=>new I(e.bus)},$={name:Y.name,displayName:`Session Storage`,version:`0.1.0`,critical:!0,storage:{registerHandlers:T((n,i)=>{let s=[],d=e=>{for(let t=s.length-1;t>=0;--t)try{s[t]?.()}catch(t){console.warn(`[sessionStoragePackage] cleanup failed during ${e}:`,t)}s.length=0};try{s.push(ne(n,i)),s.push(e(n,i)),s.push(ee(n,i)),s.push(a(n,i)),s.push(t(n,i)),s.push(o(n,i)),s.push(r(n,i)),s.push(u(n,i)),s.push(l(n,i)),s.push(c(n,i)),s.push(te(n)),s.push(ae(n)),s.push(re(n))}catch(e){throw d(`rollback`),e}return()=>{d(`shutdown`)}})}},Vt={name:X.name,displayName:`Session Bridge`,version:`0.1.0`,dependencies:[x(Y.name)],critical:!0,create:e=>new i(e.bus)},Ht={name:Z.name,displayName:`Session`,version:`0.1.0`,dependencies:[x(X.name)],critical:!0,create:e=>new ie(e.bus,{machineId:e.machineId,topology:`shared-machine`})},Ut={name:Ot.name,displayName:`Session Orchestrator`,version:`0.1.0`,dependencies:[x(Z.name),x(B.name)],critical:!0,runtimeOwnership:{sessionOrchestrator:!0},create:e=>new s(e.bus,e.machineId)},Wt={name:kt.name,displayName:`Observed-Session Ingestion`,version:`0.1.0`,dependencies:[x(X.name)],critical:!1,create:e=>new d(e.bus)},Gt={name:Q.name,displayName:`Tool Registry`,version:`0.1.0`,critical:!0,create:e=>new G({bus:e.bus})},Kt={name:At.name,displayName:`Tool Approval`,version:`0.1.0`,dependencies:[x(Q.name)],critical:!0,create:e=>new ve(e.bus)},qt={name:jt.name,displayName:`Tray Menu`,version:`0.1.0`,critical:!0,create:e=>new ye(e.bus)},Jt={name:Nt.name,displayName:`Workflow Block Registry`,version:`0.1.0`,critical:!0,create:e=>new nt(e.bus)},Yt={name:Pt.name,displayName:`Transition Pipeline`,version:`0.1.0`,critical:!0,create:e=>new ut(e.bus)},Xt={name:Ft.name,displayName:`Filesystem`,version:`0.1.0`,critical:!0,create:e=>new Se(e.bus,e.machineId)},Zt={name:It.name,displayName:`Git`,version:`0.1.0`,dependencies:[x(Ft.name)],critical:!0,create:e=>new Ue(e.bus)};function Qt(e){return{name:Mt.name,displayName:`Model Registry`,version:`0.1.0`,critical:!0,create:t=>new pe({bus:t.bus,fetcher:e})}}const $t=[se,zt,Bt,le,de,ce,ue,$,Vt,Ct,Ht,Ut,Wt,xe,Gt,Kt,qt,fe,Dt,B,wt,Jt,W,ge,he,_e,Yt,Zt,Xt];export{nt as A,P as B,Yt as C,lt as D,ut as E,B as F,z as I,R as L,U as M,W as N,ct as O,V as P,L as R,Gt as S,Jt as T,j as V,Vt as _,Ot as a,$ as b,At as c,jt as d,Nt as f,$t as g,Bt as h,X as i,G as j,K as k,Q as l,Qt as m,Rt as n,Y as o,zt as p,Mt as r,Z as s,Lt as t,Pt as u,Ut as v,qt as w,Kt as x,Ht as y,I as z};
|
|
@@ -574,18 +574,18 @@ declare const WorkerSchemas$1: {
|
|
|
574
574
|
relations: z.ZodArray<z.ZodObject<{
|
|
575
575
|
type: z.ZodString;
|
|
576
576
|
target: z.ZodPreprocess<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
577
|
-
refClass: z.
|
|
577
|
+
refClass: z.ZodLiteral<"artifact">;
|
|
578
578
|
kind: z.ZodString;
|
|
579
579
|
id: z.ZodString;
|
|
580
580
|
revision: z.ZodString;
|
|
581
|
-
}, z.core.$
|
|
581
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
582
582
|
refClass: z.ZodDefault<z.ZodLiteral<"local">>;
|
|
583
583
|
artifact: z.ZodObject<{
|
|
584
|
-
refClass: z.
|
|
584
|
+
refClass: z.ZodLiteral<"artifact">;
|
|
585
585
|
kind: z.ZodString;
|
|
586
586
|
id: z.ZodString;
|
|
587
587
|
revision: z.ZodString;
|
|
588
|
-
}, z.core.$
|
|
588
|
+
}, z.core.$strict>;
|
|
589
589
|
localId: z.ZodString;
|
|
590
590
|
}, z.core.$strip>, z.ZodObject<{
|
|
591
591
|
refClass: z.ZodDefault<z.ZodLiteral<"evidence">>;
|
|
@@ -599,6 +599,50 @@ declare const WorkerSchemas$1: {
|
|
|
599
599
|
id: z.ZodString;
|
|
600
600
|
}, z.core.$strict>], "refClass">>;
|
|
601
601
|
}, z.core.$strip>>;
|
|
602
|
+
evidence: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
|
|
603
|
+
source: z.ZodObject<{
|
|
604
|
+
kind: z.ZodLiteral<"git-file">;
|
|
605
|
+
repository: z.ZodString;
|
|
606
|
+
path: z.ZodString;
|
|
607
|
+
commit: z.ZodString;
|
|
608
|
+
}, z.core.$strict>;
|
|
609
|
+
location: z.ZodUnion<readonly [z.ZodObject<{
|
|
610
|
+
kind: z.ZodLiteral<"whole-source">;
|
|
611
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
612
|
+
kind: z.ZodLiteral<"lines">;
|
|
613
|
+
startLine: z.ZodNumber;
|
|
614
|
+
lineCount: z.ZodNumber;
|
|
615
|
+
}, z.core.$strict>]>;
|
|
616
|
+
excerpt: z.ZodOptional<z.ZodString>;
|
|
617
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
618
|
+
source: z.ZodObject<{
|
|
619
|
+
kind: z.ZodLiteral<"confluence-page">;
|
|
620
|
+
site: z.ZodString;
|
|
621
|
+
pageId: z.ZodString;
|
|
622
|
+
version: z.ZodNumber;
|
|
623
|
+
}, z.core.$strict>;
|
|
624
|
+
location: z.ZodObject<{
|
|
625
|
+
kind: z.ZodLiteral<"whole-source">;
|
|
626
|
+
}, z.core.$strict>;
|
|
627
|
+
excerpt: z.ZodOptional<z.ZodString>;
|
|
628
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
629
|
+
source: z.ZodObject<{
|
|
630
|
+
kind: z.ZodLiteral<"artifact">;
|
|
631
|
+
reference: z.ZodObject<{
|
|
632
|
+
refClass: z.ZodLiteral<"artifact">;
|
|
633
|
+
kind: z.ZodString;
|
|
634
|
+
id: z.ZodString;
|
|
635
|
+
revision: z.ZodString;
|
|
636
|
+
}, z.core.$strict>;
|
|
637
|
+
}, z.core.$strict>;
|
|
638
|
+
location: z.ZodUnion<readonly [z.ZodObject<{
|
|
639
|
+
kind: z.ZodLiteral<"whole-source">;
|
|
640
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
641
|
+
kind: z.ZodLiteral<"data-path">;
|
|
642
|
+
path: z.ZodString;
|
|
643
|
+
}, z.core.$strict>]>;
|
|
644
|
+
excerpt: z.ZodOptional<z.ZodString>;
|
|
645
|
+
}, z.core.$strict>]>>>;
|
|
602
646
|
confidence: z.ZodOptional<z.ZodObject<{
|
|
603
647
|
level: z.ZodEnum<{
|
|
604
648
|
inferred: "inferred";
|
|
@@ -617,18 +661,18 @@ declare const WorkerSchemas$1: {
|
|
|
617
661
|
timestamp: z.ZodNumber;
|
|
618
662
|
detail: z.ZodOptional<z.ZodString>;
|
|
619
663
|
evidenceRef: z.ZodOptional<z.ZodPreprocess<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
620
|
-
refClass: z.
|
|
664
|
+
refClass: z.ZodLiteral<"artifact">;
|
|
621
665
|
kind: z.ZodString;
|
|
622
666
|
id: z.ZodString;
|
|
623
667
|
revision: z.ZodString;
|
|
624
|
-
}, z.core.$
|
|
668
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
625
669
|
refClass: z.ZodDefault<z.ZodLiteral<"local">>;
|
|
626
670
|
artifact: z.ZodObject<{
|
|
627
|
-
refClass: z.
|
|
671
|
+
refClass: z.ZodLiteral<"artifact">;
|
|
628
672
|
kind: z.ZodString;
|
|
629
673
|
id: z.ZodString;
|
|
630
674
|
revision: z.ZodString;
|
|
631
|
-
}, z.core.$
|
|
675
|
+
}, z.core.$strict>;
|
|
632
676
|
localId: z.ZodString;
|
|
633
677
|
}, z.core.$strip>, z.ZodObject<{
|
|
634
678
|
refClass: z.ZodDefault<z.ZodLiteral<"evidence">>;
|
|
@@ -676,9 +720,9 @@ declare const WorkerSchemas$1: {
|
|
|
676
720
|
}, z.core.$strict>;
|
|
677
721
|
response: z.ZodObject<{
|
|
678
722
|
decision: z.ZodEnum<{
|
|
723
|
+
fenced: "fenced";
|
|
679
724
|
accepted: "accepted";
|
|
680
725
|
duplicate: "duplicate";
|
|
681
|
-
fenced: "fenced";
|
|
682
726
|
conflict: "conflict";
|
|
683
727
|
}>;
|
|
684
728
|
}, z.core.$strict>;
|
|
@@ -1099,18 +1143,18 @@ declare const WorkerNamespace: _$_makaio_core0.BusNamespaceDefinition<"worker",
|
|
|
1099
1143
|
relations: _$zod.ZodArray<_$zod.ZodObject<{
|
|
1100
1144
|
type: _$zod.ZodString;
|
|
1101
1145
|
target: _$zod.ZodPreprocess<_$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
|
|
1102
|
-
refClass: _$zod.
|
|
1146
|
+
refClass: _$zod.ZodLiteral<"artifact">;
|
|
1103
1147
|
kind: _$zod.ZodString;
|
|
1104
1148
|
id: _$zod.ZodString;
|
|
1105
1149
|
revision: _$zod.ZodString;
|
|
1106
|
-
}, _$zod_v4_core0.$
|
|
1150
|
+
}, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
|
|
1107
1151
|
refClass: _$zod.ZodDefault<_$zod.ZodLiteral<"local">>;
|
|
1108
1152
|
artifact: _$zod.ZodObject<{
|
|
1109
|
-
refClass: _$zod.
|
|
1153
|
+
refClass: _$zod.ZodLiteral<"artifact">;
|
|
1110
1154
|
kind: _$zod.ZodString;
|
|
1111
1155
|
id: _$zod.ZodString;
|
|
1112
1156
|
revision: _$zod.ZodString;
|
|
1113
|
-
}, _$zod_v4_core0.$
|
|
1157
|
+
}, _$zod_v4_core0.$strict>;
|
|
1114
1158
|
localId: _$zod.ZodString;
|
|
1115
1159
|
}, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
|
|
1116
1160
|
refClass: _$zod.ZodDefault<_$zod.ZodLiteral<"evidence">>;
|
|
@@ -1124,6 +1168,50 @@ declare const WorkerNamespace: _$_makaio_core0.BusNamespaceDefinition<"worker",
|
|
|
1124
1168
|
id: _$zod.ZodString;
|
|
1125
1169
|
}, _$zod_v4_core0.$strict>], "refClass">>;
|
|
1126
1170
|
}, _$zod_v4_core0.$strip>>;
|
|
1171
|
+
evidence: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodUnion<readonly [_$zod.ZodObject<{
|
|
1172
|
+
source: _$zod.ZodObject<{
|
|
1173
|
+
kind: _$zod.ZodLiteral<"git-file">;
|
|
1174
|
+
repository: _$zod.ZodString;
|
|
1175
|
+
path: _$zod.ZodString;
|
|
1176
|
+
commit: _$zod.ZodString;
|
|
1177
|
+
}, _$zod_v4_core0.$strict>;
|
|
1178
|
+
location: _$zod.ZodUnion<readonly [_$zod.ZodObject<{
|
|
1179
|
+
kind: _$zod.ZodLiteral<"whole-source">;
|
|
1180
|
+
}, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
|
|
1181
|
+
kind: _$zod.ZodLiteral<"lines">;
|
|
1182
|
+
startLine: _$zod.ZodNumber;
|
|
1183
|
+
lineCount: _$zod.ZodNumber;
|
|
1184
|
+
}, _$zod_v4_core0.$strict>]>;
|
|
1185
|
+
excerpt: _$zod.ZodOptional<_$zod.ZodString>;
|
|
1186
|
+
}, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
|
|
1187
|
+
source: _$zod.ZodObject<{
|
|
1188
|
+
kind: _$zod.ZodLiteral<"confluence-page">;
|
|
1189
|
+
site: _$zod.ZodString;
|
|
1190
|
+
pageId: _$zod.ZodString;
|
|
1191
|
+
version: _$zod.ZodNumber;
|
|
1192
|
+
}, _$zod_v4_core0.$strict>;
|
|
1193
|
+
location: _$zod.ZodObject<{
|
|
1194
|
+
kind: _$zod.ZodLiteral<"whole-source">;
|
|
1195
|
+
}, _$zod_v4_core0.$strict>;
|
|
1196
|
+
excerpt: _$zod.ZodOptional<_$zod.ZodString>;
|
|
1197
|
+
}, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
|
|
1198
|
+
source: _$zod.ZodObject<{
|
|
1199
|
+
kind: _$zod.ZodLiteral<"artifact">;
|
|
1200
|
+
reference: _$zod.ZodObject<{
|
|
1201
|
+
refClass: _$zod.ZodLiteral<"artifact">;
|
|
1202
|
+
kind: _$zod.ZodString;
|
|
1203
|
+
id: _$zod.ZodString;
|
|
1204
|
+
revision: _$zod.ZodString;
|
|
1205
|
+
}, _$zod_v4_core0.$strict>;
|
|
1206
|
+
}, _$zod_v4_core0.$strict>;
|
|
1207
|
+
location: _$zod.ZodUnion<readonly [_$zod.ZodObject<{
|
|
1208
|
+
kind: _$zod.ZodLiteral<"whole-source">;
|
|
1209
|
+
}, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
|
|
1210
|
+
kind: _$zod.ZodLiteral<"data-path">;
|
|
1211
|
+
path: _$zod.ZodString;
|
|
1212
|
+
}, _$zod_v4_core0.$strict>]>;
|
|
1213
|
+
excerpt: _$zod.ZodOptional<_$zod.ZodString>;
|
|
1214
|
+
}, _$zod_v4_core0.$strict>]>>>;
|
|
1127
1215
|
confidence: _$zod.ZodOptional<_$zod.ZodObject<{
|
|
1128
1216
|
level: _$zod.ZodEnum<{
|
|
1129
1217
|
inferred: "inferred";
|
|
@@ -1142,18 +1230,18 @@ declare const WorkerNamespace: _$_makaio_core0.BusNamespaceDefinition<"worker",
|
|
|
1142
1230
|
timestamp: _$zod.ZodNumber;
|
|
1143
1231
|
detail: _$zod.ZodOptional<_$zod.ZodString>;
|
|
1144
1232
|
evidenceRef: _$zod.ZodOptional<_$zod.ZodPreprocess<_$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
|
|
1145
|
-
refClass: _$zod.
|
|
1233
|
+
refClass: _$zod.ZodLiteral<"artifact">;
|
|
1146
1234
|
kind: _$zod.ZodString;
|
|
1147
1235
|
id: _$zod.ZodString;
|
|
1148
1236
|
revision: _$zod.ZodString;
|
|
1149
|
-
}, _$zod_v4_core0.$
|
|
1237
|
+
}, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
|
|
1150
1238
|
refClass: _$zod.ZodDefault<_$zod.ZodLiteral<"local">>;
|
|
1151
1239
|
artifact: _$zod.ZodObject<{
|
|
1152
|
-
refClass: _$zod.
|
|
1240
|
+
refClass: _$zod.ZodLiteral<"artifact">;
|
|
1153
1241
|
kind: _$zod.ZodString;
|
|
1154
1242
|
id: _$zod.ZodString;
|
|
1155
1243
|
revision: _$zod.ZodString;
|
|
1156
|
-
}, _$zod_v4_core0.$
|
|
1244
|
+
}, _$zod_v4_core0.$strict>;
|
|
1157
1245
|
localId: _$zod.ZodString;
|
|
1158
1246
|
}, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
|
|
1159
1247
|
refClass: _$zod.ZodDefault<_$zod.ZodLiteral<"evidence">>;
|
|
@@ -1201,9 +1289,9 @@ declare const WorkerNamespace: _$_makaio_core0.BusNamespaceDefinition<"worker",
|
|
|
1201
1289
|
}, _$zod_v4_core0.$strict>;
|
|
1202
1290
|
response: _$zod.ZodObject<{
|
|
1203
1291
|
decision: _$zod.ZodEnum<{
|
|
1292
|
+
fenced: "fenced";
|
|
1204
1293
|
accepted: "accepted";
|
|
1205
1294
|
duplicate: "duplicate";
|
|
1206
|
-
fenced: "fenced";
|
|
1207
1295
|
conflict: "conflict";
|
|
1208
1296
|
}>;
|
|
1209
1297
|
}, _$zod_v4_core0.$strict>;
|
|
@@ -1547,18 +1635,18 @@ declare const WorkerSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_core0.Flat
|
|
|
1547
1635
|
relations: _$zod.ZodArray<_$zod.ZodObject<{
|
|
1548
1636
|
type: _$zod.ZodString;
|
|
1549
1637
|
target: _$zod.ZodPreprocess<_$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
|
|
1550
|
-
refClass: _$zod.
|
|
1638
|
+
refClass: _$zod.ZodLiteral<"artifact">;
|
|
1551
1639
|
kind: _$zod.ZodString;
|
|
1552
1640
|
id: _$zod.ZodString;
|
|
1553
1641
|
revision: _$zod.ZodString;
|
|
1554
|
-
}, _$zod_v4_core0.$
|
|
1642
|
+
}, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
|
|
1555
1643
|
refClass: _$zod.ZodDefault<_$zod.ZodLiteral<"local">>;
|
|
1556
1644
|
artifact: _$zod.ZodObject<{
|
|
1557
|
-
refClass: _$zod.
|
|
1645
|
+
refClass: _$zod.ZodLiteral<"artifact">;
|
|
1558
1646
|
kind: _$zod.ZodString;
|
|
1559
1647
|
id: _$zod.ZodString;
|
|
1560
1648
|
revision: _$zod.ZodString;
|
|
1561
|
-
}, _$zod_v4_core0.$
|
|
1649
|
+
}, _$zod_v4_core0.$strict>;
|
|
1562
1650
|
localId: _$zod.ZodString;
|
|
1563
1651
|
}, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
|
|
1564
1652
|
refClass: _$zod.ZodDefault<_$zod.ZodLiteral<"evidence">>;
|
|
@@ -1572,6 +1660,50 @@ declare const WorkerSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_core0.Flat
|
|
|
1572
1660
|
id: _$zod.ZodString;
|
|
1573
1661
|
}, _$zod_v4_core0.$strict>], "refClass">>;
|
|
1574
1662
|
}, _$zod_v4_core0.$strip>>;
|
|
1663
|
+
evidence: _$zod.ZodOptional<_$zod.ZodArray<_$zod.ZodUnion<readonly [_$zod.ZodObject<{
|
|
1664
|
+
source: _$zod.ZodObject<{
|
|
1665
|
+
kind: _$zod.ZodLiteral<"git-file">;
|
|
1666
|
+
repository: _$zod.ZodString;
|
|
1667
|
+
path: _$zod.ZodString;
|
|
1668
|
+
commit: _$zod.ZodString;
|
|
1669
|
+
}, _$zod_v4_core0.$strict>;
|
|
1670
|
+
location: _$zod.ZodUnion<readonly [_$zod.ZodObject<{
|
|
1671
|
+
kind: _$zod.ZodLiteral<"whole-source">;
|
|
1672
|
+
}, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
|
|
1673
|
+
kind: _$zod.ZodLiteral<"lines">;
|
|
1674
|
+
startLine: _$zod.ZodNumber;
|
|
1675
|
+
lineCount: _$zod.ZodNumber;
|
|
1676
|
+
}, _$zod_v4_core0.$strict>]>;
|
|
1677
|
+
excerpt: _$zod.ZodOptional<_$zod.ZodString>;
|
|
1678
|
+
}, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
|
|
1679
|
+
source: _$zod.ZodObject<{
|
|
1680
|
+
kind: _$zod.ZodLiteral<"confluence-page">;
|
|
1681
|
+
site: _$zod.ZodString;
|
|
1682
|
+
pageId: _$zod.ZodString;
|
|
1683
|
+
version: _$zod.ZodNumber;
|
|
1684
|
+
}, _$zod_v4_core0.$strict>;
|
|
1685
|
+
location: _$zod.ZodObject<{
|
|
1686
|
+
kind: _$zod.ZodLiteral<"whole-source">;
|
|
1687
|
+
}, _$zod_v4_core0.$strict>;
|
|
1688
|
+
excerpt: _$zod.ZodOptional<_$zod.ZodString>;
|
|
1689
|
+
}, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
|
|
1690
|
+
source: _$zod.ZodObject<{
|
|
1691
|
+
kind: _$zod.ZodLiteral<"artifact">;
|
|
1692
|
+
reference: _$zod.ZodObject<{
|
|
1693
|
+
refClass: _$zod.ZodLiteral<"artifact">;
|
|
1694
|
+
kind: _$zod.ZodString;
|
|
1695
|
+
id: _$zod.ZodString;
|
|
1696
|
+
revision: _$zod.ZodString;
|
|
1697
|
+
}, _$zod_v4_core0.$strict>;
|
|
1698
|
+
}, _$zod_v4_core0.$strict>;
|
|
1699
|
+
location: _$zod.ZodUnion<readonly [_$zod.ZodObject<{
|
|
1700
|
+
kind: _$zod.ZodLiteral<"whole-source">;
|
|
1701
|
+
}, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
|
|
1702
|
+
kind: _$zod.ZodLiteral<"data-path">;
|
|
1703
|
+
path: _$zod.ZodString;
|
|
1704
|
+
}, _$zod_v4_core0.$strict>]>;
|
|
1705
|
+
excerpt: _$zod.ZodOptional<_$zod.ZodString>;
|
|
1706
|
+
}, _$zod_v4_core0.$strict>]>>>;
|
|
1575
1707
|
confidence: _$zod.ZodOptional<_$zod.ZodObject<{
|
|
1576
1708
|
level: _$zod.ZodEnum<{
|
|
1577
1709
|
inferred: "inferred";
|
|
@@ -1590,18 +1722,18 @@ declare const WorkerSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_core0.Flat
|
|
|
1590
1722
|
timestamp: _$zod.ZodNumber;
|
|
1591
1723
|
detail: _$zod.ZodOptional<_$zod.ZodString>;
|
|
1592
1724
|
evidenceRef: _$zod.ZodOptional<_$zod.ZodPreprocess<_$zod.ZodDiscriminatedUnion<[_$zod.ZodObject<{
|
|
1593
|
-
refClass: _$zod.
|
|
1725
|
+
refClass: _$zod.ZodLiteral<"artifact">;
|
|
1594
1726
|
kind: _$zod.ZodString;
|
|
1595
1727
|
id: _$zod.ZodString;
|
|
1596
1728
|
revision: _$zod.ZodString;
|
|
1597
|
-
}, _$zod_v4_core0.$
|
|
1729
|
+
}, _$zod_v4_core0.$strict>, _$zod.ZodObject<{
|
|
1598
1730
|
refClass: _$zod.ZodDefault<_$zod.ZodLiteral<"local">>;
|
|
1599
1731
|
artifact: _$zod.ZodObject<{
|
|
1600
|
-
refClass: _$zod.
|
|
1732
|
+
refClass: _$zod.ZodLiteral<"artifact">;
|
|
1601
1733
|
kind: _$zod.ZodString;
|
|
1602
1734
|
id: _$zod.ZodString;
|
|
1603
1735
|
revision: _$zod.ZodString;
|
|
1604
|
-
}, _$zod_v4_core0.$
|
|
1736
|
+
}, _$zod_v4_core0.$strict>;
|
|
1605
1737
|
localId: _$zod.ZodString;
|
|
1606
1738
|
}, _$zod_v4_core0.$strip>, _$zod.ZodObject<{
|
|
1607
1739
|
refClass: _$zod.ZodDefault<_$zod.ZodLiteral<"evidence">>;
|
|
@@ -1649,9 +1781,9 @@ declare const WorkerSubjects$1: _$_makaio_core0.BusSubjects<_$_makaio_core0.Flat
|
|
|
1649
1781
|
}, _$zod_v4_core0.$strict>;
|
|
1650
1782
|
response: _$zod.ZodObject<{
|
|
1651
1783
|
decision: _$zod.ZodEnum<{
|
|
1784
|
+
fenced: "fenced";
|
|
1652
1785
|
accepted: "accepted";
|
|
1653
1786
|
duplicate: "duplicate";
|
|
1654
|
-
fenced: "fenced";
|
|
1655
1787
|
conflict: "conflict";
|
|
1656
1788
|
}>;
|
|
1657
1789
|
}, _$zod_v4_core0.$strict>;
|
|
@@ -18,8 +18,8 @@ import { ExtensionWarningEntry, ExtensionWarningEntrySchema } from "@makaio/fram
|
|
|
18
18
|
* detail, not an externally observable state.
|
|
19
19
|
*/
|
|
20
20
|
declare const ComponentStateSchema: z.ZodEnum<{
|
|
21
|
-
failed: "failed";
|
|
22
21
|
discovered: "discovered";
|
|
22
|
+
failed: "failed";
|
|
23
23
|
active: "active";
|
|
24
24
|
skipped: "skipped";
|
|
25
25
|
stopped: "stopped";
|
|
@@ -47,8 +47,8 @@ declare const ComponentInfoSchema: z.ZodObject<{
|
|
|
47
47
|
name: z.ZodString;
|
|
48
48
|
displayName: z.ZodString;
|
|
49
49
|
state: z.ZodEnum<{
|
|
50
|
-
failed: "failed";
|
|
51
50
|
discovered: "discovered";
|
|
51
|
+
failed: "failed";
|
|
52
52
|
active: "active";
|
|
53
53
|
skipped: "skipped";
|
|
54
54
|
stopped: "stopped";
|
|
@@ -68,8 +68,8 @@ declare const ServiceInfoSchema: z.ZodObject<{
|
|
|
68
68
|
name: z.ZodString;
|
|
69
69
|
displayName: z.ZodString;
|
|
70
70
|
state: z.ZodEnum<{
|
|
71
|
-
failed: "failed";
|
|
72
71
|
discovered: "discovered";
|
|
72
|
+
failed: "failed";
|
|
73
73
|
active: "active";
|
|
74
74
|
skipped: "skipped";
|
|
75
75
|
stopped: "stopped";
|
|
@@ -90,8 +90,8 @@ declare const ExtensionInfoSchema: z.ZodObject<{
|
|
|
90
90
|
name: z.ZodString;
|
|
91
91
|
displayName: z.ZodString;
|
|
92
92
|
state: z.ZodEnum<{
|
|
93
|
-
failed: "failed";
|
|
94
93
|
discovered: "discovered";
|
|
94
|
+
failed: "failed";
|
|
95
95
|
active: "active";
|
|
96
96
|
skipped: "skipped";
|
|
97
97
|
stopped: "stopped";
|
|
@@ -138,16 +138,16 @@ declare const ExtensionNamespace: _$_makaio_core0.BusNamespaceDefinition<"kernel
|
|
|
138
138
|
name: z.ZodString;
|
|
139
139
|
displayName: z.ZodString;
|
|
140
140
|
from: z.ZodEnum<{
|
|
141
|
-
failed: "failed";
|
|
142
141
|
discovered: "discovered";
|
|
142
|
+
failed: "failed";
|
|
143
143
|
active: "active";
|
|
144
144
|
skipped: "skipped";
|
|
145
145
|
stopped: "stopped";
|
|
146
146
|
initializing: "initializing";
|
|
147
147
|
}>;
|
|
148
148
|
to: z.ZodEnum<{
|
|
149
|
-
failed: "failed";
|
|
150
149
|
discovered: "discovered";
|
|
150
|
+
failed: "failed";
|
|
151
151
|
active: "active";
|
|
152
152
|
skipped: "skipped";
|
|
153
153
|
stopped: "stopped";
|
|
@@ -181,8 +181,8 @@ declare const ExtensionNamespace: _$_makaio_core0.BusNamespaceDefinition<"kernel
|
|
|
181
181
|
name: z.ZodString;
|
|
182
182
|
displayName: z.ZodString;
|
|
183
183
|
state: z.ZodEnum<{
|
|
184
|
-
failed: "failed";
|
|
185
184
|
discovered: "discovered";
|
|
185
|
+
failed: "failed";
|
|
186
186
|
active: "active";
|
|
187
187
|
skipped: "skipped";
|
|
188
188
|
stopped: "stopped";
|
|
@@ -219,8 +219,8 @@ declare const ExtensionNamespace: _$_makaio_core0.BusNamespaceDefinition<"kernel
|
|
|
219
219
|
name: z.ZodString;
|
|
220
220
|
displayName: z.ZodString;
|
|
221
221
|
state: z.ZodEnum<{
|
|
222
|
-
failed: "failed";
|
|
223
222
|
discovered: "discovered";
|
|
223
|
+
failed: "failed";
|
|
224
224
|
active: "active";
|
|
225
225
|
skipped: "skipped";
|
|
226
226
|
stopped: "stopped";
|
|
@@ -641,16 +641,16 @@ declare const ExtensionSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fla
|
|
|
641
641
|
name: z.ZodString;
|
|
642
642
|
displayName: z.ZodString;
|
|
643
643
|
from: z.ZodEnum<{
|
|
644
|
-
failed: "failed";
|
|
645
644
|
discovered: "discovered";
|
|
645
|
+
failed: "failed";
|
|
646
646
|
active: "active";
|
|
647
647
|
skipped: "skipped";
|
|
648
648
|
stopped: "stopped";
|
|
649
649
|
initializing: "initializing";
|
|
650
650
|
}>;
|
|
651
651
|
to: z.ZodEnum<{
|
|
652
|
-
failed: "failed";
|
|
653
652
|
discovered: "discovered";
|
|
653
|
+
failed: "failed";
|
|
654
654
|
active: "active";
|
|
655
655
|
skipped: "skipped";
|
|
656
656
|
stopped: "stopped";
|
|
@@ -684,8 +684,8 @@ declare const ExtensionSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fla
|
|
|
684
684
|
name: z.ZodString;
|
|
685
685
|
displayName: z.ZodString;
|
|
686
686
|
state: z.ZodEnum<{
|
|
687
|
-
failed: "failed";
|
|
688
687
|
discovered: "discovered";
|
|
688
|
+
failed: "failed";
|
|
689
689
|
active: "active";
|
|
690
690
|
skipped: "skipped";
|
|
691
691
|
stopped: "stopped";
|
|
@@ -722,8 +722,8 @@ declare const ExtensionSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.Fla
|
|
|
722
722
|
name: z.ZodString;
|
|
723
723
|
displayName: z.ZodString;
|
|
724
724
|
state: z.ZodEnum<{
|
|
725
|
-
failed: "failed";
|
|
726
725
|
discovered: "discovered";
|
|
726
|
+
failed: "failed";
|
|
727
727
|
active: "active";
|
|
728
728
|
skipped: "skipped";
|
|
729
729
|
stopped: "stopped";
|
|
@@ -38,14 +38,15 @@ declare class PiscinaCodeExecutionProvider implements ICodeExecutionProvider {
|
|
|
38
38
|
readonly trust: CodeExecutionTrustLevel;
|
|
39
39
|
private readonly workerEntry;
|
|
40
40
|
private readonly workerExecArgv;
|
|
41
|
+
private readonly workerLoaderPaths;
|
|
41
42
|
/**
|
|
42
|
-
* Environment the resolved worker entry's
|
|
43
|
+
* Environment the resolved worker entry's TypeScript loaders require.
|
|
43
44
|
*
|
|
44
45
|
* Kept apart from the host-configured {@link environment} because the two
|
|
45
|
-
* answer to different owners: this one
|
|
46
|
-
* {@link workerExecArgv},
|
|
47
|
-
*
|
|
48
|
-
*
|
|
46
|
+
* answer to different owners: this one travels with the entry and its
|
|
47
|
+
* {@link workerExecArgv}, configuring the source entry loader when present
|
|
48
|
+
* and the scoped loader every worker registers for submitted programs. It is
|
|
49
|
+
* applied *after* host values so the host cannot change those launch semantics.
|
|
49
50
|
*/
|
|
50
51
|
private readonly workerLoaderEnv;
|
|
51
52
|
private readonly environment;
|
|
@@ -425,12 +426,10 @@ declare class PiscinaCodeExecutionProvider implements ICodeExecutionProvider {
|
|
|
425
426
|
* target is a provider failure for that invocation; a retargeted symlink after
|
|
426
427
|
* this snapshot cannot alter later materialization.
|
|
427
428
|
*
|
|
428
|
-
* The
|
|
429
|
-
*
|
|
430
|
-
*
|
|
431
|
-
*
|
|
432
|
-
* its own failures and falls back to the value itself, which is what the
|
|
433
|
-
* environment branch would have redacted anyway.
|
|
429
|
+
* The resolved worker entry identifies which loader settings name host paths.
|
|
430
|
+
* Those paths are always redacted because startup failures can quote them;
|
|
431
|
+
* other loader settings remain ordinary configuration values and must not be
|
|
432
|
+
* interpreted as paths that can match unrelated diagnostic text.
|
|
434
433
|
* @returns Pinned package targets and matching bus-diagnostic redactions.
|
|
435
434
|
*/
|
|
436
435
|
private resolveRuntimeConfiguration;
|
|
@@ -443,10 +442,9 @@ declare class PiscinaCodeExecutionProvider implements ICodeExecutionProvider {
|
|
|
443
442
|
* zero because the pool's own default keeps at least one thread alive
|
|
444
443
|
* forever, which would make the configured idle timeout unobservable.
|
|
445
444
|
*
|
|
446
|
-
* The worker entry's
|
|
447
|
-
*
|
|
448
|
-
*
|
|
449
|
-
* which ordinary packages a submitted program resolves.
|
|
445
|
+
* The worker entry's loader environment is applied last, so a host cannot
|
|
446
|
+
* re-enable the transform disk cache or replace the source entry loader's
|
|
447
|
+
* pinned tsconfig through {@link PiscinaCodeExecutionProviderOptions.environment}.
|
|
450
448
|
*
|
|
451
449
|
* Laziness is also what makes retirement cheap: a retired generation simply
|
|
452
450
|
* clears this field, and the next invocation builds its successor on exactly
|