graphjin 3.18.43 → 3.18.45
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.
- package/README.md +47 -36
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# GraphJin
|
|
1
|
+
# GraphJin — One Governed Graph for Your AI Agents
|
|
2
2
|
|
|
3
3
|
[](https://github.com/dosco/graphjin/blob/master/LICENSE)
|
|
4
4
|
[](https://www.npmjs.com/package/graphjin)
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
[](https://pkg.go.dev/github.com/dosco/graphjin/core/v3)
|
|
8
8
|
[](https://goreportcard.com/report/github.com/dosco/graphjin/core/v3)
|
|
9
9
|
|
|
10
|
-
GraphJin is a compiler and runtime that
|
|
10
|
+
GraphJin is a compiler and runtime that gives AI agents one governed graph over the systems a real company already has: databases, warehouses, files, source code, workflows, metadata, and security policy. Instead of handing an agent raw credentials and hoping it guesses correctly, GraphJin exposes that graph through GraphQL + MCP: the agent discovers before acting, validates queries, runs approved work, observes runtime status — and every answer is checked against an execution ledger before it leaves the server.
|
|
11
11
|
|
|
12
12
|
It is not only for agents. GraphJin is still a high-performance GraphQL-to-database compiler, Go library, standalone API service, REST/OpenAPI gateway, and real-time subscription server. The agent use case is where everything comes together: the same compiler that serves your apps can also give AI a smart, auditable way to work across data, code, and operations.
|
|
13
13
|
|
|
@@ -51,57 +51,58 @@ docker pull dosco/graphjin
|
|
|
51
51
|
|
|
52
52
|
## Try It Now
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
54
|
+
One command, no clone, no Docker. The binary ships with a built-in demo — a
|
|
55
|
+
SaaS company ops app (accounts, subscriptions, invoices, support tickets) on
|
|
56
|
+
SQLite with seeded data, saved queries, and workflows:
|
|
57
57
|
|
|
58
|
-
Download the source which contains the `webshop` demo
|
|
59
|
-
```
|
|
60
|
-
git clone https://github.com/dosco/graphjin
|
|
61
|
-
cd graphjin
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Now launch the Graphjin service that you installed using the install options above
|
|
65
58
|
```bash
|
|
66
|
-
graphjin serve --demo
|
|
59
|
+
graphjin serve --demo
|
|
67
60
|
```
|
|
68
61
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
62
|
+
The demo project is extracted to `./graphjin-demo`, and its state lives under
|
|
63
|
+
`./graphjin-demo/demo/`. Delete the `demo/` folder to reset the data, or
|
|
64
|
+
delete `./graphjin-demo` entirely for a fresh copy. You'll see output like
|
|
65
|
+
this:
|
|
72
66
|
|
|
73
|
-
```bash
|
|
74
|
-
graphjin serve --demo --path examples/coffee-roastery
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
More demo verticals — a MySQL corrugated-box plant with JWT roles, a PCB fab
|
|
78
|
-
spanning Postgres + Snowflake-emu + MongoDB + a file source + an OpenAPI
|
|
79
|
-
supplier API, and a zero-Docker SQLite clinic scheduler — live in
|
|
80
|
-
[examples/](examples/README.md), each with an end-to-end smoke suite
|
|
81
|
-
(`make smoke-all` runs them all).
|
|
82
|
-
|
|
83
|
-
You'll see output like this:
|
|
84
67
|
```
|
|
85
68
|
GraphJin started
|
|
86
69
|
───────────────────────
|
|
87
|
-
Web UI: http://localhost:
|
|
88
|
-
GraphQL: http://localhost:
|
|
89
|
-
REST API: http://localhost:
|
|
90
|
-
Workflows: http://localhost:
|
|
91
|
-
MCP: http://localhost:
|
|
70
|
+
Web UI: http://localhost:8083/
|
|
71
|
+
GraphQL: http://localhost:8083/api/v1/graphql
|
|
72
|
+
REST API: http://localhost:8083/api/v1/rest/
|
|
73
|
+
Workflows: http://localhost:8083/api/v1/workflows/<name>
|
|
74
|
+
MCP: http://localhost:8083/api/v1/mcp
|
|
92
75
|
```
|
|
93
76
|
|
|
94
77
|
**Ask the built-in agent**
|
|
95
78
|
|
|
96
|
-
With a model API key in `./.env` (`OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, or `GOOGLE_APIKEY`),
|
|
79
|
+
With a model API key in `./.env` (`OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, or `GOOGLE_APIKEY`), the same command switches into agentic mode and enables GraphJin's built-in agent - one instruction in, a typed, evidence-backed answer out:
|
|
97
80
|
|
|
98
81
|
```bash
|
|
99
|
-
curl -sS localhost:
|
|
82
|
+
curl -sS localhost:8083/api/v1/agent \
|
|
100
83
|
-H 'content-type: application/json' \
|
|
101
|
-
-d '{"instruction": "
|
|
84
|
+
-d '{"instruction": "Which account is most at risk of churning?"}'
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Answers come back as `{status, answer, data, evidence, actions, next}`, grounded by server-side protocol guards. You can also chat with it in the built-in web console at `localhost:8083/agent` — it streams every tool call live as it works. See [Server-Side Agent](#server-side-agent) below, [AGENTIC.md](AGENTIC.md#server-side-agent), and [graphjin.com/agentic/server-agent](https://graphjin.com/agentic/server-agent/).
|
|
88
|
+
|
|
89
|
+
**More demo verticals**
|
|
90
|
+
|
|
91
|
+
The bigger demos live in the repo — clone it and pass `--path`:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
git clone https://github.com/dosco/graphjin
|
|
95
|
+
cd graphjin
|
|
96
|
+
graphjin serve --demo --path examples/webshop # classic GraphQL starter (Postgres)
|
|
97
|
+
graphjin serve --demo --path examples/coffee-roastery # flagship agentic demo (Postgres + BigQuery-emu + CodeSQL)
|
|
102
98
|
```
|
|
103
99
|
|
|
104
|
-
|
|
100
|
+
Each demo keeps its state under `<path>/demo/` and reuses it on later starts.
|
|
101
|
+
A MySQL corrugated-box plant with JWT roles and a PCB fab spanning Postgres +
|
|
102
|
+
Snowflake-emu + MongoDB + a file source + an OpenAPI supplier API live in
|
|
103
|
+
[examples/](examples/README.md), each with an end-to-end smoke suite
|
|
104
|
+
(`make smoke-all` runs them all). The full tour is at
|
|
105
|
+
<https://graphjin.com/start/demos/>.
|
|
105
106
|
|
|
106
107
|
## Add GraphJin To Your AI Client
|
|
107
108
|
|
|
@@ -389,6 +390,16 @@ mutation {
|
|
|
389
390
|
}
|
|
390
391
|
```
|
|
391
392
|
|
|
393
|
+
PostgreSQL and SQLite also support an update-free insert conflict policy for a single row. GraphJin infers one supplied unique key and returns the stored row unchanged on conflict:
|
|
394
|
+
|
|
395
|
+
```graphql
|
|
396
|
+
mutation {
|
|
397
|
+
users(insert: { email: "ada@example.com", full_name: "Ada" }, on_conflict: get) {
|
|
398
|
+
id email full_name
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
```
|
|
402
|
+
|
|
392
403
|
**Spatial queries:**
|
|
393
404
|
```graphql
|
|
394
405
|
{
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "graphjin",
|
|
3
|
-
"version": "3.18.
|
|
4
|
-
"description": "GraphJin
|
|
3
|
+
"version": "3.18.45",
|
|
4
|
+
"description": "GraphJin — one governed graph for AI agents: GraphQL + MCP over your databases, files, APIs, and code",
|
|
5
5
|
"bin": {
|
|
6
6
|
"graphjin": "bin/graphjin.js"
|
|
7
7
|
},
|