Planned Integrations¶
This page catalogs integrations that are not production-ready: scaffolded SDKs, stub applications, and adapter surfaces named in the original v1 design that are not implemented. For shipped integrations, see the dedicated reference pages (Python SDK, REST API, gRPC API, MCP Tools, CLI, VSCode Tooling, Rule Packs).
Each entry declares a Status of one of:
- Shipped — in-tree, tested, documented, and reachable from a release artifact.
- Partial — in-tree with working code but missing tests, packaging, or CI coverage.
- Planned — named in the original v1 design with no implementation in the source tree.
Go SDK — packages/fathom-go/¶
Status: Partial.
Location: packages/fathom-go/ — a hand-written REST client plus
generated gRPC bindings. Package contents: client.go (180 lines),
client_test.go (818 lines), grpc_test.go (230 lines, build-tagged
integration), tools.go, go.mod, go.sum, Makefile, and
proto/ with fathom.pb.go + fathom_grpc.pb.go. go.mod declares
module github.com/KrakenNet/fathom-go at go 1.21.
What works today:
NewClient(baseURL, opts...)constructor atclient.go:39-48, with functional optionsWithBearerToken(client.go:25-27) andWithHTTPClient(client.go:31-33).- Four request/response pairs covering the REST surface:
Evaluate,AssertFact,Query,Retract(client.go:74-144). - Shared transport at
client.go:148-180: JSON marshal/unmarshal,Content-Type: application/json, optionalAuthorization: Bearer <token>header, and error surfacing on any non-2xx status with the server body embedded in the returned error. - Unit tests in
client_test.goexercise the REST surface againsthttptestservers. - Generated gRPC stubs live in
packages/fathom-go/proto/(built fromprotos/fathom.proto);grpc_test.gois a-tags=integrationtest that spawns the Python gRPC server and dials it via those stubs.
What is missing:
- No CI for the Go suite. Unit and integration tests exist locally but the Python suite is still the only one wired into CI.
- No released module. Consumers must vendor the package from a local clone; nothing is published to a Go proxy.
How to use today: Clone the monorepo, go get against the local path
(or add a replace directive), and point the client at a running REST
server. For the current public API surface, see the generated reference
at Go SDK.
TypeScript SDK — packages/fathom-ts/¶
Status: Partial.
Location: packages/fathom-ts/ — published identity
@fathom-rules/sdk at 0.1.0 per package.json. Source lives in
src/client.ts (215 lines), src/errors.ts (77 lines), and
src/index.ts (26 lines). Vitest suites in test/client.test.ts and
test/errors.test.ts.
What works today: A hand-written FathomClient plus a typed error
hierarchy. The package ships at v0.1.0 with 19
vitest tests passing, and the typedoc reference is generated into
docs/reference/typescript-sdk/ by the docs npm script in
package.json:14.
What works (additional): The OpenAPI-generated client has been
produced and committed. openapi.json lives at the repo root, and
packages/fathom-ts/src/generated/ contains core/, index.ts,
schemas.gen.ts, services.gen.ts, and types.gen.ts — the output of
the generate script at package.json:12 (which shells out to
scripts/generate.sh calling npx @hey-api/openapi-ts against
../../openapi.json).
What is missing:
- No published npm release.
repository.urlinpackage.jsonpoints at the monorepo; nodist/is published. - No CI for the TS suite. Vitest suites pass locally only.
How to use today: Clone the monorepo, pnpm install in
packages/fathom-ts/, and import from the local workspace path. The
generated API reference lives at
TypeScript SDK.
Visual Rule Editor — packages/fathom-editor/¶
Status: Partial (stub).
Location: packages/fathom-editor/ — package identity @fathom/editor
at 0.1.0 with "private": true set in package.json:4. Dependencies:
React ^19.1.0, Vite ^7.1.0; dev toolchain TypeScript ^5.9.0.
What exists: Component stubs under src/components/: RuleTree.tsx,
ConditionBuilder.tsx, TemplateBrowser.tsx, ClipsPreview.tsx,
TestRunner.tsx, YamlEditor.tsx. Entry at src/App.tsx, Vite bootstrap
at src/main.tsx, and an src/api/ directory for backend glue.
What is missing:
- No tests.
package.jsondeclares notestscript and no test runner is installed. - No backend wiring. The original v1 design described the editor as "components exist but not production-ready." The stubs do not round-trip against a live Fathom REST server.
- Not publishable. The package is marked
private: trueand has no build artifact consumers.
How to use today: pnpm install && pnpm dev inside
packages/fathom-editor/ runs the Vite dev server. This is a development
scaffold, not a supported end-user artifact.
Framework adapters¶
The original v1 design listed four framework adapters. All four are now shipped.
| Adapter | Status | Location |
|---|---|---|
| LangChain callback handler | Shipped | src/fathom/integrations/langchain.py |
| CrewAI before-tool-call hook | Shipped | src/fathom/integrations/crewai.py |
| OpenAI Agents SDK tool guardrail | Shipped | src/fathom/integrations/openai_agents.py |
| Google ADK before-tool callback | Shipped | src/fathom/integrations/google_adk.py |
Each adapter follows the same pattern: intercept tool calls, assert a
tool_request fact into Fathom, evaluate policy rules, and raise
PolicyViolation (or return an error dict for ADK) on deny/escalate.
Install via pip install fathom-rules[langchain], fathom-rules[crewai],
fathom-rules[openai-agents], or fathom-rules[google-adk].
Known blockers¶
- Proto ↔
go.modpath alignment — previously flagged asREVIEW.mdM2 (proto declaredgithub.com/KrakenNet/fathom/gen/go/fathom/v1whilego.moddeclaredgithub.com/KrakenNet/fathom-go, which would have brokenprotocoutput). Resolved at HEAD:protos/fathom.proto:12now declaresgo_package = "github.com/KrakenNet/fathom-go/proto;fathomv1", matchingpackages/fathom-go/go.mod:1. Generated bindings now live inpackages/fathom-go/proto/{fathom.pb.go,fathom_grpc.pb.go}. - No CI for the Go, TypeScript, or editor packages. The Python test suite (1361 tests) is the only suite wired into CI; every "works today" claim above reduces to "works when run locally against a developer's machine."
See also¶
- Python SDK — the reference implementation; all shipped adapters (including LangChain) live here.
- REST API — the wire protocol the Go and TypeScript SDKs target.
- gRPC API — the proto surface the Go SDK does not yet implement.
- Go SDK — gomarkdoc output for the REST client described above.
- TypeScript SDK — typedoc output for
@fathom-rules/sdk.