@synapsor/runner 0.1.0-alpha.13 → 0.1.0-alpha.14
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 +85 -0
- package/README.md +3 -0
- package/dist/runner.mjs +3 -3
- package/docs/handler-helper.md +18 -1
- package/docs/release-notes.md +11 -1
- package/docs/release-policy.md +1 -1
- package/examples/mcp-postgres-billing-app-handler/README.md +4 -3
- package/package.json +2 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## Unreleased
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- `result_format: 2` for a stable MCP result envelope with
|
|
8
|
+
`ok`, `summary`, `data`, `proposal`, `error`, `evidence`,
|
|
9
|
+
`source_database_changed`, and `_meta.canonical_capability`.
|
|
10
|
+
- `--result-format v1|v2` for `mcp serve`, `mcp serve --transport
|
|
11
|
+
streamable-http`, `mcp serve-streamable-http`, and the legacy JSON-RPC bridge.
|
|
12
|
+
- Capability config fields `description`, per-argument `description`, and
|
|
13
|
+
`returns_hint`; these are surfaced in MCP tool metadata.
|
|
14
|
+
- `tools list` as a first-class alias for `tools preview`, including
|
|
15
|
+
`tools list --aliases`.
|
|
16
|
+
- `mcp client-config --include-instructions` for Claude/Cursor/OpenAI-style
|
|
17
|
+
client snippets with propose-first agent guidance.
|
|
18
|
+
- `schemas/synapsor.runner.schema.json` for editor validation.
|
|
19
|
+
- `docs/capability-authoring.md` and `docs/result-envelope-v2.md`.
|
|
20
|
+
- RFC source docs under `docs/rfcs/`.
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- OpenAI-safe aliases include the canonical Synapsor capability name in
|
|
25
|
+
descriptions/metadata so model-visible aliases can still be audited against
|
|
26
|
+
dotted capability names.
|
|
27
|
+
- v2 MCP errors redact raw driver/infra strings and map failures to a small
|
|
28
|
+
safe error-code enum.
|
|
29
|
+
|
|
30
|
+
### Compatibility
|
|
31
|
+
|
|
32
|
+
- Result envelope v1 remains the default in this alpha. Opt in with
|
|
33
|
+
`result_format: 2` or `--result-format v2`.
|
|
34
|
+
- The public command remains `synapsor-runner`.
|
|
35
|
+
|
|
36
|
+
## 0.1.0-alpha.14
|
|
37
|
+
|
|
38
|
+
### Changed
|
|
39
|
+
|
|
40
|
+
- Clarified that `@synapsor/handler` is not published as a standalone npm
|
|
41
|
+
package yet. The TypeScript helper currently exists in the source monorepo
|
|
42
|
+
and as the bundled `synapsor-handler.mjs` shim used by the packaged
|
|
43
|
+
app-owned executor example.
|
|
44
|
+
- Included `CHANGELOG.md` in the `@synapsor/runner` npm tarball so users can
|
|
45
|
+
inspect alpha changes without cloning the repository.
|
|
46
|
+
|
|
47
|
+
## 0.1.0-alpha.13
|
|
48
|
+
|
|
49
|
+
### Changed
|
|
50
|
+
|
|
51
|
+
- Reworked the README opening around a five-line mental model: agent talks to
|
|
52
|
+
Runner, Runner exposes capabilities, proposals are saved but not applied, and
|
|
53
|
+
approval/writeback stay outside the model-facing tool surface.
|
|
54
|
+
- Added plain definitions for capability, proposal, writeback, and executor near
|
|
55
|
+
the top of the README.
|
|
56
|
+
- Added the direct-writeback versus app-owned-executor rule up front: guarded
|
|
57
|
+
one-row updates can use Runner direct writeback; richer business actions use
|
|
58
|
+
an app-owned executor.
|
|
59
|
+
- Added a tiny readable own-database config example with one read capability and
|
|
60
|
+
one proposal capability so new users can picture what the guided wizard
|
|
61
|
+
creates.
|
|
62
|
+
|
|
63
|
+
## 0.1.0-alpha.12
|
|
64
|
+
|
|
65
|
+
### Added
|
|
66
|
+
|
|
67
|
+
- `doctor --check-writeback` verifies direct SQL writer connectivity,
|
|
68
|
+
receipt-table readiness, and rollback-only access to configured proposal
|
|
69
|
+
target tables/columns without mutating business rows.
|
|
70
|
+
- `docs/doctor.md` documents redacted setup checks, handler reachability,
|
|
71
|
+
direct SQL writeback probes, and receipt-table guidance.
|
|
72
|
+
- `store reset --yes` removes only the local SQLite ledger files and refuses
|
|
73
|
+
active server leases unless `--force` is provided.
|
|
74
|
+
|
|
75
|
+
### Changed
|
|
76
|
+
|
|
77
|
+
- Doctor output now warns when direct SQL writeback has not been probed and
|
|
78
|
+
points to `--check-writeback`.
|
|
79
|
+
- Packed/public verification scripts exercise `store reset` in addition to
|
|
80
|
+
stats/prune.
|
|
81
|
+
|
|
82
|
+
## 0.1.0-alpha.11
|
|
83
|
+
|
|
84
|
+
See [docs/release-notes.md](docs/release-notes.md) for the current published
|
|
85
|
+
alpha notes.
|
package/README.md
CHANGED
|
@@ -585,6 +585,9 @@ your application service already owns business writes, configure an
|
|
|
585
585
|
`http_handler` or `command_handler` executor. Approval still happens outside
|
|
586
586
|
MCP, and the handler returns an applied/conflict/failed receipt for replay.
|
|
587
587
|
Starter handlers are included under `examples/app-owned-writeback`.
|
|
588
|
+
The packaged app-owned billing example also includes a bundled
|
|
589
|
+
`synapsor-handler.mjs` helper shim; `@synapsor/handler` is not published as a
|
|
590
|
+
standalone npm package yet.
|
|
588
591
|
You can also generate a starter handler directly:
|
|
589
592
|
|
|
590
593
|
```bash
|
package/dist/runner.mjs
CHANGED
|
@@ -2747,7 +2747,7 @@ function assertPersistentStoreAvailable(storePath) {
|
|
|
2747
2747
|
}
|
|
2748
2748
|
function createSynapsorMcpServer(runtime, options = {}) {
|
|
2749
2749
|
const server = new McpServer(
|
|
2750
|
-
{ name: "synapsor-runner", version: "0.1.0-alpha.
|
|
2750
|
+
{ name: "synapsor-runner", version: "0.1.0-alpha.14" },
|
|
2751
2751
|
{ capabilities: { tools: {}, resources: {} } }
|
|
2752
2752
|
);
|
|
2753
2753
|
const toolNameStyle = options.toolNameStyle ?? "canonical";
|
|
@@ -9172,7 +9172,7 @@ async function cloudConnect(args) {
|
|
|
9172
9172
|
return 1;
|
|
9173
9173
|
}
|
|
9174
9174
|
const runnerId = String(parsed.cloud.runner_id || process2.env.SYNAPSOR_RUNNER_ID || "synapsor_runner_local").trim();
|
|
9175
|
-
const runnerVersion = String(parsed.cloud.runner_version || process2.env.npm_package_version || "0.1.0-alpha.
|
|
9175
|
+
const runnerVersion = String(parsed.cloud.runner_version || process2.env.npm_package_version || "0.1.0-alpha.14").trim();
|
|
9176
9176
|
const engines = normalizeEngines(parsed.cloud.engines);
|
|
9177
9177
|
const capabilities = normalizeCapabilities(parsed.cloud.capabilities);
|
|
9178
9178
|
const client = new ControlPlaneClient({
|
|
@@ -13311,7 +13311,7 @@ function starterCloudConfig() {
|
|
|
13311
13311
|
base_url_env: "SYNAPSOR_CLOUD_BASE_URL",
|
|
13312
13312
|
runner_token_env: "SYNAPSOR_RUNNER_TOKEN",
|
|
13313
13313
|
runner_id: "synapsor_runner_local",
|
|
13314
|
-
runner_version: "0.1.0-alpha.
|
|
13314
|
+
runner_version: "0.1.0-alpha.14",
|
|
13315
13315
|
project_id: "token_scope",
|
|
13316
13316
|
adapter_id: "mcp.your_adapter",
|
|
13317
13317
|
source_id: "src_replace_me",
|
package/docs/handler-helper.md
CHANGED
|
@@ -33,6 +33,23 @@ Current alpha scope:
|
|
|
33
33
|
Python helper is planned. For now, Python handlers should follow the documented
|
|
34
34
|
request/receipt schema and the FastAPI template in `examples/app-owned-writeback`.
|
|
35
35
|
|
|
36
|
+
## Distribution Status
|
|
37
|
+
|
|
38
|
+
The helper implementation exists in this source repo under `packages/handler`
|
|
39
|
+
and is used by the app-owned executor example and tests. It is not published as
|
|
40
|
+
a standalone `@synapsor/handler` npm package yet.
|
|
41
|
+
|
|
42
|
+
If you installed `@synapsor/runner` from npm, use one of these alpha paths:
|
|
43
|
+
|
|
44
|
+
- generate a starter handler with `synapsor-runner handler template ...`;
|
|
45
|
+
- copy from `examples/app-owned-writeback/`;
|
|
46
|
+
- run `examples/mcp-postgres-billing-app-handler/`, which includes a bundled
|
|
47
|
+
`synapsor-handler.mjs` shim inside the runner package.
|
|
48
|
+
|
|
49
|
+
The `@synapsor/handler` import below is the source-checkout API and the planned
|
|
50
|
+
standalone package API. Do not `npm install @synapsor/handler` until that
|
|
51
|
+
package is published.
|
|
52
|
+
|
|
36
53
|
## Schemas
|
|
37
54
|
|
|
38
55
|
Published schemas:
|
|
@@ -44,7 +61,7 @@ The helper accepts both the new `protocol_version: "1.0"` shape and the current
|
|
|
44
61
|
Runner `schema_version: "synapsor.handler-writeback.v1"` request shape during
|
|
45
62
|
the alpha migration.
|
|
46
63
|
|
|
47
|
-
## TypeScript Usage
|
|
64
|
+
## TypeScript Usage From A Source Checkout
|
|
48
65
|
|
|
49
66
|
```ts
|
|
50
67
|
import { createWritebackHandler } from "@synapsor/handler";
|
package/docs/release-notes.md
CHANGED
|
@@ -11,6 +11,16 @@ npx -y -p @synapsor/runner@alpha synapsor-runner demo --quick
|
|
|
11
11
|
The OSS runner command is `synapsor-runner`. The `synapsor` command is reserved
|
|
12
12
|
for the Synapsor Cloud CLI.
|
|
13
13
|
|
|
14
|
+
## 0.1.0-alpha.14
|
|
15
|
+
|
|
16
|
+
### Handler Helper And Changelog Clarity
|
|
17
|
+
|
|
18
|
+
- Public docs now state that `@synapsor/handler` is not published as a
|
|
19
|
+
standalone npm package yet. The helper currently ships as source under
|
|
20
|
+
`packages/handler` and as the bundled `synapsor-handler.mjs` shim in the
|
|
21
|
+
app-owned executor example included with `@synapsor/runner`.
|
|
22
|
+
- `CHANGELOG.md` is included in the `@synapsor/runner` npm tarball.
|
|
23
|
+
|
|
14
24
|
## 0.1.0-alpha.13
|
|
15
25
|
|
|
16
26
|
### README First-Five-Minutes Polish
|
|
@@ -199,5 +209,5 @@ After publishing an alpha, verify the public package from a clean temporary
|
|
|
199
209
|
directory:
|
|
200
210
|
|
|
201
211
|
```bash
|
|
202
|
-
./scripts/verify-published-alpha.sh 0.1.0-alpha.
|
|
212
|
+
./scripts/verify-published-alpha.sh 0.1.0-alpha.14
|
|
203
213
|
```
|
package/docs/release-policy.md
CHANGED
|
@@ -5,7 +5,7 @@ or an exact version:
|
|
|
5
5
|
|
|
6
6
|
```bash
|
|
7
7
|
npx -y -p @synapsor/runner@alpha synapsor-runner demo --quick
|
|
8
|
-
npm install -g @synapsor/runner@0.1.0-alpha.
|
|
8
|
+
npm install -g @synapsor/runner@0.1.0-alpha.14
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
Do not rely on the untagged `latest` dist-tag until a stable release is
|
|
@@ -15,9 +15,10 @@ App-owned rich writeback:
|
|
|
15
15
|
- model-facing MCP only creates a proposal;
|
|
16
16
|
- approval happens outside MCP;
|
|
17
17
|
- Runner calls `billing_app_handler`;
|
|
18
|
-
- the app uses the first-party
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
- the app uses the first-party handler helper from the source workspace, or the
|
|
19
|
+
bundled `synapsor-handler.mjs` shim included in the runner npm package, to
|
|
20
|
+
verify bearer auth, HMAC signature, tenant scope, expected row version,
|
|
21
|
+
idempotency, and transaction/receipt shape;
|
|
21
22
|
- the handler business code inserts an `account_credits` row and updates the
|
|
22
23
|
invoice inside the helper-owned transaction;
|
|
23
24
|
- Runner records the handler receipt and replay.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synapsor/runner",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.14",
|
|
4
4
|
"description": "Commit-safe MCP runner for Postgres and MySQL agents",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"schemas/**",
|
|
26
26
|
"recipes/**/*.json",
|
|
27
27
|
"README.md",
|
|
28
|
+
"CHANGELOG.md",
|
|
28
29
|
"LICENSE",
|
|
29
30
|
"NOTICE",
|
|
30
31
|
"TRADEMARKS.md"
|