@axiom-lattice/gateway 8.3.0 → 8.4.0

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 (109) hide show
  1. package/dist/{A2AAuthService-7UGQ7GMW.mjs → A2AAuthService-UKN53ZGP.mjs} +2 -2
  2. package/dist/{a2a-BHBLACJV.mjs → a2a-TDZ3TT6H.mjs} +3 -3
  3. package/dist/{a2a-standard-VL5I7B4W.mjs → a2a-standard-INVCUSAW.mjs} +39 -2
  4. package/dist/a2a-standard-INVCUSAW.mjs.map +1 -0
  5. package/dist/chunk-A7YNAU5L.mjs +377 -0
  6. package/dist/chunk-A7YNAU5L.mjs.map +1 -0
  7. package/dist/{chunk-3XIIQ6EK.mjs → chunk-BOPNXTMO.mjs} +66 -5
  8. package/dist/chunk-BOPNXTMO.mjs.map +1 -0
  9. package/dist/{chunk-L6MBEEII.mjs → chunk-JGQURU44.mjs} +24 -6
  10. package/dist/chunk-JGQURU44.mjs.map +1 -0
  11. package/dist/{chunk-GPHOYR3X.mjs → chunk-LCM4OQTI.mjs} +30 -1
  12. package/dist/chunk-LCM4OQTI.mjs.map +1 -0
  13. package/dist/{chunk-HVIKCUOF.mjs → chunk-MFWTGNQR.mjs} +74 -5
  14. package/dist/chunk-MFWTGNQR.mjs.map +1 -0
  15. package/dist/{chunk-HYYLYIMH.mjs → chunk-OBODBHIS.mjs} +2 -2
  16. package/dist/chunk-T2HIWZGP.mjs +580 -0
  17. package/dist/chunk-T2HIWZGP.mjs.map +1 -0
  18. package/dist/chunk-Y7OVVPVU.mjs +13 -0
  19. package/dist/chunk-Y7OVVPVU.mjs.map +1 -0
  20. package/dist/{chunk-GL7RV5L3.mjs → chunk-YR32MWEJ.mjs} +36 -73
  21. package/dist/chunk-YR32MWEJ.mjs.map +1 -0
  22. package/dist/embed/{embed-page-AgentDetailSideApp-O6G4NJ7I.css → embed-page-AgentDetailSideApp-JMJOOC4V.css} +1 -1
  23. package/dist/embed/{embed-page-AgentDetailSideApp-7YTMN643.js → embed-page-AgentDetailSideApp-TQEJK6ZF.js} +1 -1
  24. package/dist/embed/{embed-page-AgentGovernanceWorkbench-SFZNVMUH.css → embed-page-AgentGovernanceWorkbench-3T3ZFJI5.css} +1 -1
  25. package/dist/embed/{embed-page-AgentGovernanceWorkbench-YWJ4ZLEV.js → embed-page-AgentGovernanceWorkbench-II2MRGCG.js} +1 -1
  26. package/dist/embed/{embed-page-LangfuseDashboard-BEOJDMWF.js → embed-page-LangfuseDashboard-7OANGQXY.js} +1 -1
  27. package/dist/embed/{embed-page-MessageGraph-N2DXVMEK.js → embed-page-MessageGraph-KJPQWTHE.js} +1 -1
  28. package/dist/embed/{embed-page-TopologyRuntimeView-CWOXLVFW.css → embed-page-MessageGraph-UDC6GQA5.css} +1 -1
  29. package/dist/embed/{embed-page-ReactChart-3QDZX2WG.js → embed-page-ReactChart-2CAIM4JD.js} +1 -1
  30. package/dist/embed/{embed-page-ReactChart-MXGF35OQ.css → embed-page-ReactChart-URBKYQYE.css} +1 -1
  31. package/dist/embed/{embed-page-SkillFlow-3X24ILKU.js → embed-page-SkillFlow-243MXRXC.js} +1 -1
  32. package/dist/embed/{embed-page-TasksSideApp-MYIRJWFM.js → embed-page-TasksSideApp-OA7CULHS.js} +1 -1
  33. package/dist/embed/{embed-page-TasksSideApp-HV6DKQ26.css → embed-page-TasksSideApp-TTCP4ENP.css} +1 -1
  34. package/dist/embed/{embed-page-ThreadMaintenancePanel-V327PV5R.js → embed-page-ThreadMaintenancePanel-Z4424X3J.js} +1 -1
  35. package/dist/embed/{embed-page-WorkflowAutomationView-YQFB3CTV.css → embed-page-TopologyRuntimeView-S4AMB4RI.css} +1 -1
  36. package/dist/embed/{embed-page-TopologyRuntimeView-3O6VJUZR.js → embed-page-TopologyRuntimeView-THTCZUS7.js} +1 -1
  37. package/dist/embed/{embed-page-MessageGraph-UT2TCPSO.css → embed-page-WorkflowAutomationView-FWVCQ3YM.css} +1 -1
  38. package/dist/embed/{embed-page-WorkflowAutomationView-YHOS4WQR.js → embed-page-WorkflowAutomationView-YDIDG35E.js} +1 -1
  39. package/dist/embed/{embed-page-chunk-4XKCMM5C.js → embed-page-chunk-7ULTMRM2.js} +1 -1
  40. package/dist/embed/{embed-page-chunk-BSRASK7V.js → embed-page-chunk-FZX4A32D.js} +5 -5
  41. package/dist/embed/{embed-page-chunk-PMOGSY6W.js → embed-page-chunk-JMP7EQEF.js} +1 -1
  42. package/dist/embed/{embed-page-chunk-IELKCYQX.js → embed-page-chunk-L2EGVVJS.js} +1 -1
  43. package/dist/embed/{embed-page-chunk-WGEXK773.js → embed-page-chunk-LDQGH44H.js} +1 -1
  44. package/dist/embed/{embed-page-chunk-JTL73EBV.js → embed-page-chunk-OMN6G52V.js} +1 -1
  45. package/dist/embed/{embed-page-chunk-PROZXFWS.js → embed-page-chunk-RKQJBKN2.js} +1 -1
  46. package/dist/embed/{embed-page-chunk-YMVKQQXJ.js → embed-page-chunk-VYS3TAK4.js} +1 -1
  47. package/dist/embed/{embed-page-chunk-ASEIOK7X.js → embed-page-chunk-W5OP2CZG.js} +2 -2
  48. package/dist/embed/embed-page-chunk-Z6KWW64I.js +6837 -0
  49. package/dist/embed/{embed-page-en-E35GE7TA.js → embed-page-en-D4M3DPFT.js} +1 -1
  50. package/dist/embed/{embed-page-en-XJYWUJEL.js → embed-page-en-DNDGCPMA.js} +1 -1
  51. package/dist/embed/embed-page-en-H5NOZEKE.js +1 -0
  52. package/dist/embed/{embed-page-en-HDSVQ4O6.js → embed-page-en-QJRX2NQE.js} +1 -1
  53. package/dist/embed/{embed-page-zh-6EBUEFKP.js → embed-page-zh-2H4EB3F3.js} +1 -1
  54. package/dist/embed/embed-page-zh-4C2K3RH2.js +1 -0
  55. package/dist/embed/{embed-page-zh-IR652A6J.js → embed-page-zh-HTEHFCSL.js} +1 -1
  56. package/dist/embed/{embed-page-zh-ZLK3GLM3.js → embed-page-zh-NEXLMDHF.js} +1 -1
  57. package/dist/embed/embed-page.css +1 -1
  58. package/dist/embed/embed-page.js +1 -1
  59. package/dist/embed/mcp-app-page.js +61 -0
  60. package/dist/index.d.mts +29 -0
  61. package/dist/index.d.ts +29 -0
  62. package/dist/index.js +2551 -1476
  63. package/dist/index.js.map +1 -1
  64. package/dist/index.mjs +116 -690
  65. package/dist/index.mjs.map +1 -1
  66. package/dist/mcp-app-shares-SHPBJQXS.mjs +300 -0
  67. package/dist/mcp-app-shares-SHPBJQXS.mjs.map +1 -0
  68. package/dist/mcp-apps-QVUK6UBA.mjs +26 -0
  69. package/dist/{open-7ED27I5B.mjs → open-27ZPLBIW.mjs} +101 -18
  70. package/dist/open-27ZPLBIW.mjs.map +1 -0
  71. package/dist/{open-catalog-SZQ435AY.mjs → open-catalog-NVGP6SQP.mjs} +38 -7
  72. package/dist/open-catalog-NVGP6SQP.mjs.map +1 -0
  73. package/dist/{open-exposure-I3DN2X4E.mjs → open-exposure-BPLYUIX6.mjs} +4 -4
  74. package/dist/{open-files-V3R2BFTV.mjs → open-files-JPB2NBL6.mjs} +4 -4
  75. package/dist/{open-session-2Y7XJJW2.mjs → open-session-CLZT3HVG.mjs} +5 -5
  76. package/dist/open-session-CLZT3HVG.mjs.map +1 -0
  77. package/dist/openLattice-D5YTSZBY.mjs +28 -0
  78. package/dist/{registerExposedPlugins-6GCOE64C.mjs → registerExposedPlugins-2JGXSMAL.mjs} +4 -3
  79. package/dist/{resources-DAU5ZIPB.mjs → resources-YD5DOPGD.mjs} +83 -3
  80. package/dist/resources-YD5DOPGD.mjs.map +1 -0
  81. package/dist/{sandboxOpenCredentialProvider-AT227D4N.mjs → sandboxOpenCredentialProvider-RTYOYRCT.mjs} +19 -14
  82. package/dist/sandboxOpenCredentialProvider-RTYOYRCT.mjs.map +1 -0
  83. package/package.json +10 -8
  84. package/dist/a2a-standard-VL5I7B4W.mjs.map +0 -1
  85. package/dist/chunk-3XIIQ6EK.mjs.map +0 -1
  86. package/dist/chunk-GL7RV5L3.mjs.map +0 -1
  87. package/dist/chunk-GPHOYR3X.mjs.map +0 -1
  88. package/dist/chunk-GXZFO3VU.mjs +0 -42
  89. package/dist/chunk-GXZFO3VU.mjs.map +0 -1
  90. package/dist/chunk-HVIKCUOF.mjs.map +0 -1
  91. package/dist/chunk-L6MBEEII.mjs.map +0 -1
  92. package/dist/embed/embed-page-chunk-IBRMWDHE.js +0 -6835
  93. package/dist/embed/embed-page-en-GLT2HEZZ.js +0 -1
  94. package/dist/embed/embed-page-zh-XMEJPDMF.js +0 -1
  95. package/dist/open-7ED27I5B.mjs.map +0 -1
  96. package/dist/open-catalog-SZQ435AY.mjs.map +0 -1
  97. package/dist/open-session-2Y7XJJW2.mjs.map +0 -1
  98. package/dist/openLattice-Q6M5S6CY.mjs +0 -18
  99. package/dist/openRateLimiter-XEOL3A5G.mjs +0 -8
  100. package/dist/resources-DAU5ZIPB.mjs.map +0 -1
  101. package/dist/sandboxOpenCredentialProvider-AT227D4N.mjs.map +0 -1
  102. /package/dist/{A2AAuthService-7UGQ7GMW.mjs.map → A2AAuthService-UKN53ZGP.mjs.map} +0 -0
  103. /package/dist/{a2a-BHBLACJV.mjs.map → a2a-TDZ3TT6H.mjs.map} +0 -0
  104. /package/dist/{chunk-HYYLYIMH.mjs.map → chunk-OBODBHIS.mjs.map} +0 -0
  105. /package/dist/{openLattice-Q6M5S6CY.mjs.map → mcp-apps-QVUK6UBA.mjs.map} +0 -0
  106. /package/dist/{open-exposure-I3DN2X4E.mjs.map → open-exposure-BPLYUIX6.mjs.map} +0 -0
  107. /package/dist/{open-files-V3R2BFTV.mjs.map → open-files-JPB2NBL6.mjs.map} +0 -0
  108. /package/dist/{openRateLimiter-XEOL3A5G.mjs.map → openLattice-D5YTSZBY.mjs.map} +0 -0
  109. /package/dist/{registerExposedPlugins-6GCOE64C.mjs.map → registerExposedPlugins-2JGXSMAL.mjs.map} +0 -0
@@ -2,11 +2,11 @@ import {
2
2
  A2AAuthError,
3
3
  A2AAuthService,
4
4
  parseEnvKeys
5
- } from "./chunk-GPHOYR3X.mjs";
5
+ } from "./chunk-LCM4OQTI.mjs";
6
6
  import "./chunk-NFEGQTCC.mjs";
7
7
  export {
8
8
  A2AAuthError,
9
9
  A2AAuthService,
10
10
  parseEnvKeys
11
11
  };
12
- //# sourceMappingURL=A2AAuthService-7UGQ7GMW.mjs.map
12
+ //# sourceMappingURL=A2AAuthService-UKN53ZGP.mjs.map
@@ -4,8 +4,8 @@ import {
4
4
  registerA2ARoutes,
5
5
  setA2AAuthService,
6
6
  setA2AKeyStore
7
- } from "./chunk-HYYLYIMH.mjs";
8
- import "./chunk-GPHOYR3X.mjs";
7
+ } from "./chunk-OBODBHIS.mjs";
8
+ import "./chunk-LCM4OQTI.mjs";
9
9
  import "./chunk-NFEGQTCC.mjs";
10
10
  export {
11
11
  broadcastA2AKeyChanged,
@@ -14,4 +14,4 @@ export {
14
14
  setA2AAuthService,
15
15
  setA2AKeyStore
16
16
  };
17
- //# sourceMappingURL=a2a-BHBLACJV.mjs.map
17
+ //# sourceMappingURL=a2a-TDZ3TT6H.mjs.map
@@ -9,9 +9,12 @@ import {
9
9
  saveProjectFile,
10
10
  wakeRunTaskQueue
11
11
  } from "./chunk-2SR4F3ZD.mjs";
12
+ import {
13
+ getRateLimitService
14
+ } from "./chunk-A7YNAU5L.mjs";
12
15
  import {
13
16
  A2AAuthError
14
- } from "./chunk-GPHOYR3X.mjs";
17
+ } from "./chunk-LCM4OQTI.mjs";
15
18
  import "./chunk-NFEGQTCC.mjs";
16
19
 
17
20
  // src/routes/a2a-standard.ts
@@ -3317,6 +3320,12 @@ var SSE_HEADERS = {
3317
3320
  };
3318
3321
  function registerA2AStandardRoutes(app, deps) {
3319
3322
  const authService = deps.authService;
3323
+ const rateLimits = deps.rateLimits ?? getRateLimitService();
3324
+ const enforceRateLimit = async (request, reply, dimensions, requestId) => {
3325
+ const decision = await rateLimits.consume("a2a.jsonrpc", dimensions);
3326
+ if (decision.allowed) return null;
3327
+ return reply.header("Retry-After", String(decision.retryAfterSeconds)).status(429).send(jsonRpcError(requestId, -32005, "Rate limited"));
3328
+ };
3320
3329
  const resolveTasks = deps.getTaskStoreLattice ?? (() => getStoreLattice("default", "task").store);
3321
3330
  const resolveTaskWorkItems = deps.getTaskWorkItemStore ?? (() => getStoreLattice("default", "taskWorkItem").store);
3322
3331
  const getAssistantStore = deps.getAssistantStore ?? (() => getStoreLattice("default", "assistant").store);
@@ -3608,6 +3617,13 @@ function registerA2AStandardRoutes(app, deps) {
3608
3617
  );
3609
3618
  const handleJsonRpc = async (request, reply) => {
3610
3619
  const requestId = extractRequestId(request.body);
3620
+ const preAuthBlocked = await enforceRateLimit(
3621
+ request,
3622
+ reply,
3623
+ { ip: request.ip },
3624
+ requestId
3625
+ );
3626
+ if (preAuthBlocked) return;
3611
3627
  const auth = await authService.authenticate(
3612
3628
  getHeader(request.headers.authorization) ?? getHeader(request.headers["x-api-key"])
3613
3629
  );
@@ -3636,6 +3652,13 @@ function registerA2AStandardRoutes(app, deps) {
3636
3652
  reply.status(500).send(jsonRpcError(requestId, -32603, "Internal error"));
3637
3653
  return;
3638
3654
  }
3655
+ const blocked = await enforceRateLimit(
3656
+ request,
3657
+ reply,
3658
+ { key: auth.apiKey },
3659
+ requestId
3660
+ );
3661
+ if (blocked) return;
3639
3662
  const tenantId = auth.tenantId ?? "default";
3640
3663
  const scope = {
3641
3664
  tenantId,
@@ -3968,12 +3991,26 @@ data: ${JSON.stringify(data)}
3968
3991
  reply.header("A2A-Version", "1.0").send(versionNotSupportedError(requestId, requestedVersion));
3969
3992
  return;
3970
3993
  }
3994
+ const preAuthBlocked = await enforceRateLimit(
3995
+ request,
3996
+ reply,
3997
+ { ip: request.ip },
3998
+ requestId
3999
+ );
4000
+ if (preAuthBlocked) return;
3971
4001
  const auth = await authenticateV1(request);
3972
4002
  if (!auth.ok) {
3973
4003
  reply.status(auth.status).send(jsonRpcError(requestId, authErrorToRpcCode(auth.status), auth.message));
3974
4004
  return;
3975
4005
  }
3976
4006
  const rawMethod = asString4(requestBody.method);
4007
+ const blocked = await enforceRateLimit(
4008
+ request,
4009
+ reply,
4010
+ { key: auth.auth.apiKey },
4011
+ requestId
4012
+ );
4013
+ if (blocked) return;
3977
4014
  const tenantId = auth.auth.tenantId ?? "default";
3978
4015
  const scope = {
3979
4016
  tenantId,
@@ -4185,4 +4222,4 @@ data: ${JSON.stringify(errorResponse)}
4185
4222
  export {
4186
4223
  registerA2AStandardRoutes
4187
4224
  };
4188
- //# sourceMappingURL=a2a-standard-VL5I7B4W.mjs.map
4225
+ //# sourceMappingURL=a2a-standard-INVCUSAW.mjs.map