@synapsor/runner 0.1.9 → 0.1.11
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/CHANGELOG.md +32 -0
- package/README.md +60 -29
- package/dist/cli.d.ts.map +1 -1
- package/dist/runner.mjs +719 -47
- package/docs/README.md +6 -0
- package/docs/cloud-mode.md +18 -0
- package/docs/cloud-push.md +54 -0
- package/docs/current-scope.md +1 -1
- package/docs/local-mode.md +4 -3
- package/docs/mcp-clients.md +123 -0
- package/docs/release-notes.md +30 -0
- package/docs/runner-bundles.md +59 -0
- package/examples/support-plan-credit/.env.example +10 -0
- package/examples/support-plan-credit/README.md +273 -0
- package/examples/support-plan-credit/contract.synapsor +59 -0
- package/examples/support-plan-credit/docker-compose.yml +12 -0
- package/examples/support-plan-credit/expected-output/cloud-push-response.json +9 -0
- package/examples/support-plan-credit/expected-output/proposal-created.json +23 -0
- package/examples/support-plan-credit/expected-output/receipt.json +13 -0
- package/examples/support-plan-credit/expected-output/replay-summary.json +13 -0
- package/examples/support-plan-credit/expected-output/tools-preview.txt +15 -0
- package/examples/support-plan-credit/mcp-client-examples/claude-desktop.json +20 -0
- package/examples/support-plan-credit/mcp-client-examples/cursor-global.mcp.json +20 -0
- package/examples/support-plan-credit/mcp-client-examples/cursor-project.mcp.json +20 -0
- package/examples/support-plan-credit/mcp-client-examples/generic-stdio.json +17 -0
- package/examples/support-plan-credit/mcp-client-examples/generic-streamable-http.json +5 -0
- package/examples/support-plan-credit/mcp-client-examples/openai-agents-stdio.ts +19 -0
- package/examples/support-plan-credit/mcp-client-examples/openai-agents-streamable-http.ts +20 -0
- package/examples/support-plan-credit/seed/001_seed.sql +92 -0
- package/examples/support-plan-credit/synapsor.contract.json +198 -0
- package/examples/support-plan-credit/synapsor.runner.json +18 -0
- package/package.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,38 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
### Cloud Adoption Loop
|
|
6
|
+
|
|
7
|
+
- Stages `@synapsor/spec@0.1.4`, `@synapsor/dsl@0.1.4`, and
|
|
8
|
+
`@synapsor/runner@0.1.11` without publishing them.
|
|
9
|
+
- Adds a seven-file MCP client bundle for Claude Desktop, Cursor, OpenAI Agents
|
|
10
|
+
SDK, and generic stdio/Streamable HTTP clients, including OpenAI-safe tool
|
|
11
|
+
aliases.
|
|
12
|
+
- Productizes local and Cloud-generated Runner bundles with placeholder env
|
|
13
|
+
wiring, validation/run instructions, and no embedded credentials or rows.
|
|
14
|
+
- Adds a network-free adoption quickstart verifier and a real local
|
|
15
|
+
Runner-to-Cloud-to-ZIP-to-Runner verification path around the flagship
|
|
16
|
+
`support-plan-credit` contract.
|
|
17
|
+
- Documents the Cloud registry/version/bundle loop and avoids implying managed
|
|
18
|
+
runner fleets, SAML/SCIM, hosted policy enforcement, or enterprise SLA.
|
|
19
|
+
- Adds `SYNAPSOR_CLOUD_WORKSPACE` support and explicit Cloud push failure tests
|
|
20
|
+
for authorization, validation, conflict, server, and network outcomes.
|
|
21
|
+
- Corrects `cloud push --help` so it describes the implemented authenticated
|
|
22
|
+
upload path and the network-free dry-run instead of the removed pre-registry
|
|
23
|
+
limitation.
|
|
24
|
+
|
|
25
|
+
## 0.1.10
|
|
26
|
+
|
|
27
|
+
### Policy Auto-Approval
|
|
28
|
+
|
|
29
|
+
- Stages `@synapsor/spec@0.1.3`, `@synapsor/dsl@0.1.3`, and
|
|
30
|
+
`@synapsor/runner@0.1.10` for policy-based local approval.
|
|
31
|
+
- Adds portable proposal approval `policy` references and typed approval policy
|
|
32
|
+
rules to the canonical contract.
|
|
33
|
+
- Adds DSL `AUTO APPROVE WHEN field <= integer` clauses that compile to
|
|
34
|
+
reviewed approval policies.
|
|
35
|
+
- Adds a conformance fixture for policy auto-approval thresholds.
|
|
36
|
+
|
|
5
37
|
## 0.1.9
|
|
6
38
|
|
|
7
39
|
### CLI Hygiene
|
package/README.md
CHANGED
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
|
|
7
7
|
Stop giving AI agents `execute_sql()`. Give them reviewed business actions.
|
|
8
8
|
|
|
9
|
-
Synapsor Runner is an
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
Synapsor Runner is an open-source, local-first MCP server that exposes reviewed semantic
|
|
10
|
+
capabilities over Postgres and MySQL, stages risky writes as proposals, and
|
|
11
|
+
keeps evidence and replay for agent actions. It sits between Claude, Cursor,
|
|
12
|
+
OpenAI Agents SDK, or another MCP client and your database so the model does
|
|
13
|
+
not receive raw SQL, write credentials, approval tools, or commit authority.
|
|
13
14
|
|
|
14
15
|
```text
|
|
15
16
|
Without Synapsor:
|
|
@@ -25,9 +26,12 @@ With Synapsor Runner:
|
|
|
25
26
|
Try the no-database quick demo:
|
|
26
27
|
|
|
27
28
|
```bash
|
|
28
|
-
npx @synapsor/runner demo --quick
|
|
29
|
+
npx -y @synapsor/runner demo --quick
|
|
29
30
|
```
|
|
30
31
|
|
|
32
|
+
You will see semantic tools instead of raw SQL, an exact proposal rather than
|
|
33
|
+
an immediate write, approval/apply outside MCP, and a receipt/replay record.
|
|
34
|
+
|
|
31
35
|
## The Five-Line Model
|
|
32
36
|
|
|
33
37
|
Your agent talks to Synapsor Runner, not directly to your database.
|
|
@@ -70,7 +74,7 @@ Run the guided quick demo first. It does not require Docker, a database, a
|
|
|
70
74
|
config file, an MCP client, or a Synapsor Cloud account.
|
|
71
75
|
|
|
72
76
|
```bash
|
|
73
|
-
npx @synapsor/runner demo --quick
|
|
77
|
+
npx -y @synapsor/runner demo --quick
|
|
74
78
|
```
|
|
75
79
|
|
|
76
80
|
In a terminal, it walks through the safety model step by step. In CI, piped
|
|
@@ -82,7 +86,7 @@ It does not prove database connectivity. It shows the proposal, evidence, and
|
|
|
82
86
|
replay flow without giving the runner a database URL.
|
|
83
87
|
|
|
84
88
|
```bash
|
|
85
|
-
npx @synapsor/runner demo inspect
|
|
89
|
+
npx -y @synapsor/runner demo inspect
|
|
86
90
|
```
|
|
87
91
|
|
|
88
92
|
Then choose one path:
|
|
@@ -92,6 +96,11 @@ Full disposable proof -> npx -y -p @synapsor/runner synapsor-runner demo
|
|
|
92
96
|
Inspect MCP risk -> npx -y -p @synapsor/runner synapsor-runner audit --example dangerous-db-mcp
|
|
93
97
|
```
|
|
94
98
|
|
|
99
|
+
Flagship example: [`examples/support-plan-credit`](examples/support-plan-credit)
|
|
100
|
+
shows the contract policy path end to end: `$25` auto-approved by policy,
|
|
101
|
+
`$100` held for local review, and `$1000` rejected by the reviewed bound before
|
|
102
|
+
any proposal row exists.
|
|
103
|
+
|
|
95
104
|
## Why Not Just Build This Yourself?
|
|
96
105
|
|
|
97
106
|
You can build the outline in an afternoon:
|
|
@@ -124,6 +133,13 @@ are a good start. Use Runner when you need the agent-facing boundary around
|
|
|
124
133
|
those reads, or when database-backed actions must become proposals before any
|
|
125
134
|
durable write happens.
|
|
126
135
|
|
|
136
|
+
## More Than A Tool Proxy
|
|
137
|
+
|
|
138
|
+
Synapsor is intentionally more than an MCP wrapper. The public packages include
|
|
139
|
+
a versioned contract, DSL compiler, schema validation, conformance fixtures,
|
|
140
|
+
Runner enforcement, proposal/evidence/replay artifacts, Cloud registry push,
|
|
141
|
+
and C++/Cloud round-trip verification.
|
|
142
|
+
|
|
127
143
|
## Connect Your Postgres Or MySQL
|
|
128
144
|
|
|
129
145
|
Use a staging or disposable database first:
|
|
@@ -305,6 +321,16 @@ See [`docs/dsl-json-parity.md`](docs/dsl-json-parity.md) for the current
|
|
|
305
321
|
field-by-field support matrix across JSON spec, DSL, runner enforcement,
|
|
306
322
|
C++/Cloud compatibility, and Cloud push.
|
|
307
323
|
|
|
324
|
+
After a real push, open **Contract registry** in Synapsor Cloud to inspect the
|
|
325
|
+
immutable version, semantic capabilities, workflows, visible and kept-out
|
|
326
|
+
fields, policy references, warnings, and registry audit events. Downloading a
|
|
327
|
+
runner bundle returns the same normalized contract with placeholder local
|
|
328
|
+
wiring and ready-to-copy MCP configs.
|
|
329
|
+
|
|
330
|
+
- [Cloud push](docs/cloud-push.md)
|
|
331
|
+
- [Runner bundles](docs/runner-bundles.md)
|
|
332
|
+
- [MCP client configs](docs/mcp-clients.md)
|
|
333
|
+
|
|
308
334
|
Your `synapsor.runner.json` supplies local wiring: database env var names,
|
|
309
335
|
SQLite store path, MCP transport settings, and local debug options. The
|
|
310
336
|
contract supplies the portable meaning: contexts, capabilities, evidence,
|
|
@@ -425,16 +451,18 @@ npx -y -p @synapsor/runner synapsor-runner demo
|
|
|
425
451
|
```
|
|
426
452
|
|
|
427
453
|
For contributor/release verification from a checkout, the live apply smoke uses
|
|
428
|
-
disposable Postgres/MySQL
|
|
454
|
+
four disposable Postgres/MySQL scenarios and the official MCP stdio client
|
|
455
|
+
transport:
|
|
429
456
|
|
|
430
457
|
```bash
|
|
431
458
|
corepack pnpm test:live-apply
|
|
432
459
|
```
|
|
433
460
|
|
|
434
461
|
It verifies semantic tool listing, proposal diffs, source rows unchanged before
|
|
435
|
-
approval, guarded writeback, idempotent retry, stale-row conflict, receipts,
|
|
436
|
-
replay
|
|
437
|
-
prerequisites and
|
|
462
|
+
approval, guarded writeback, idempotent retry, stale-row conflict, receipts,
|
|
463
|
+
replay, and the support-plan-credit policy tiers. See
|
|
464
|
+
[`docs/local-mode.md`](docs/local-mode.md#local-mcp-smoke) for prerequisites and
|
|
465
|
+
expected output.
|
|
438
466
|
|
|
439
467
|
After the demo prints its generated config and store path, run the happy path it
|
|
440
468
|
prints. The shape is:
|
|
@@ -946,8 +974,9 @@ per lifecycle event; it is not a hosted central ledger.
|
|
|
946
974
|
|
|
947
975
|
This is local indexed search for local/dev/staging usage. It is not a hosted
|
|
948
976
|
central ledger, not RBAC/SSO, not cross-runner search, and not compliance
|
|
949
|
-
retention. Synapsor Cloud
|
|
950
|
-
|
|
977
|
+
retention. Synapsor Cloud adds a shared contract registry and enabled hosted
|
|
978
|
+
activity/evidence surfaces; confirm retention and production operations for
|
|
979
|
+
the specific design-partner deployment.
|
|
951
980
|
|
|
952
981
|
## Connect Claude, Cursor, Or Another MCP Client
|
|
953
982
|
|
|
@@ -1210,24 +1239,25 @@ internals.
|
|
|
1210
1239
|
|
|
1211
1240
|
| Need | Synapsor Runner | Synapsor Cloud |
|
|
1212
1241
|
| --- | --- | --- |
|
|
1213
|
-
| Local MCP server | Yes |
|
|
1214
|
-
| Local trusted context bindings | Yes |
|
|
1242
|
+
| Local MCP server | Yes | Contracts export back to Runner; a managed fleet is not claimed |
|
|
1243
|
+
| Local trusted context bindings | Yes | Contract bindings are registered; hosted session behavior is pilot-specific |
|
|
1215
1244
|
| Local semantic capabilities | Yes | Hosted registry + versioning |
|
|
1216
1245
|
| Local evidence/proposal/replay | Yes | Central searchable ledger |
|
|
1217
|
-
| Local approval | CLI/UI |
|
|
1218
|
-
| Writeback | Guarded single-row `UPDATE` |
|
|
1246
|
+
| Local approval | CLI/UI | Existing team approval surfaces where enabled for a pilot |
|
|
1247
|
+
| Writeback | Guarded single-row `UPDATE` | Cloud-linked jobs exist; managed production orchestration is not claimed |
|
|
1219
1248
|
| MCP risk audit | Static/local | Continuous/org-wide |
|
|
1220
|
-
| RBAC/SSO | No |
|
|
1221
|
-
| Policy packs |
|
|
1222
|
-
| Workflow builder | No |
|
|
1249
|
+
| RBAC/SSO | No | RBAC where configured; SAML/SCIM are not in this beta |
|
|
1250
|
+
| Policy packs | Local reviewed subset | Registry preserves policies; hosted enforcement is not implied |
|
|
1251
|
+
| Workflow builder | No | Existing Cloud authoring surfaces; full public DAG parity is not claimed |
|
|
1223
1252
|
| Native branches/time travel | No | Yes |
|
|
1224
1253
|
| Settlement policies | No | Yes |
|
|
1225
|
-
| Compliance exports | No |
|
|
1226
|
-
| Production support/SLA | No |
|
|
1254
|
+
| Compliance exports | No | Audit/retention primitives exist; legal hold/certification are not claimed |
|
|
1255
|
+
| Production support/SLA | No | Design-partner support; no enterprise SLA is claimed |
|
|
1227
1256
|
|
|
1228
|
-
The runner is useful by itself for local/staging safety. Synapsor Cloud
|
|
1229
|
-
|
|
1230
|
-
|
|
1257
|
+
The runner is useful by itself for local/staging safety. Synapsor Cloud adds a
|
|
1258
|
+
shared contract registry, immutable versions, downloadable Runner bundles, and
|
|
1259
|
+
existing team activity/evidence/approval surfaces where enabled. Managed
|
|
1260
|
+
runners, SAML/SCIM, legal hold, and an enterprise SLA remain future work.
|
|
1231
1261
|
|
|
1232
1262
|
Portable contracts can be checked locally before Cloud import:
|
|
1233
1263
|
|
|
@@ -1244,7 +1274,7 @@ synapsor-runner cloud push ./synapsor.contract.json \
|
|
|
1244
1274
|
|
|
1245
1275
|
## Current Limitations
|
|
1246
1276
|
|
|
1247
|
-
Supported in the current
|
|
1277
|
+
Supported in the current `0.1.x` line:
|
|
1248
1278
|
|
|
1249
1279
|
- stdio MCP server;
|
|
1250
1280
|
- authenticated HTTP MCP server for app/server deployments;
|
|
@@ -1320,9 +1350,10 @@ Synapsor name, logo, hosted cloud service, or proprietary Synapsor platform
|
|
|
1320
1350
|
features. See [docs/licensing.md](docs/licensing.md) and
|
|
1321
1351
|
[TRADEMARKS.md](TRADEMARKS.md).
|
|
1322
1352
|
|
|
1323
|
-
Synapsor Cloud, hosted governance,
|
|
1324
|
-
|
|
1325
|
-
|
|
1353
|
+
Synapsor Cloud, hosted governance, advanced policy/workflow engines, enterprise
|
|
1354
|
+
controls, and native Synapsor DBMS/C++ internals are outside this Apache-2.0
|
|
1355
|
+
repository. Managed runners and other hosted features, where offered, are
|
|
1356
|
+
proprietary and are not implied by the OSS package.
|
|
1326
1357
|
|
|
1327
1358
|
## Developer And Contributor Commands
|
|
1328
1359
|
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAYA,OAAO,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAYA,OAAO,EAAoP,KAAK,WAAW,EAA2F,MAAM,6BAA6B,CAAC;AAoB1Y,OAAO,EAA6G,KAAK,YAAY,EAAwB,MAAM,2BAA2B,CAAC;AAE/L,OAAO,EAOL,KAAK,gBAAgB,EAEtB,MAAM,mCAAmC,CAAC;AAgV3C,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAyD1D;AA+DD,KAAK,SAAS,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAE9E,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE;IACP,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;CACvC,GACL,OAAO,CAAC,MAAM,CAAC,CA2TjB;AAowED,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAS/H"}
|