@axiom-lattice/gateway 4.9.0 → 4.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/{chunk-NPHK4SZ6.mjs → chunk-FGSFOXIX.mjs} +2 -2
  2. package/dist/{chunk-73QZQQOT.mjs → chunk-MWWLJMYN.mjs} +3 -2
  3. package/dist/chunk-MWWLJMYN.mjs.map +1 -0
  4. package/dist/embed/{embed-page-AgentDetailSideApp-BVJK7WIS.js → embed-page-AgentDetailSideApp-UMITWVYQ.js} +1 -1
  5. package/dist/embed/{embed-page-AgentGovernanceWorkbench-L2YHPRNE.js → embed-page-AgentGovernanceWorkbench-UD7RE7PT.js} +1 -1
  6. package/dist/embed/{embed-page-MessageGraph-JOQ46UE2.js → embed-page-MessageGraph-XQWKYDUB.js} +1 -1
  7. package/dist/embed/{embed-page-ReactChart-I5AYTSII.js → embed-page-ReactChart-LW3GWMY2.js} +1 -1
  8. package/dist/embed/{embed-page-SkillFlow-YLB5XPFH.js → embed-page-SkillFlow-X3D346DE.js} +1 -1
  9. package/dist/embed/{embed-page-TasksSideApp-QLJVB7UK.js → embed-page-TasksSideApp-SUMX2GJF.js} +1 -1
  10. package/dist/embed/{embed-page-TeamWorkspace-BZZEAYSB.js → embed-page-TeamWorkspace-QMIX2TP2.js} +1 -1
  11. package/dist/embed/{embed-page-TopologyRuntimeView-FRA3AXQQ.js → embed-page-TopologyRuntimeView-ZP6NWNS7.js} +1 -1
  12. package/dist/embed/{embed-page-WorkflowAutomationView-D745PK3W.js → embed-page-WorkflowAutomationView-4HD3ISK6.js} +1 -1
  13. package/dist/embed/{embed-page-chunk-FVMSMU4J.js → embed-page-chunk-3VIEL6KL.js} +1 -1
  14. package/dist/embed/{embed-page-chunk-4WBAN7QL.js → embed-page-chunk-MFFCCHGW.js} +158 -158
  15. package/dist/embed/{embed-page-chunk-M2PV36MX.js → embed-page-chunk-QCKYIPFY.js} +1 -1
  16. package/dist/embed/{embed-page-chunk-P5PFV3N7.js → embed-page-chunk-QGAGZMX2.js} +1 -1
  17. package/dist/embed/{embed-page-chunk-FWGNJMXD.js → embed-page-chunk-SX7YO5JA.js} +1 -1
  18. package/dist/embed/{embed-page-chunk-WMLR2GQK.js → embed-page-chunk-T7XXE35M.js} +1 -1
  19. package/dist/embed/{embed-page-chunk-K5YYUAPL.js → embed-page-chunk-YAJUWBF2.js} +1 -1
  20. package/dist/embed/embed-page.js +1 -1
  21. package/dist/index.d.mts +48 -3
  22. package/dist/index.d.ts +48 -3
  23. package/dist/index.js +621 -442
  24. package/dist/index.js.map +1 -1
  25. package/dist/index.mjs +327 -146
  26. package/dist/index.mjs.map +1 -1
  27. package/dist/{open-UVKMONVE.mjs → open-FJ3BY3CL.mjs} +3 -3
  28. package/dist/{open-exposure-27ESFWTB.mjs → open-exposure-OX5NKWDG.mjs} +3 -3
  29. package/package.json +3 -3
  30. package/dist/chunk-73QZQQOT.mjs.map +0 -1
  31. /package/dist/{chunk-NPHK4SZ6.mjs.map → chunk-FGSFOXIX.mjs.map} +0 -0
  32. /package/dist/{open-UVKMONVE.mjs.map → open-FJ3BY3CL.mjs.map} +0 -0
  33. /package/dist/{open-exposure-27ESFWTB.mjs.map → open-exposure-OX5NKWDG.mjs.map} +0 -0
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  buildTenantOpenPlugins,
7
7
  mergeOpenCatalog
8
- } from "./chunk-NPHK4SZ6.mjs";
8
+ } from "./chunk-FGSFOXIX.mjs";
9
9
  import {
10
10
  deleteSession,
11
11
  getSession,
@@ -20,7 +20,7 @@ import {
20
20
  ValidationError,
21
21
  openLattice
22
22
  } from "./chunk-HVIKCUOF.mjs";
23
- import "./chunk-73QZQQOT.mjs";
23
+ import "./chunk-MWWLJMYN.mjs";
24
24
  import "./chunk-EXPERMZR.mjs";
25
25
  import "./chunk-NFEGQTCC.mjs";
26
26
 
@@ -343,4 +343,4 @@ function registerOpenRoutes(app, deps = {}) {
343
343
  export {
344
344
  registerOpenRoutes
345
345
  };
346
- //# sourceMappingURL=open-UVKMONVE.mjs.map
346
+ //# sourceMappingURL=open-FJ3BY3CL.mjs.map
@@ -4,11 +4,11 @@ import {
4
4
  import {
5
5
  buildTenantOpenPlugins,
6
6
  mergeOpenCatalog
7
- } from "./chunk-NPHK4SZ6.mjs";
7
+ } from "./chunk-FGSFOXIX.mjs";
8
8
  import {
9
9
  openLattice
10
10
  } from "./chunk-HVIKCUOF.mjs";
11
- import "./chunk-73QZQQOT.mjs";
11
+ import "./chunk-MWWLJMYN.mjs";
12
12
  import "./chunk-NFEGQTCC.mjs";
13
13
 
14
14
  // src/routes/open-exposure.ts
@@ -94,4 +94,4 @@ function registerOpenExposureRoutes(app, deps = {}) {
94
94
  export {
95
95
  registerOpenExposureRoutes
96
96
  };
97
- //# sourceMappingURL=open-exposure-27ESFWTB.mjs.map
97
+ //# sourceMappingURL=open-exposure-OX5NKWDG.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@axiom-lattice/gateway",
3
- "version": "4.9.0",
3
+ "version": "4.9.1",
4
4
  "main": "dist/index.js",
5
5
  "files": [
6
6
  "dist"
@@ -49,8 +49,8 @@
49
49
  "web-push": "^3.6.7",
50
50
  "zod": "3.25.76",
51
51
  "@axiom-lattice/cli-a2a": "0.2.20",
52
- "@axiom-lattice/core": "6.4.0",
53
- "@axiom-lattice/pg-stores": "3.3.4",
52
+ "@axiom-lattice/core": "6.4.1",
53
+ "@axiom-lattice/pg-stores": "3.3.5",
54
54
  "@axiom-lattice/protocols": "4.8.0",
55
55
  "@axiom-lattice/queue-redis": "1.1.20"
56
56
  },
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/services/plugins/pluginToolExecution.ts"],"sourcesContent":["/**\n * Shared sandbox plugin tool execution helper.\n *\n * Membership resolution and executor invocation must have exactly one\n * constructor in the gateway: producing the `runConfig`/`context`/handler\n * envelope in two places would let the MCP App UI path and the Open MCP path\n * drift. Both `routes/mcp-apps.ts` (`callPluginTool`) and\n * `services/open/tenantOpenPlugins.ts` delegate here.\n *\n * `SandboxPluginInvokeArgs` is imported from core (the executor's own argument\n * contract) so this seam cannot silently diverge from {@link SandboxPluginExecutor}.\n */\n\nimport type { SandboxPluginManifest } from \"@axiom-lattice/protocols\";\nimport type { SandboxPluginInvokeArgs } from \"@axiom-lattice/core\";\n\n/**\n * Thrown when a requested tool is not owned by the addressed plugin's validated\n * manifest. Callers map it to a client error (the MCP App route maps it to 403).\n */\nexport class PluginToolScopeError extends Error {\n /** Stable machine-readable code for callers that translate the error. */\n readonly code = \"PLUGIN_TOOL_SCOPE\";\n\n /**\n * @param name - Rejected tool name.\n * @param pluginType - Plugin the request addressed.\n */\n constructor(name: string, pluginType: string) {\n super(`tool \"${name}\" is not owned by plugin \"${pluginType}\"`);\n this.name = \"PluginToolScopeError\";\n }\n}\n\n/** Minimal executor outcome the invocation seam depends on. */\nexport interface PluginToolInvokeResult {\n ok: boolean;\n result?: unknown;\n error?: string;\n}\n\n/** The catalog surface required to execute a plugin tool. */\nexport interface PluginToolCatalog {\n /**\n * Validated (normalized) manifest for the plugin.\n *\n * This is the authoritative source for handler paths and tool caps: it is the\n * output of the manifest validator, not a fresh parse of the raw\n * `plugin.json`, so execution cannot diverge from what validation accepted.\n */\n getValidatedManifest(tenantId: string, type: string): Promise<SandboxPluginManifest | undefined>;\n getExecutor(): {\n invoke(args: SandboxPluginInvokeArgs): Promise<PluginToolInvokeResult>;\n };\n}\n\n/** Dependencies injected into {@link invokePluginTool}. */\nexport interface PluginToolExecutionDeps {\n catalog: PluginToolCatalog;\n}\n\n/** Optional run identity and credential payload for a plugin tool invocation. */\nexport interface PluginToolRunContext {\n workspaceId?: string;\n projectId?: string;\n connection?: Record<string, unknown>;\n connections?: Array<{ key: string; config: Record<string, unknown> }>;\n}\n\n/**\n * Execute one of a plugin's own tools through the injected sandbox executor.\n *\n * A tool the plugin does not own is a scope violation\n * ({@link PluginToolScopeError}); a missing plugin, validated manifest, or\n * failed execution is a backend failure.\n *\n * @param deps - Catalog seam exposing the validated manifest and executor.\n * @param tenantId - Tenant scope.\n * @param pluginType - Plugin type addressed by the request.\n * @param name - Tool name requested by the caller.\n * @param args - Tool arguments.\n * @param runContext - Optional run identity (workspace/project) selecting the\n * project-isolated sandbox, plus any connection payload. Undefined identity\n * fields are omitted so the executor falls back to the tenant-level sandbox.\n * @returns The handler result.\n * @throws PluginToolScopeError when the validated manifest does not own the tool.\n * @throws Error when the manifest is missing or execution fails.\n */\nexport async function invokePluginTool(\n deps: PluginToolExecutionDeps,\n tenantId: string,\n pluginType: string,\n name: string,\n args: Record<string, unknown>,\n runContext?: PluginToolRunContext,\n): Promise<unknown> {\n const manifest = await deps.catalog.getValidatedManifest(tenantId, pluginType);\n if (!manifest) throw new Error(`plugin \"${pluginType}\" has no validated manifest`);\n const tool = (manifest.tools ?? []).find((t) => t.name === name);\n if (!tool) throw new PluginToolScopeError(name, pluginType);\n // Spread/omit undefined so the executor sees only the identity it was given:\n // a call with workspace/project resolves the project-isolated sandbox, while a\n // context-less call falls back to the tenant-level sandbox.\n const runConfig = {\n tenantId,\n ...(runContext?.workspaceId === undefined ? {} : { workspaceId: runContext.workspaceId }),\n ...(runContext?.projectId === undefined ? {} : { projectId: runContext.projectId }),\n };\n const result = await deps.catalog.getExecutor().invoke({\n manifest,\n handler: tool.handler,\n input: args,\n ...(runContext?.connection === undefined ? {} : { connection: runContext.connection }),\n ...(runContext?.connections === undefined ? {} : { connections: runContext.connections }),\n context: { tenantId, pluginType, tool: name },\n runConfig,\n timeoutMs: tool.timeoutMs,\n maxResultBytes: tool.maxResultBytes,\n });\n if (!result.ok) throw new Error(result.error ?? \"sandbox plugin execution failed\");\n return result.result;\n}\n"],"mappings":";AAoBO,IAAM,uBAAN,cAAmC,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ9C,YAAY,MAAc,YAAoB;AAC5C,UAAM,SAAS,IAAI,6BAA6B,UAAU,GAAG;AAP/D;AAAA,SAAS,OAAO;AAQd,SAAK,OAAO;AAAA,EACd;AACF;AAwDA,eAAsB,iBACpB,MACA,UACA,YACA,MACA,MACA,YACkB;AAClB,QAAM,WAAW,MAAM,KAAK,QAAQ,qBAAqB,UAAU,UAAU;AAC7E,MAAI,CAAC,SAAU,OAAM,IAAI,MAAM,WAAW,UAAU,6BAA6B;AACjF,QAAM,QAAQ,SAAS,SAAS,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI;AAC/D,MAAI,CAAC,KAAM,OAAM,IAAI,qBAAqB,MAAM,UAAU;AAI1D,QAAM,YAAY;AAAA,IAChB;AAAA,IACA,GAAI,YAAY,gBAAgB,SAAY,CAAC,IAAI,EAAE,aAAa,WAAW,YAAY;AAAA,IACvF,GAAI,YAAY,cAAc,SAAY,CAAC,IAAI,EAAE,WAAW,WAAW,UAAU;AAAA,EACnF;AACA,QAAM,SAAS,MAAM,KAAK,QAAQ,YAAY,EAAE,OAAO;AAAA,IACrD;AAAA,IACA,SAAS,KAAK;AAAA,IACd,OAAO;AAAA,IACP,GAAI,YAAY,eAAe,SAAY,CAAC,IAAI,EAAE,YAAY,WAAW,WAAW;AAAA,IACpF,GAAI,YAAY,gBAAgB,SAAY,CAAC,IAAI,EAAE,aAAa,WAAW,YAAY;AAAA,IACvF,SAAS,EAAE,UAAU,YAAY,MAAM,KAAK;AAAA,IAC5C;AAAA,IACA,WAAW,KAAK;AAAA,IAChB,gBAAgB,KAAK;AAAA,EACvB,CAAC;AACD,MAAI,CAAC,OAAO,GAAI,OAAM,IAAI,MAAM,OAAO,SAAS,iCAAiC;AACjF,SAAO,OAAO;AAChB;","names":[]}