graphjin 3.18.45 → 3.19.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.
- package/README.md +6 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -245,7 +245,7 @@ To use GraphJin with your own databases you have to first create a new GraphJin
|
|
|
245
245
|
|
|
246
246
|
**Step 1: Create New GraphJin App**
|
|
247
247
|
```bash
|
|
248
|
-
graphjin new my-app
|
|
248
|
+
graphjin serve new my-app
|
|
249
249
|
```
|
|
250
250
|
|
|
251
251
|
**Step 2: Start the GraphJin Service**
|
|
@@ -602,14 +602,15 @@ Legacy prompts such as `write_query` and `fix_query_error` are available only wh
|
|
|
602
602
|
|
|
603
603
|
## Server-Side Agent
|
|
604
604
|
|
|
605
|
-
|
|
605
|
+
Instead of your client chaining `query_catalog` → `validate_where_clause` → `execute_saved_query`, let GraphJin run the catalog-first discovery loop for you. Dev and agentic modes enable the agent and expose `ask_graphjin_agent` alongside the primitive MCP tools by default. The REST endpoint `POST /api/v1/agent` takes the same instruction and returns a typed, evidence-backed answer (`status`, `answer`, `data`, `evidence`, `actions`, `next`).
|
|
606
606
|
|
|
607
|
-
- **
|
|
607
|
+
- **Zero configuration:** dev and agentic modes also enable a private `.graphjin/artifacts.sqlite3` store, watches (`runner: all`), and stateful MCP HTTP. No application subscription starts until an active, approved watch exists. Production defaults are unchanged.
|
|
608
608
|
- **Execution control:** there are no per-request agent modes. `agent.read_only: true` forces the server-side agent to reject mutations, including saved-query mutations; otherwise core roles, row-level security, source/table `read_only`, and Go protocol guards decide what can run.
|
|
609
609
|
- **Caller-scoped:** the agent runs as the caller, so core roles + row-level security enforce access. The caller's role only changes which *guidance* the agent follows, never what it can read or write.
|
|
610
610
|
- **Grounded:** Go protocol guards keep every answer backed by real catalog/validation/execution evidence and downgrade to `blocked` (with evidence) when a step is skipped.
|
|
611
|
+
- **Semantic-aware discovery:** when semantic catalog search is ready, the agent uses short business-intent phrases and may make one private two-or-three-phrase coverage batch; one Ax request embeds cache misses, and only real catalog relationship paths count as join evidence. Lexical-only prompts and public MCP stay unchanged.
|
|
611
612
|
- **Machine-actionable refusals:** blocked responses carry a structured `refusal` (code, reasons, unblock steps, `policy_final`/`retryable`) so a calling agent can course-correct in one step instead of guessing.
|
|
612
|
-
- **
|
|
613
|
+
- **Automatic model selection:** a populated environment variable named by `agent.api_key_env` always selects the server provider. Without server credentials, MCP borrows the calling client's model via sampling; a non-sampling client gets `model_sampling_unavailable`, and REST fails because it has no MCP session. `agent.sampling: off` disables client fallback.
|
|
613
614
|
|
|
614
615
|
It is an RLM loop — the model writes JavaScript that calls the discovery tools, and the typed result is parsed from `key: value` output. So it needs a model that is good at **code generation**, not provider tool-calling or structured-output modes; any OpenAI-compatible endpoint works via `agent.base_url`. See [AGENTIC.md](AGENTIC.md#server-side-agent) and [CONFIG.md](CONFIG.md#agent-configuration).
|
|
615
616
|
|
|
@@ -830,7 +831,7 @@ res, _ := gj.GraphQL(ctx, `{ users { id email } }`, nil, nil)
|
|
|
830
831
|
### Standalone Service
|
|
831
832
|
```bash
|
|
832
833
|
brew install dosco/graphjin/graphjin # Mac
|
|
833
|
-
graphjin new myapp && cd myapp
|
|
834
|
+
graphjin serve new myapp && cd myapp
|
|
834
835
|
graphjin serve
|
|
835
836
|
```
|
|
836
837
|
|