Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
133 commits
Select commit Hold shift + click to select a range
61294e8
feat: checkpoint
indietyp Jun 30, 2026
c5fa65e
feat: performance + code review
indietyp Jul 1, 2026
905bf95
feat: performance + code review
indietyp Jul 1, 2026
ea590d5
feat: code review
indietyp Jul 1, 2026
b4c20c0
feat: code review
indietyp Jul 1, 2026
ec7b549
feat: code review
indietyp Jul 1, 2026
b9388c5
feat: code review
indietyp Jul 1, 2026
1d55756
feat: code review
indietyp Jul 1, 2026
5a1cd7d
feat: code review
indietyp Jul 1, 2026
63cb085
feat: checkpoint
indietyp Jul 2, 2026
41dbdfc
feat: checkpoint
indietyp Jul 2, 2026
c4eb2ad
feat: checkpoint
indietyp Jul 2, 2026
4c5d598
chore: docs
indietyp Jul 2, 2026
af9ad17
feat: checkpoint
indietyp Jul 2, 2026
5565bb5
feat: checkpoint
indietyp Jul 2, 2026
0b00050
feat: checkpoint
indietyp Jul 2, 2026
5252b74
feat: checkpoint
indietyp Jul 2, 2026
419ca7d
feat: explode components
indietyp Jul 2, 2026
cea70f5
feat: checkpoint
indietyp Jul 2, 2026
5c56477
feat: v2 -> v1
indietyp Jul 2, 2026
bb8d15d
feat: docs + atlas
indietyp Jul 2, 2026
2cf59a5
feat: make everything configurable!
indietyp Jul 2, 2026
15b3a3d
feat: remove the old
indietyp Jul 2, 2026
ccfbf36
temp: snapshot
indietyp Jul 2, 2026
b25b976
temp: snapshot II
indietyp Jul 2, 2026
77cafe5
feat: majorization improvements + UI
indietyp Jul 3, 2026
b00c361
Split worker into entity lifecycle: EntityGraphWorker under worker/en…
indietyp Jul 3, 2026
db355a9
Add type-graph worker lifecycle (INIT_TYPE): TypeGraphWorker, shared …
indietyp Jul 3, 2026
64c532a
Split worker connection into FrameConnection base + entity/type subcl…
indietyp Jul 3, 2026
00b561f
Parameterize the scene pipeline over node identity via SceneHandle
indietyp Jul 3, 2026
11c53c2
Restructure React bridges: entity bridge under entity-graph/, scene i…
indietyp Jul 3, 2026
6235eae
Add the type-graph bridge: types page Graph view on the new visualizer
indietyp Jul 3, 2026
3dcfd88
Migrate the flow outputs graph to the new EntityGraphVisualizer
indietyp Jul 3, 2026
dcdf150
Remove the sigma-based visualizers and their dependencies
indietyp Jul 3, 2026
fe38794
fix: double mount
indietyp Jul 3, 2026
3c4cbd4
feat: do not loosely type
indietyp Jul 3, 2026
bf056cc
chore: remove fixture
indietyp Jul 3, 2026
3c46da6
chore: remove straggler
indietyp Jul 3, 2026
83b2701
chore: remove straggler
indietyp Jul 3, 2026
82cbe7d
chore: remove file
indietyp Jul 7, 2026
1af6c80
feat: embedding2d learn/fit
indietyp Jul 8, 2026
3e7d551
feat: embedding alpha ladder fit
indietyp Jul 9, 2026
8642c0f
feat: embedding over alpha blending
indietyp Jul 9, 2026
411d065
feat: take relations into account
indietyp Jul 9, 2026
d7efbbc
feat: take relations into account
indietyp Jul 9, 2026
bb723b3
feat: finish the python experiment
indietyp Jul 9, 2026
971463f
feat: move to Rust implementation
indietyp Jul 10, 2026
63e2a96
feat: move to Rust implementation
indietyp Jul 10, 2026
76fbc39
feat: projection matrix
indietyp Jul 10, 2026
24519b0
feat: sample into file
indietyp Jul 10, 2026
5131d7f
feat: sample into file
indietyp Jul 10, 2026
47b868f
feat: finish sampling
indietyp Jul 10, 2026
269dc6b
feat: finish sampling
indietyp Jul 10, 2026
3adc189
feat: slop umap
indietyp Jul 10, 2026
b6a04dd
feat: slop umap
indietyp Jul 10, 2026
c77b561
feat: slop umap
indietyp Jul 10, 2026
a59047b
feat: evaluation tools
indietyp Jul 11, 2026
b86146f
feat: evaluation tools
indietyp Jul 11, 2026
fcd9ff5
feat: common review
indietyp Jul 11, 2026
cc922f6
feat: common review
indietyp Jul 11, 2026
de59640
feat: slop checkpoint
indietyp Jul 11, 2026
c85b78d
feat: slop checkpoint
indietyp Jul 11, 2026
85fbf0c
feat: checkpoint
indietyp Jul 11, 2026
f77cefa
feat: checkpoint
indietyp Jul 12, 2026
e902583
feat: checkpoint
indietyp Jul 12, 2026
8978b4d
feat: checkpoint
indietyp Jul 12, 2026
44e46ca
feat: checkpoint
indietyp Jul 12, 2026
93bd1e9
feat: checkpoint
indietyp Jul 12, 2026
02932a4
feat: checkpoint
indietyp Jul 12, 2026
ce02381
feat: checkpoint
indietyp Jul 12, 2026
b6dbab5
feat: checkpoint
indietyp Jul 12, 2026
d300b20
feat: checkpoint
indietyp Jul 12, 2026
71788f0
feat: checkpoint
indietyp Jul 12, 2026
b33afb4
feat: checkpoint
indietyp Jul 12, 2026
abde2b9
feat: checkpoint
indietyp Jul 12, 2026
c748a11
feat: checkpoint
indietyp Jul 12, 2026
d19c650
feat: checkpoint
indietyp Jul 13, 2026
b30d685
feat: relation prep
indietyp Jul 13, 2026
66d8885
feat: checkpoint
indietyp Jul 13, 2026
dcdaa71
feat: checkpoint
indietyp Jul 13, 2026
7aa5bf9
feat: checkpoint
indietyp Jul 13, 2026
20be719
feat: checkpoint
indietyp Jul 13, 2026
231830f
feat: checkpoint
indietyp Jul 13, 2026
8736a68
feat: checkpoint
indietyp Jul 14, 2026
9081979
feat: checkpoint
indietyp Jul 14, 2026
542140d
feat: checkpoint
indietyp Jul 14, 2026
f4ac072
feat: checkpoint
indietyp Jul 14, 2026
b37921a
feat: checkpoint
indietyp Jul 14, 2026
8249abe
feat: checkpoint
indietyp Jul 14, 2026
5d7046c
feat: move from eval to evaluation
indietyp Jul 14, 2026
b407b81
feat: checkpoint
indietyp Jul 14, 2026
68752cc
feat: checkpoint
indietyp Jul 14, 2026
4538e40
feat: checkpoint
indietyp Jul 14, 2026
eaaedd4
feat: restructure everything
indietyp Jul 15, 2026
7a81cb8
feat: checkpoint
indietyp Jul 15, 2026
d3c9851
feat: checkpoint
indietyp Jul 15, 2026
2f4353f
feat: checkpoint
indietyp Jul 15, 2026
5f4c0e0
feat: checkpoint
indietyp Jul 15, 2026
bcc3a2f
feat: checkpoint
indietyp Jul 16, 2026
e039182
feat: checkpoint
indietyp Jul 16, 2026
f9c81e1
feat: checkpoint
indietyp Jul 16, 2026
bb7d14b
feat: checkpoint
indietyp Jul 16, 2026
65b91de
feat: checkpoint
indietyp Jul 16, 2026
3b4e35a
feat: checkpoint
indietyp Jul 16, 2026
1df5eb8
feat: checkpoint
indietyp Jul 16, 2026
265338c
feat: checkpoint
indietyp Jul 16, 2026
eb14224
feat: checkpoint
indietyp Jul 16, 2026
94fdd0f
feat: checkpoint
indietyp Jul 16, 2026
bf8ad09
feat: checkpoint
indietyp Jul 16, 2026
bf79912
feat: checkpoint
indietyp Jul 16, 2026
ddf2e69
feat: checkpoint
indietyp Jul 16, 2026
35fc4dc
chore: gitignore
indietyp Jul 16, 2026
ff84fba
chore: checkpoint
indietyp Jul 17, 2026
30dca38
feat: checkpoint
indietyp Jul 17, 2026
1e03f01
fix: postgres
indietyp Jul 17, 2026
ddbea19
chore: untrack working docs, keep locally via info/exclude
indietyp Jul 17, 2026
3b18de2
chore: remove salt-adjudicator (parked outside repo)
indietyp Jul 17, 2026
0941dd3
chore: remove atlas-tools CI wiring
indietyp Jul 17, 2026
76b4ca3
feat: contours
indietyp Jul 17, 2026
c1544ac
chore: drop unused evaluation scaffold, revert unneeded uv bump
indietyp Jul 17, 2026
cb2f72e
chore: untrack embedding2d (local precursor)
indietyp Jul 17, 2026
e951b48
chore: move agent skill and identifier rules to own branch
indietyp Jul 17, 2026
1460e96
chore: shrink atlas-tools test fixtures
indietyp Jul 17, 2026
ed098a9
chore: gitignore
indietyp Jul 17, 2026
8fde7c6
FE-1176: create graph chart component (#9046)
alex-e-leon Jul 17, 2026
b947ae6
fix: lockfile
indietyp Jul 17, 2026
789090c
chore: untrack atlas-demo (local designer demo)
indietyp Jul 17, 2026
e4b73af
Reset hash-frontend to main
alex-e-leon Jul 17, 2026
73d95a3
feat: add DVec2 double-precision vector and tests
indietyp Jul 17, 2026
bd46a3d
Better selected node ui in network graph
alex-e-leon Jul 17, 2026
bbbdc10
feat: file ll
indietyp Jul 17, 2026
466f534
feat: lookup APIs
indietyp Jul 17, 2026
62dd189
Merge branch 'bm/h-6617-experiment-with-graph-rendering-inside-of-has…
indietyp Jul 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6,008 changes: 5,453 additions & 555 deletions Cargo.lock

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ members = [
"libs/@local/codegen",
"libs/@local/effect-dns/hickory",
"libs/@local/graph/api",
"libs/@local/graph/atlas",
"libs/@local/graph/authorization",
"libs/@local/graph/embeddings",
"libs/@local/graph/migrations",
Expand Down Expand Up @@ -75,6 +76,7 @@ harpc-wire-protocol.path = "libs/@local/harpc/wire-protocol"
hash-codec.path = "libs/@local/codec"
hash-codegen.path = "libs/@local/codegen"
hash-graph-api.path = "libs/@local/graph/api"
hash-graph-atlas.path = "libs/@local/graph/atlas"
hash-graph-authorization.path = "libs/@local/graph/authorization"
hash-graph-embeddings.path = "libs/@local/graph/embeddings"
hash-graph-migrations.path = "libs/@local/graph/migrations"
Expand Down Expand Up @@ -239,6 +241,7 @@ rpds = { version = "1.1.2", default-features = fal
rstest = { version = "0.26.1", default-features = false }
rustc_version = { version = "0.4.1", default-features = false }
scc = { version = "3.8.4", default-features = false }
schemars = { version = "1.2.1", default-features = false }
semver = { version = "1.0.27", default-features = false }
sentry = { version = "0.48.0", default-features = false, features = ["backtrace", "contexts", "debug-images", "panic", "reqwest", "rustls", "tower-http", "tracing"] }
sentry-core = { version = "0.48.0", default-features = false }
Expand Down
33 changes: 33 additions & 0 deletions apps/hash-api/src/graph/knowledge/primitive/cluster-entities.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { getActorIdFromRequest } from "../../../auth/get-actor-id";

import type { ClusterEntitiesParams } from "@local/hash-graph-client";
import type { RequestHandler } from "express";

export const clusterEntitiesHandler: RequestHandler<
Record<string, never>,
| {
clusters: {
clusterId: number;
entityIds: string[];
centroid: number[];
}[];
missingEmbeddings: string[];
}
| { error: string },
ClusterEntitiesParams
> = async (req, res) => {
const actorId = getActorIdFromRequest(req);

try {
const { data } = await req.context.graphApi.clusterEntities(
actorId,
req.body,
);

res.status(200).json(data);
} catch (error) {
res.status(500).json({
error: error instanceof Error ? error.message : "Unknown error",
});
}
};
4 changes: 4 additions & 0 deletions apps/hash-api/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ import { kratosPublicUrl } from "./auth/ory-kratos";
import { setupBlockProtocolExternalServiceMethodProxy } from "./block-protocol-external-service-method-proxy";
import { createEmailTransporter } from "./email/create-email-transporter";
import { ensureSystemGraphIsInitialized } from "./graph/ensure-system-graph-is-initialized";
import { clusterEntitiesHandler } from "./graph/knowledge/primitive/cluster-entities";
import { ensureHashSystemAccountExists } from "./graph/system-account";
import { createApolloServer } from "./graphql/create-apollo-server";
import { otelSetup } from "./instrument.mjs";
Expand Down Expand Up @@ -851,6 +852,9 @@ const main = async () => {
next();
});

// Entity clustering
app.post("/entities/embeddings/clusters", clusterEntitiesHandler);

// Integrations
app.get("/oauth/linear", authRouteRateLimiter, oAuthLinear);
app.get("/oauth/linear/callback", authRouteRateLimiter, oAuthLinearCallback);
Expand Down
9 changes: 9 additions & 0 deletions libs/@hashintel/ds-components/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,10 +75,19 @@
},
"dependencies": {
"@ark-ui/react": "5.37.2",
"@deck.gl/core": "9.3.6",
"@deck.gl/layers": "9.3.6",
"@deck.gl/react": "9.3.6",
"@deck.gl/widgets": "9.3.6",
"@hashintel/ds-helpers": "workspace:^",
"@loaders.gl/core": "4.4.3",
"@luma.gl/core": "9.3.6",
"@luma.gl/engine": "9.3.6",
"@luma.gl/shadertools": "9.3.6",
"@pandacss/dev": "1.11.1",
"@pandacss/preset-panda": "1.11.1",
"@zag-js/dom-query": "1.41.2",
"colorjs.io": "0.6.1",
"use-callback-ref": "1.3.3"
},
"devDependencies": {
Expand Down
Loading
Loading