@synapsor/runner 0.1.1 → 0.1.3
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 +26 -0
- package/README.md +67 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/runner.mjs +1621 -163
- package/docs/README.md +3 -0
- package/docs/conformance.md +91 -0
- package/docs/migrating-to-synapsor-spec.md +191 -0
- package/docs/production.md +289 -0
- package/docs/release-notes.md +26 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,32 @@
|
|
|
4
4
|
|
|
5
5
|
No unreleased changes yet.
|
|
6
6
|
|
|
7
|
+
## 0.1.3
|
|
8
|
+
|
|
9
|
+
### Public npm DX
|
|
10
|
+
|
|
11
|
+
- Prepares the spec-ready Runner package for the normal untagged npm path so
|
|
12
|
+
developers can use `npx -y -p @synapsor/runner synapsor-runner ...` without
|
|
13
|
+
knowing about the temporary `next` release-candidate tag.
|
|
14
|
+
- Keeps the same contract/spec functionality as `0.1.2`; this is a release
|
|
15
|
+
hygiene patch for public install and README/package-page verification.
|
|
16
|
+
- `@synapsor/spec@0.1.0` and `@synapsor/dsl@0.1.0` remain the canonical
|
|
17
|
+
contract packages.
|
|
18
|
+
|
|
19
|
+
## 0.1.2
|
|
20
|
+
|
|
21
|
+
### Contract Compatibility
|
|
22
|
+
|
|
23
|
+
- Publishes the canonical contract packages as `@synapsor/spec@0.1.0` and
|
|
24
|
+
`@synapsor/dsl@0.1.0`, with `@synapsor/runner@0.1.2` available on the `next`
|
|
25
|
+
npm tag for round-trip verification before promotion.
|
|
26
|
+
- Documents the canonical `synapsor.contract.json` path for contracts produced
|
|
27
|
+
by the DSL, Cloud, or the C++ exporter.
|
|
28
|
+
- Adds OSS-side conformance notes for C++/Cloud export snapshots that validate
|
|
29
|
+
with `@synapsor/spec` and load in Runner.
|
|
30
|
+
- Keeps `@synapsor/runner` publishable after `0.1.1` by reserving the next
|
|
31
|
+
stable patch version for this contract round-trip readiness pass.
|
|
32
|
+
|
|
7
33
|
## 0.1.1
|
|
8
34
|
|
|
9
35
|
### Launch Readiness
|
package/README.md
CHANGED
|
@@ -92,6 +92,38 @@ Full disposable proof -> npx -y -p @synapsor/runner synapsor-runner demo
|
|
|
92
92
|
Inspect MCP risk -> npx -y -p @synapsor/runner synapsor-runner audit --example dangerous-db-mcp
|
|
93
93
|
```
|
|
94
94
|
|
|
95
|
+
## Why Not Just Build This Yourself?
|
|
96
|
+
|
|
97
|
+
You can build the outline in an afternoon:
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
model calls a function
|
|
101
|
+
-> app stores a pending change
|
|
102
|
+
-> human approves
|
|
103
|
+
-> app runs SQL
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
That is useful, but it is not the safety layer. The repeated hard parts are
|
|
107
|
+
tenant scope, no raw SQL exposure, evidence, query audit, exact diffs,
|
|
108
|
+
approval outside the model-facing tool surface, idempotency, stale-row conflict
|
|
109
|
+
checks, affected-row checks, receipts, and replay.
|
|
110
|
+
|
|
111
|
+
Synapsor Runner gives you those pieces as a local runtime:
|
|
112
|
+
|
|
113
|
+
- reviewed semantic capabilities instead of `execute_sql`;
|
|
114
|
+
- trusted tenant/principal/object bindings from your server-side context;
|
|
115
|
+
- scoped reads with evidence handles and query audit;
|
|
116
|
+
- saved proposals with exact before/after changes;
|
|
117
|
+
- approval and writeback commands that are not exposed to the model;
|
|
118
|
+
- guarded direct writeback for one-row updates;
|
|
119
|
+
- app-owned executors for richer writes;
|
|
120
|
+
- idempotency receipts and replay so you can inspect what happened later.
|
|
121
|
+
|
|
122
|
+
If all you need is restricted reads, a read-only database user and safe views
|
|
123
|
+
are a good start. Use Runner when you need the agent-facing boundary around
|
|
124
|
+
those reads, or when database-backed actions must become proposals before any
|
|
125
|
+
durable write happens.
|
|
126
|
+
|
|
95
127
|
## Connect Your Postgres Or MySQL
|
|
96
128
|
|
|
97
129
|
Use a staging or disposable database first:
|
|
@@ -119,6 +151,34 @@ synapsor-runner smoke call --config ./synapsor.runner.json --store ./.synapsor/l
|
|
|
119
151
|
synapsor-runner up --serve --config ./synapsor.runner.json --store ./.synapsor/local.db
|
|
120
152
|
```
|
|
121
153
|
|
|
154
|
+
If you already have a canonical `synapsor.contract.json` from the DSL, Cloud,
|
|
155
|
+
or the C++ exporter, keep it as the source of truth and reference it from local
|
|
156
|
+
runner wiring:
|
|
157
|
+
|
|
158
|
+
```json
|
|
159
|
+
{
|
|
160
|
+
"version": 1,
|
|
161
|
+
"mode": "review",
|
|
162
|
+
"contracts": ["./synapsor.contract.json"],
|
|
163
|
+
"sources": {
|
|
164
|
+
"local_postgres": {
|
|
165
|
+
"engine": "postgres",
|
|
166
|
+
"read_url_env": "DATABASE_URL"
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"storage": {
|
|
170
|
+
"sqlite_path": "./.synapsor/local.db"
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Preview the model-facing tool surface before connecting an MCP client:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
synapsor-runner contract validate ./synapsor.contract.json
|
|
179
|
+
synapsor-runner tools preview --config ./synapsor.runner.json --store ./.synapsor/local.db
|
|
180
|
+
```
|
|
181
|
+
|
|
122
182
|
## What Runner Does
|
|
123
183
|
|
|
124
184
|
When an agent uses Runner:
|
|
@@ -201,6 +261,10 @@ changes.
|
|
|
201
261
|
|
|
202
262
|
Authoring reference:
|
|
203
263
|
|
|
264
|
+
- [Migrating To `@synapsor/spec`](docs/migrating-to-synapsor-spec.md):
|
|
265
|
+
split portable contract semantics from local runner wiring.
|
|
266
|
+
- [Conformance Fixtures](docs/conformance.md): how the shared fixture suite
|
|
267
|
+
keeps Runner and Cloud/C++ contract semantics from drifting.
|
|
204
268
|
- [Capability Authoring](docs/capability-authoring.md): read/proposal tools,
|
|
205
269
|
model-facing descriptions, result envelope v2, trusted context, and writeback
|
|
206
270
|
guards.
|
|
@@ -1084,6 +1148,9 @@ Complete limits: [docs/limitations.md](docs/limitations.md).
|
|
|
1084
1148
|
|
|
1085
1149
|
Security boundary: [docs/security-boundary.md](docs/security-boundary.md).
|
|
1086
1150
|
|
|
1151
|
+
Single-node production-candidate runbook:
|
|
1152
|
+
[docs/production.md](docs/production.md).
|
|
1153
|
+
|
|
1087
1154
|
Release notes and stable-tag policy:
|
|
1088
1155
|
[docs/release-notes.md](docs/release-notes.md).
|
|
1089
1156
|
|
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,EAAqG,KAAK,WAAW,EAA2F,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAYA,OAAO,EAAqG,KAAK,WAAW,EAA2F,MAAM,6BAA6B,CAAC;AAoB3P,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,CAqD1D;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;AA8mED,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAM/H"}
|