@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 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.13" },
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.13").trim();
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.13",
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",
@@ -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";
@@ -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.13
212
+ ./scripts/verify-published-alpha.sh 0.1.0-alpha.14
203
213
  ```
@@ -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.13
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 `@synapsor/handler` helper to verify bearer
19
- auth, HMAC signature, tenant scope, expected row version, idempotency, and
20
- transaction/receipt shape;
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.13",
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"