@synapsor/runner 1.1.1 → 1.4.1
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 +123 -1
- package/README.md +52 -31
- package/SECURITY.md +11 -0
- package/THREAT_MODEL.md +7 -4
- package/dist/cli.d.ts +5 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/local-ui.d.ts.map +1 -1
- package/dist/runner.mjs +8103 -2601
- package/docs/README.md +23 -3
- package/docs/benchmarks/bounded-set-local.md +27 -0
- package/docs/bounded-set-writeback.md +298 -0
- package/docs/capability-authoring.md +26 -8
- package/docs/conformance.md +12 -0
- package/docs/current-scope.md +12 -4
- package/docs/doctor.md +21 -7
- package/docs/dsl-reference.md +91 -5
- package/docs/getting-started-own-database.md +26 -3
- package/docs/guarded-crud-writeback.md +218 -0
- package/docs/limitations.md +30 -9
- package/docs/oss-vs-cloud.md +1 -1
- package/docs/production.md +52 -20
- package/docs/release-notes.md +105 -2
- package/docs/release-policy.md +1 -1
- package/docs/result-envelope-v2.md +20 -6
- package/docs/result-envelope-v3.md +43 -0
- package/docs/result-envelope-v4.md +47 -0
- package/docs/reversible-change-sets.md +151 -0
- package/docs/rfcs/004-guarded-crud-receipt-authority.md +165 -0
- package/docs/rfcs/005-bounded-set-writeback.md +164 -0
- package/docs/rfcs/006-reviewed-reversible-change-sets.md +152 -0
- package/docs/runner-config-reference.md +83 -9
- package/docs/running-a-runner-fleet.md +2 -1
- package/docs/security-boundary.md +36 -9
- package/docs/why-synapsor-vs-app-guardrails.md +169 -0
- package/docs/writeback-executors.md +12 -11
- package/examples/runner-fleet/seed/mysql.sql +47 -0
- package/examples/runner-fleet/seed/postgres.sql +48 -0
- package/examples/support-plan-credit/README.md +31 -0
- package/examples/support-plan-credit/contract.synapsor.sql +26 -0
- package/examples/support-plan-credit/expected-output/tools-preview.txt +1 -0
- package/examples/support-plan-credit/seed/001_seed.sql +14 -1
- package/examples/support-plan-credit/synapsor.contract.json +101 -1
- package/examples/support-plan-credit/synapsor.runner.json +7 -1
- package/fixtures/protocol/MANIFEST.json +131 -1
- package/fixtures/protocol/change-set.bounded-update.v3.json +57 -0
- package/fixtures/protocol/change-set.delete.v2.json +31 -0
- package/fixtures/protocol/change-set.insert.v2.json +36 -0
- package/fixtures/protocol/change-set.update.v2.json +32 -0
- package/fixtures/protocol/compensation-change-set.update.v1.json +40 -0
- package/fixtures/protocol/execution-receipt.bounded-update-applied.v3.json +39 -0
- package/fixtures/protocol/execution-receipt.compensation-update-applied.v4.json +37 -0
- package/fixtures/protocol/execution-receipt.delete-applied.v2.json +25 -0
- package/fixtures/protocol/execution-receipt.insert-applied.v2.json +24 -0
- package/fixtures/protocol/execution-receipt.reconciliation-required.v2.json +25 -0
- package/fixtures/protocol/execution-receipt.update-applied.v2.json +25 -0
- package/fixtures/protocol/writeback-job.bounded-update.v3.json +43 -0
- package/fixtures/protocol/writeback-job.compensation-update.v4.json +34 -0
- package/fixtures/protocol/writeback-job.delete.v2.json +22 -0
- package/fixtures/protocol/writeback-job.insert.v2.json +28 -0
- package/fixtures/protocol/writeback-job.update.v2.json +24 -0
- package/package.json +2 -1
- package/schemas/change-set.v2.schema.json +245 -0
- package/schemas/change-set.v3.schema.json +112 -0
- package/schemas/compensation-change-set.v1.schema.json +32 -0
- package/schemas/execution-receipt.v2.schema.json +106 -0
- package/schemas/execution-receipt.v3.schema.json +40 -0
- package/schemas/execution-receipt.v4.schema.json +22 -0
- package/schemas/inverse-descriptor.v1.schema.json +46 -0
- package/schemas/synapsor.runner.schema.json +132 -2
- package/schemas/writeback-job.v2.schema.json +238 -0
- package/schemas/writeback-job.v3.schema.json +53 -0
- package/schemas/writeback-job.v4.schema.json +17 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,128 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## 1.
|
|
3
|
+
## 1.4.1 (prepared, not published)
|
|
4
|
+
|
|
5
|
+
### Canonical Bounded-Set Digest Verification
|
|
6
|
+
|
|
7
|
+
- Fixes contract-authored bounded-set proposals that could fail unchanged
|
|
8
|
+
apply with `SET_DIGEST_MISMATCH` after protocol parsing reordered aggregate
|
|
9
|
+
object fields.
|
|
10
|
+
- Uses recursive canonical JSON key ordering for new member and set digests,
|
|
11
|
+
while narrowly accepting the deterministic raw representations emitted by
|
|
12
|
+
`1.4.0` so valid stored proposals remain applyable.
|
|
13
|
+
- Keeps every frozen member, expected version, reviewed value, aggregate,
|
|
14
|
+
tenant guard, and atomic source check intact; malformed digests and genuine
|
|
15
|
+
source drift still fail closed.
|
|
16
|
+
- Adds PostgreSQL/MySQL regression coverage for the exact DSL-to-contract path
|
|
17
|
+
under source-database and Runner-ledger receipt authority, plus independent
|
|
18
|
+
version, predicate, aggregate, writable-value, missing-member, and tenant
|
|
19
|
+
drift checks.
|
|
20
|
+
- Ships the bounded-set guide and other linked public docs in the Runner
|
|
21
|
+
tarball, and fails package assembly when a shipped local Markdown link cannot
|
|
22
|
+
resolve.
|
|
23
|
+
- Removes obsolete `0.1 preview` wording from the DSL package without changing
|
|
24
|
+
canonical Spec `spec_version: "0.1"`.
|
|
25
|
+
- Adds a build-vs-adopt guide for teams already using prompts and custom
|
|
26
|
+
parameterized tools. It distinguishes behavioral instructions from
|
|
27
|
+
structural authorization, explains where SQL authority lives, and documents
|
|
28
|
+
the approval, receipt, replay, and compensation layer without claiming
|
|
29
|
+
prompt-injection prevention or compliance certification.
|
|
30
|
+
- Stages `@synapsor/runner@1.4.1` and `@synapsor/dsl@1.4.1`;
|
|
31
|
+
`@synapsor/spec` remains `1.4.0` because the public contract schema did not
|
|
32
|
+
change. Nothing is published by this change.
|
|
33
|
+
|
|
34
|
+
## 1.4.0 (prepared, not published)
|
|
35
|
+
|
|
36
|
+
### Reviewed Reversible Change Sets
|
|
37
|
+
|
|
38
|
+
- Adds opt-in canonical `reversibility.mode = reviewed_inverse` and DSL
|
|
39
|
+
`REVERSIBLE` for direct SQL capabilities with human/operator approval and
|
|
40
|
+
operation-specific exact guards.
|
|
41
|
+
- Captures bounded inverse descriptors only after an unambiguous successful
|
|
42
|
+
source transaction. Inverses retain trusted identity, version metadata, and
|
|
43
|
+
reviewed writable values; kept-out data is excluded.
|
|
44
|
+
- Adds operator-only `revert <proposal-id>`, which creates a new proposal and
|
|
45
|
+
never writes or approves. Compensation inherits reviewer role/quorum and
|
|
46
|
+
passes normal approval, guarded apply, receipt, reconciliation, and replay.
|
|
47
|
+
- Supports reviewed UPDATE, INSERT, soft-delete, and exact frozen-set
|
|
48
|
+
compensation on PostgreSQL and MySQL. Fresh-state conflicts and one stale set
|
|
49
|
+
member fail closed without partial effects.
|
|
50
|
+
- Reports hard DELETE and app-owned/external effects as specifically
|
|
51
|
+
unavailable instead of claiming rollback or time travel. Successful
|
|
52
|
+
compensation captures its own bounded inverse with linear lineage capped at
|
|
53
|
+
16.
|
|
54
|
+
- Adds compensation change-set and protocol-v4 job/receipt schemas,
|
|
55
|
+
conformance fixtures, owner-authorized resources, local UI/doctor/preview
|
|
56
|
+
state, bounded metrics, crash-reconciliation tests, and the disposable
|
|
57
|
+
`corepack pnpm test:reversible` gate.
|
|
58
|
+
- Stages `@synapsor/spec@1.4.0`, `@synapsor/dsl@1.4.0`, and
|
|
59
|
+
`@synapsor/runner@1.4.0`. No npm package is published by this change.
|
|
60
|
+
|
|
61
|
+
## 1.3.0 (prepared, not published)
|
|
62
|
+
|
|
63
|
+
### Bounded Set Writeback
|
|
64
|
+
|
|
65
|
+
- Adds canonical and DSL semantics for fixed-predicate set `UPDATE`/`DELETE`
|
|
66
|
+
and exact-review batch `INSERT`, with mandatory `MAX ROWS`, aggregate value
|
|
67
|
+
bounds, and a hard 100-row implementation ceiling.
|
|
68
|
+
- Freezes ordered primary keys, tenant scope, reviewed before/after values,
|
|
69
|
+
exact versions, per-member digests, and a set digest before approval. Apply
|
|
70
|
+
locks only that frozen set and never reruns a broad selection predicate.
|
|
71
|
+
- Applies every member in one source transaction. Cap overflow, aggregate
|
|
72
|
+
overflow, stale/missing members, anomalous affected counts, dedup conflicts,
|
|
73
|
+
triggers, or widening delete cascades fail closed without partial effects.
|
|
74
|
+
- Requires human/operator approval for all bounded sets in this release;
|
|
75
|
+
policy auto-approval is rejected. Hard set delete remains exceptional and
|
|
76
|
+
soft delete is preferred.
|
|
77
|
+
- Adds protocol-v3 change-set, writeback-job, result, and receipt envelopes
|
|
78
|
+
with exact member identities and bounded safe digests, plus reconciliation
|
|
79
|
+
support for Runner-ledger crash ambiguity.
|
|
80
|
+
- Adds executable R1-R7 conformance coverage and a disposable PostgreSQL/MySQL
|
|
81
|
+
live gate for cap/aggregate rejection, atomic rollback, exact receipts,
|
|
82
|
+
batch deduplication, delete hazards, reconciliation, and 1/10/100-row bounds.
|
|
83
|
+
- Stages `@synapsor/spec@1.3.0`, `@synapsor/dsl@1.3.0`, and
|
|
84
|
+
`@synapsor/runner@1.3.0`. No npm package is published by this change.
|
|
85
|
+
|
|
86
|
+
## 1.2.0 (prepared, not published)
|
|
87
|
+
|
|
88
|
+
### Guarded CRUD And Receipt Authority
|
|
89
|
+
|
|
90
|
+
- Adds canonical and DSL operation semantics for native guarded single-row
|
|
91
|
+
`INSERT`, `UPDATE`, and `DELETE`, while preserving operation-less contracts
|
|
92
|
+
and v1 writeback jobs as guarded UPDATE.
|
|
93
|
+
- Adds operation-aware v2 change-set, writeback-job, and execution-receipt
|
|
94
|
+
schemas with trusted tenant binding, source-enforced INSERT deduplication,
|
|
95
|
+
DELETE cascade/trigger refusal, bounded diffs, and replay-safe digests.
|
|
96
|
+
- Separates receipt authority (`source_db` or `runner_ledger`) from source
|
|
97
|
+
receipt provisioning (`precreated` or `auto_migrate`). Runner-ledger mode
|
|
98
|
+
records durable intents without source receipt DDL and stops ambiguous
|
|
99
|
+
post-commit outcomes for verified operator reconciliation.
|
|
100
|
+
- Extends Postgres and MySQL adapters, onboarding, doctor, tools preview, and
|
|
101
|
+
the support-plan-credit example with least-privilege guarded CRUD paths.
|
|
102
|
+
- Adds disposable-engine verification for every operation and receipt mode,
|
|
103
|
+
retries, crash windows, concurrent applies, stale guards, and hidden DELETE
|
|
104
|
+
effects. No npm package is published by this change.
|
|
105
|
+
- Stages `@synapsor/spec@1.2.0`, `@synapsor/dsl@1.2.0`, and
|
|
106
|
+
`@synapsor/runner@1.2.0`.
|
|
107
|
+
|
|
108
|
+
## 1.1.2 (prepared, not published)
|
|
109
|
+
|
|
110
|
+
### Fleet Error And Batch Apply Correctness
|
|
111
|
+
|
|
112
|
+
- Classifies bounded source-pool saturation and recognized transient
|
|
113
|
+
PostgreSQL, MySQL, and network failures as `TEMPORARILY_UNAVAILABLE` with
|
|
114
|
+
`retryable: true` and a bounded `retry_after_ms`, while keeping raw driver
|
|
115
|
+
details out of MCP results and operational logs.
|
|
116
|
+
- Keeps non-transient database failures fail-closed as non-retryable
|
|
117
|
+
`INTERNAL` errors.
|
|
118
|
+
- Preserves the existing shared `runtime_store` bridge while
|
|
119
|
+
`apply --all-approved` applies each selected proposal, preventing stale
|
|
120
|
+
bridge state from silently skipping policy- or human-approved proposals.
|
|
121
|
+
- Adds policy-approved unit coverage and a two-Runner synthetic Postgres fleet
|
|
122
|
+
check for durable batch results and receipts.
|
|
123
|
+
- Stages only `@synapsor/runner@1.1.2`; canonical Spec and DSL remain `1.1.0`.
|
|
124
|
+
|
|
125
|
+
## 1.1.1
|
|
4
126
|
|
|
5
127
|
### Resource Read Authorization
|
|
6
128
|
|
package/README.md
CHANGED
|
@@ -74,9 +74,9 @@ evidence -> proposal -> approval -> receipt -> replay
|
|
|
74
74
|
```
|
|
75
75
|
|
|
76
76
|
The model can inspect scoped data and propose an exact change. It cannot call
|
|
77
|
-
approval or
|
|
78
|
-
Runner
|
|
79
|
-
|
|
77
|
+
approval, apply, or revert tools. A human or trusted operator approves outside
|
|
78
|
+
MCP, then Runner performs a guarded write or routes the proposal to an
|
|
79
|
+
app-owned executor.
|
|
80
80
|
|
|
81
81
|
The distinction is the complete boundary, not a read-only toggle or a generic
|
|
82
82
|
approve/reject prompt:
|
|
@@ -88,10 +88,26 @@ approve/reject prompt:
|
|
|
88
88
|
- evidence, query audit, idempotency receipts, and replay preserve what was
|
|
89
89
|
inspected, requested, approved, and applied.
|
|
90
90
|
|
|
91
|
-
Runner supports bounded
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
91
|
+
Runner supports bounded deployments when its documented database, identity,
|
|
92
|
+
ledger, backup, and operational controls are satisfied. It does not make raw
|
|
93
|
+
SQL tools, host infrastructure, or prompt-injection-prone clients safe.
|
|
94
|
+
|
|
95
|
+
## Why Not Just Use A Prompt And App Code?
|
|
96
|
+
|
|
97
|
+
Prompt instructions can guide behavior, but prompt-only enforcement is not an
|
|
98
|
+
authorization boundary. First ask who produces the SQL:
|
|
99
|
+
|
|
100
|
+
- **The model produces SQL:** your validator must safely understand arbitrary
|
|
101
|
+
queries, scope, and side effects. That is `execute_sql` with an extra parser.
|
|
102
|
+
- **Trusted app code produces fixed, parameterized SQL:** good. You have built
|
|
103
|
+
a semantic tool, and that may be enough for a small read-only application.
|
|
104
|
+
|
|
105
|
+
Runner becomes useful when those tools also need one reviewed contract for
|
|
106
|
+
trusted tenant scope, field controls, evidence, approval outside MCP, guarded
|
|
107
|
+
and idempotent writeback, receipts, replay, and reviewed compensation. Use your
|
|
108
|
+
own code when you do not need that lifecycle. Read the [full build-vs-adopt
|
|
109
|
+
guide](docs/why-synapsor-vs-app-guardrails.md) for the decision table, public
|
|
110
|
+
incident evidence, and regulated-data boundaries.
|
|
95
111
|
|
|
96
112
|
## Connect A Staging Database
|
|
97
113
|
|
|
@@ -109,11 +125,9 @@ creates trusted context, generates reviewed capabilities, previews the MCP tool
|
|
|
109
125
|
surface, and prints the next smoke and serve commands. It stores environment
|
|
110
126
|
variable names, not connection strings.
|
|
111
127
|
|
|
112
|
-
The
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
statement timeouts) is generated for you; the full file is in the
|
|
116
|
-
[own-database guide](docs/getting-started-own-database.md).
|
|
128
|
+
The generated capability is a tenant-scoped read with an explicit column
|
|
129
|
+
allowlist and required evidence. See the [own-database
|
|
130
|
+
guide](docs/getting-started-own-database.md) for the full configuration.
|
|
117
131
|
|
|
118
132
|
```json
|
|
119
133
|
{
|
|
@@ -148,10 +162,20 @@ synapsor-runner mcp serve --config ./synapsor.runner.json --store ./.synapsor/lo
|
|
|
148
162
|
```
|
|
149
163
|
|
|
150
164
|
For proposal capabilities and writes, follow the
|
|
151
|
-
[complete own-database guide](docs/getting-started-own-database.md).
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
165
|
+
[complete own-database guide](docs/getting-started-own-database.md). Reviewed
|
|
166
|
+
single-row INSERT, UPDATE, and DELETE can use Runner's guarded direct
|
|
167
|
+
writeback. Runner also supports tightly [bounded set
|
|
168
|
+
writes](docs/bounded-set-writeback.md): fixed-predicate UPDATE/DELETE and
|
|
169
|
+
exact-review batch INSERT, with human approval, a hard 100-row ceiling, atomic
|
|
170
|
+
apply, and exact receipts. Free-form predicates, unbounded or cross-table work,
|
|
171
|
+
and external effects go through an [app-owned
|
|
172
|
+
executor](docs/writeback-executors.md) after approval.
|
|
173
|
+
|
|
174
|
+
Direct writes can use [reviewed
|
|
175
|
+
compensation](docs/reversible-change-sets.md). Receipts capture a
|
|
176
|
+
bounded inverse; `synapsor-runner revert <proposal_id>` creates a separately
|
|
177
|
+
approved proposal. This is not rollback, time travel, or app-owned
|
|
178
|
+
compensation.
|
|
155
179
|
|
|
156
180
|
## Trust And Verification
|
|
157
181
|
|
|
@@ -164,10 +188,11 @@ trust boundaries, covered threats, non-goals, and required operator controls.
|
|
|
164
188
|
- MCP proposal, evidence, and replay handles are references rather than bearer
|
|
165
189
|
authority: resource reads re-check the owning tenant and principal against
|
|
166
190
|
the current trusted session.
|
|
167
|
-
- `
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
191
|
+
- `test:live-apply`, `test:guarded-crud`, `test:bounded-set`, and
|
|
192
|
+
`test:reversible` run disposable PostgreSQL/MySQL scenarios. They prove no
|
|
193
|
+
pre-approval mutation, guarded single-row CRUD, idempotent retry,
|
|
194
|
+
fail-closed conflicts, bounded atomic sets, exact receipts, and reviewed
|
|
195
|
+
compensation.
|
|
171
196
|
- The C++/Cloud round-trip verifier exports normalized contracts, validates
|
|
172
197
|
them with `@synapsor/spec`, and loads them in Runner. The shared contract and
|
|
173
198
|
verification commands are documented in [Conformance](docs/conformance.md).
|
|
@@ -179,12 +204,9 @@ See [Security Boundary](docs/security-boundary.md) and
|
|
|
179
204
|
|
|
180
205
|
## Operate The Approval Loop
|
|
181
206
|
|
|
182
|
-
Reviewed policies
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
with `apply --all-approved --yes`, inspect Prometheus counters with `metrics
|
|
186
|
-
show`, and consume safe newline-delimited JSON outcome logs from stderr. Signed
|
|
187
|
-
operator keys can enforce contract reviewer roles and separate apply roles.
|
|
207
|
+
Reviewed policies combine per-proposal and daily ceilings; exceeding one routes
|
|
208
|
+
the proposal to human review. Operators use `apply --all-approved --yes`,
|
|
209
|
+
Prometheus metrics, structured logs, and optional signed reviewer/apply roles.
|
|
188
210
|
Shared Postgres ledger mirror mode is available for bounded operator handoffs,
|
|
189
211
|
and `storage.shared_postgres.mode = "runtime_store"` lets MCP serving use
|
|
190
212
|
Postgres as the primary proposal/evidence/replay store with bounded CLI
|
|
@@ -211,11 +233,10 @@ dead-letter, and rolling-upgrade rules are in
|
|
|
211
233
|
| `@synapsor/spec` | Canonical portable contracts for contexts, capabilities, workflows, evidence, proposals, receipts, and replay. |
|
|
212
234
|
| `@synapsor/dsl` | SQL-like authoring that compiles contexts, capabilities, and workflow declarations into canonical contract JSON. |
|
|
213
235
|
|
|
214
|
-
Runner executes locally. The spec is
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
legacy `.synapsor` files remain supported and produce the same contract JSON.
|
|
236
|
+
Runner executes locally. The spec is shared by Runner and Cloud/C++; the DSL
|
|
237
|
+
is its reviewable source format. Start with [Capability
|
|
238
|
+
Authoring](docs/capability-authoring.md). Use `.synapsor.sql` for generic SQL
|
|
239
|
+
highlighting; legacy `.synapsor` files produce the same contract JSON.
|
|
219
240
|
|
|
220
241
|
Use the [DSL Reference](docs/dsl-reference.md) for exact authoring grammar and
|
|
221
242
|
the [Runner Config Reference](docs/runner-config-reference.md) for every wiring
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
Report security issues privately to security@synapsor.ai.
|
|
4
|
+
|
|
5
|
+
Do not include production credentials, customer data, or full source rows in bug reports. Include runner version, job id, proposal id, source id, engine, safe error code, and redacted logs where possible.
|
|
6
|
+
|
|
7
|
+
## Supported security scope
|
|
8
|
+
|
|
9
|
+
The v0.1 runner protects the local writeback boundary for approved structured jobs. It does not make the hosted Synapsor control plane self-hosted, and it does not provide HA, compliance certification, or a general database proxy.
|
|
10
|
+
|
|
11
|
+
See `docs/threat-model.md` for detailed trust boundaries, covered threats, non-goals, and release blockers.
|
package/THREAT_MODEL.md
CHANGED
|
@@ -53,8 +53,11 @@ idempotency boundary for effects.
|
|
|
53
53
|
- Wrong tenant or object: reads and writes include trusted primary-key and tenant predicates.
|
|
54
54
|
- Disallowed field update: patch columns must be allowlisted.
|
|
55
55
|
- Stale row: conflict guard mismatch returns `conflict` instead of silently writing.
|
|
56
|
-
- Duplicate retry:
|
|
57
|
-
-
|
|
56
|
+
- Duplicate retry: atomic source receipts or durable Runner intents plus
|
|
57
|
+
source-enforced version/unique guards prevent a known duplicate effect;
|
|
58
|
+
ambiguous ledger/source crash windows stop for reconciliation.
|
|
59
|
+
- Over-broad write: direct INSERT/UPDATE/DELETE is single-row, tenant-bound,
|
|
60
|
+
operation-guarded, and success requires exactly one affected row.
|
|
58
61
|
- Cloud credential leakage: database URLs and write credentials stay local and are not sent to Cloud.
|
|
59
62
|
- Model-callable approval: approval/commit tools are not exposed to MCP clients by default.
|
|
60
63
|
- Claims/environment confusion: an `http_claims` server fails before serving
|
|
@@ -81,8 +84,8 @@ idempotency boundary for effects.
|
|
|
81
84
|
- Sensitive data already returned to a model.
|
|
82
85
|
- Prompt injection itself.
|
|
83
86
|
- Business invariants not represented in the capability config, proposal, application handler, or database constraints.
|
|
84
|
-
- Generic multi-row business transactions, DDL,
|
|
85
|
-
cross-database atomicity in the Runner direct-write path.
|
|
87
|
+
- Generic multi-row business transactions, DDL, UPSERT, model-generated
|
|
88
|
+
predicates, or cross-database atomicity in the Runner direct-write path.
|
|
86
89
|
- A compromised IdP/JWKS host, ledger database, source database, TLS
|
|
87
90
|
terminator, or administrator-approved contract.
|
|
88
91
|
- Unbounded/high-throughput or multi-region ledger scale, compliance
|
package/dist/cli.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { type DbRowReader } from "@synapsor-runner/mcp-server";
|
|
3
|
-
import { type
|
|
3
|
+
import { type StoredWritebackIntent } from "@synapsor-runner/proposal-store";
|
|
4
|
+
import { type ExecutionReceiptV2, type ExecutionReceiptV3, type ExecutionReceiptV4, type WritebackJob } from "@synapsor-runner/protocol";
|
|
4
5
|
import { type SchemaInspection } from "@synapsor-runner/schema-inspector";
|
|
6
|
+
import { type ReconciliationObservation } from "@synapsor-runner/worker-core";
|
|
5
7
|
export declare function main(argv: string[]): Promise<number>;
|
|
6
8
|
type WizardAsk = (question: string, defaultValue?: string) => Promise<string>;
|
|
7
9
|
export declare function runInitWizard(args: string[], options?: {
|
|
@@ -12,5 +14,7 @@ export declare function runInitWizard(args: string[], options?: {
|
|
|
12
14
|
stdout?: Pick<NodeJS.WriteStream, "write">;
|
|
13
15
|
}): Promise<number>;
|
|
14
16
|
export declare function resolveSqlWriteDatabaseUrl(job: WritebackJob, configPath: string, env: NodeJS.ProcessEnv): Promise<string>;
|
|
17
|
+
export declare function reconciliationSupportedOutcome(observation: ReconciliationObservation): "applied" | "conflict" | "failed";
|
|
18
|
+
export declare function reconciliationReceipt(intent: StoredWritebackIntent, observation: ReconciliationObservation, outcome: "applied" | "conflict" | "failed", runnerId: string, reason: string): ExecutionReceiptV2 | ExecutionReceiptV3 | ExecutionReceiptV4;
|
|
15
19
|
export {};
|
|
16
20
|
//# sourceMappingURL=cli.d.ts.map
|
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,EAAoP,KAAK,WAAW,EAA0H,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAYA,OAAO,EAAoP,KAAK,WAAW,EAA0H,MAAM,6BAA6B,CAAC;AAIza,OAAO,EAgBL,KAAK,qBAAqB,EAK3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAgI,KAAK,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,KAAK,kBAAkB,EAAuD,KAAK,YAAY,EAAwB,MAAM,2BAA2B,CAAC;AAElV,OAAO,EAQL,KAAK,gBAAgB,EAEtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAUL,KAAK,yBAAyB,EAE/B,MAAM,8BAA8B,CAAC;AAyUtC,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CA6D1D;AA0FD,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,CA0YjB;AAgmGD,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAS/H;AAs4CD,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,yBAAyB,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,CAKxH;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,qBAAqB,EAC7B,WAAW,EAAE,yBAAyB,EACtC,OAAO,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,EAC1C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,GACb,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,CAgH9D"}
|
package/dist/local-ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-ui.d.ts","sourceRoot":"","sources":["../src/local-ui.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsC,KAAK,MAAM,EAAuB,MAAM,WAAW,CAAC;AAIjG,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"local-ui.d.ts","sourceRoot":"","sources":["../src/local-ui.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsC,KAAK,MAAM,EAAuB,MAAM,WAAW,CAAC;AAIjG,OAAO,EAAE,aAAa,EAA6E,MAAM,iCAAiC,CAAC;AAK3I,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,EACjC,IAAI,EAAE,MAAM,GAAG,OAAO,EACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,CAAC,KAClC,OAAO,CAAC,CAAC,CAAC,CAAC;AAEhB,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B,CAAC;AAEF,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CA+C7F"}
|