Skip to content

Commit 5f569e8

Browse files
Osher-ElhadadOsher-Elhadad
authored andcommitted
Feat: context-guru context-engineering plugin + demo
Add context-guru as an in-process AuthBridge outbound plugin that compacts an agent's LLM request context (tool outputs) before it is forwarded upstream, plus a runnable end-to-end demo on Kagenti. - authlib/plugins/contextguru: OnRequest compaction via apply.BodyWithModel + SetBody; slog logging; WritesBody + RequiresAny:[inference-parser]; tests. - cmd/authbridge-{proxy,envoy}: build-tag-gated plugin registration. - demos/context-guru: multi-transaction audit demo (off/observe/enforce), README with diagrams + config reference, run.sh. - demos/finance-sparc/finance-mcp: two large-output tools for realistic context. Depends on github.com/kagenti/context-guru being published; currently wired via a local replace for development (see PR notes). Toolchain bumped to go 1.26.4. Relates to #659, #641. Assisted-By: Claude (Anthropic AI) <noreply@anthropic.com> Signed-off-by: Osher-Elhadad <Osher.Elhadad@ibm.com>
1 parent 7831168 commit 5f569e8

19 files changed

Lines changed: 1178 additions & 50 deletions

File tree

authbridge/authlib/go.mod

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,20 @@
11
module github.com/kagenti/kagenti-extensions/authbridge/authlib
22

3-
go 1.25.0
3+
go 1.26.4
4+
5+
// context-guru is embedded in-process by the context-guru plugin. Replaced to
6+
// the local checkout for development; a production build requires a published
7+
// version (or a vendored copy in the image build).
8+
require github.com/kagenti/context-guru v0.0.0-00010101000000-000000000000
9+
10+
replace github.com/kagenti/context-guru => ../../../lab-context-engineering
411

512
require (
613
github.com/envoyproxy/go-control-plane/envoy v1.37.0
714
github.com/fsnotify/fsnotify v1.10.1
815
github.com/gobwas/glob v0.2.3
916
github.com/lestrrat-go/jwx/v2 v2.1.6
17+
github.com/maximhq/bifrost/core v1.7.0
1018
github.com/open-policy-agent/opa v1.4.2
1119
github.com/spiffe/go-spiffe/v2 v2.6.0
1220
golang.org/x/net v0.56.0
@@ -20,15 +28,38 @@ require (
2028
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
2129
github.com/Microsoft/go-winio v0.6.2 // indirect
2230
github.com/agnivade/levenshtein v1.2.1 // indirect
31+
github.com/alexaandru/go-sitter-forest/c v1.9.4 // indirect
32+
github.com/alexaandru/go-sitter-forest/c_sharp v1.9.6 // indirect
33+
github.com/alexaandru/go-sitter-forest/cpp v1.9.5 // indirect
34+
github.com/alexaandru/go-sitter-forest/go v1.9.4 // indirect
35+
github.com/alexaandru/go-sitter-forest/java v1.9.5 // indirect
36+
github.com/alexaandru/go-sitter-forest/javascript v1.9.2 // indirect
37+
github.com/alexaandru/go-sitter-forest/kotlin v1.9.4 // indirect
38+
github.com/alexaandru/go-sitter-forest/php v1.9.5 // indirect
39+
github.com/alexaandru/go-sitter-forest/python v1.9.10 // indirect
40+
github.com/alexaandru/go-sitter-forest/ruby v1.9.3 // indirect
41+
github.com/alexaandru/go-sitter-forest/rust v1.9.13 // indirect
42+
github.com/alexaandru/go-sitter-forest/scala v1.9.8 // indirect
43+
github.com/alexaandru/go-sitter-forest/swift v1.9.5 // indirect
44+
github.com/alexaandru/go-sitter-forest/tsx v1.9.2 // indirect
45+
github.com/alexaandru/go-sitter-forest/typescript v1.9.4 // indirect
46+
github.com/andybalholm/brotli v1.2.2 // indirect
47+
github.com/bahlo/generic-list-go v0.2.0 // indirect
2348
github.com/beorn7/perks v1.0.1 // indirect
49+
github.com/buger/jsonparser v1.1.2 // indirect
2450
github.com/bytecodealliance/wasmtime-go/v3 v3.0.2 // indirect
51+
github.com/bytedance/gopkg v0.1.3 // indirect
52+
github.com/bytedance/sonic v1.15.1 // indirect
53+
github.com/bytedance/sonic/loader v0.5.1 // indirect
2554
github.com/cespare/xxhash/v2 v2.3.0 // indirect
55+
github.com/cloudwego/base64x v0.1.6 // indirect
2656
github.com/cncf/xds/go v0.0.0-20260202195803-dba9d589def2 // indirect
2757
github.com/containerd/containerd v1.7.32 // indirect
2858
github.com/containerd/errdefs v1.0.0 // indirect
2959
github.com/containerd/log v0.1.0 // indirect
3060
github.com/containerd/platforms v0.2.1 // indirect
3161
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
62+
github.com/dlclark/regexp2 v1.11.5 // indirect
3263
github.com/envoyproxy/protoc-gen-validate v1.3.3 // indirect
3364
github.com/felixge/httpsnoop v1.0.4 // indirect
3465
github.com/go-ini/ini v1.67.0 // indirect
@@ -39,12 +70,17 @@ require (
3970
github.com/google/uuid v1.6.0 // indirect
4071
github.com/gorilla/mux v1.8.1 // indirect
4172
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2 // indirect
42-
github.com/klauspost/compress v1.18.0 // indirect
73+
github.com/invopop/jsonschema v0.13.0 // indirect
74+
github.com/klauspost/compress v1.18.6 // indirect
75+
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
4376
github.com/lestrrat-go/blackmagic v1.0.3 // indirect
4477
github.com/lestrrat-go/httpcc v1.0.1 // indirect
4578
github.com/lestrrat-go/httprc v1.0.6 // indirect
4679
github.com/lestrrat-go/iter v1.0.2 // indirect
4780
github.com/lestrrat-go/option v1.0.1 // indirect
81+
github.com/mailru/easyjson v0.9.1 // indirect
82+
github.com/mark3labs/mcp-go v0.43.2 // indirect
83+
github.com/mattn/go-pointer v0.0.1 // indirect
4884
github.com/moby/locker v1.0.1 // indirect
4985
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
5086
github.com/opencontainers/go-digest v1.0.0 // indirect
@@ -57,21 +93,35 @@ require (
5793
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect
5894
github.com/segmentio/asm v1.2.0 // indirect
5995
github.com/sirupsen/logrus v1.9.3 // indirect
96+
github.com/spf13/cast v1.10.0 // indirect
6097
github.com/tchap/go-patricia/v2 v2.3.2 // indirect
98+
github.com/tidwall/gjson v1.18.0 // indirect
99+
github.com/tidwall/match v1.1.1 // indirect
100+
github.com/tidwall/pretty v1.2.1 // indirect
101+
github.com/tidwall/sjson v1.2.5 // indirect
102+
github.com/tiktoken-go/tokenizer v0.7.0 // indirect
103+
github.com/tree-sitter/go-tree-sitter v0.25.0 // indirect
104+
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
105+
github.com/valyala/bytebufferpool v1.0.0 // indirect
106+
github.com/valyala/fasthttp v1.71.0 // indirect
107+
github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect
61108
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
62109
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
63110
github.com/yashtewari/glob-intersection v0.2.0 // indirect
111+
github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
64112
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
65-
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect
113+
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect
66114
go.opentelemetry.io/otel v1.43.0 // indirect
67115
go.opentelemetry.io/otel/metric v1.43.0 // indirect
68116
go.opentelemetry.io/otel/sdk v1.43.0 // indirect
69117
go.opentelemetry.io/otel/trace v1.43.0 // indirect
118+
go.starlark.net v0.0.0-20260708150628-5395d018f003 // indirect
119+
golang.org/x/arch v0.23.0 // indirect
70120
golang.org/x/crypto v0.53.0 // indirect
71121
golang.org/x/sync v0.21.0 // indirect
72122
golang.org/x/text v0.38.0 // indirect
73123
golang.org/x/time v0.12.0 // indirect
74-
google.golang.org/protobuf v1.36.11 // indirect
124+
google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect
75125
oras.land/oras-go/v2 v2.5.0 // indirect
76126
sigs.k8s.io/yaml v1.4.0 // indirect
77127
)

0 commit comments

Comments
 (0)