@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.
Files changed (32) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +60 -29
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/runner.mjs +719 -47
  5. package/docs/README.md +6 -0
  6. package/docs/cloud-mode.md +18 -0
  7. package/docs/cloud-push.md +54 -0
  8. package/docs/current-scope.md +1 -1
  9. package/docs/local-mode.md +4 -3
  10. package/docs/mcp-clients.md +123 -0
  11. package/docs/release-notes.md +30 -0
  12. package/docs/runner-bundles.md +59 -0
  13. package/examples/support-plan-credit/.env.example +10 -0
  14. package/examples/support-plan-credit/README.md +273 -0
  15. package/examples/support-plan-credit/contract.synapsor +59 -0
  16. package/examples/support-plan-credit/docker-compose.yml +12 -0
  17. package/examples/support-plan-credit/expected-output/cloud-push-response.json +9 -0
  18. package/examples/support-plan-credit/expected-output/proposal-created.json +23 -0
  19. package/examples/support-plan-credit/expected-output/receipt.json +13 -0
  20. package/examples/support-plan-credit/expected-output/replay-summary.json +13 -0
  21. package/examples/support-plan-credit/expected-output/tools-preview.txt +15 -0
  22. package/examples/support-plan-credit/mcp-client-examples/claude-desktop.json +20 -0
  23. package/examples/support-plan-credit/mcp-client-examples/cursor-global.mcp.json +20 -0
  24. package/examples/support-plan-credit/mcp-client-examples/cursor-project.mcp.json +20 -0
  25. package/examples/support-plan-credit/mcp-client-examples/generic-stdio.json +17 -0
  26. package/examples/support-plan-credit/mcp-client-examples/generic-streamable-http.json +5 -0
  27. package/examples/support-plan-credit/mcp-client-examples/openai-agents-stdio.ts +19 -0
  28. package/examples/support-plan-credit/mcp-client-examples/openai-agents-streamable-http.ts +20 -0
  29. package/examples/support-plan-credit/seed/001_seed.sql +92 -0
  30. package/examples/support-plan-credit/synapsor.contract.json +198 -0
  31. package/examples/support-plan-credit/synapsor.runner.json +18 -0
  32. 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 Open-source MCP safety layer for Postgres and MySQL. It
10
- sits between Claude, Cursor, OpenAI Agents SDK, or another MCP client and your
11
- database so the model can inspect scoped data and propose changes without
12
- receiving raw SQL, write credentials, approval tools, or commit authority.
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 containers and the official MCP stdio client transport:
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, and
436
- replay. See [`docs/local-mode.md`](docs/local-mode.md#local-mcp-smoke) for
437
- prerequisites and expected output.
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 is the upgrade path for central searchable audit,
950
- team governance, retention, and production operations.
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 | Managed |
1214
- | Local trusted context bindings | Yes | Org/session integrated |
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 | Multi-user approvals |
1218
- | Writeback | Guarded single-row `UPDATE` | Managed production orchestration |
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 | Yes |
1221
- | Policy packs | No/basic | Yes |
1222
- | Workflow builder | No | Yes |
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 | Yes |
1226
- | Production support/SLA | No | Yes |
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 is for
1229
- teams, production governance, central audit, managed runners, enterprise
1230
- controls, and proprietary Synapsor platform features.
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 alpha:
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, managed runners, advanced policy/workflow
1324
- engines, enterprise controls, and native Synapsor DBMS/C++ internals remain
1325
- proprietary.
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,EAAoN,KAAK,WAAW,EAA2F,MAAM,6BAA6B,CAAC;AAoB1W,OAAO,EAA6G,KAAK,YAAY,EAAwB,MAAM,2BAA2B,CAAC;AAE/L,OAAO,EAOL,KAAK,gBAAgB,EAEtB,MAAM,mCAAmC,CAAC;AA6U3C,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;AAmsED,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAS/H"}
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"}