@synapsor/runner 1.4.12 → 1.4.122

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 (48) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +63 -60
  3. package/THREAT_MODEL.md +6 -0
  4. package/dist/cli.d.ts +3 -0
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/runner.mjs +29227 -2475
  7. package/docs/README.md +11 -0
  8. package/docs/aggregate-reads.md +49 -0
  9. package/docs/bounded-set-writeback.md +9 -4
  10. package/docs/capability-authoring.md +43 -1
  11. package/docs/cloud-cli.md +248 -0
  12. package/docs/cloud-mode.md +88 -6
  13. package/docs/cloud-push.md +22 -5
  14. package/docs/compliance-reports.md +42 -0
  15. package/docs/conformance.md +15 -0
  16. package/docs/contract-review.md +57 -0
  17. package/docs/contract-testing.md +76 -0
  18. package/docs/dsl-reference.md +50 -6
  19. package/docs/graduated-trust.md +64 -0
  20. package/docs/hosted-cloud-linked-verification.md +97 -0
  21. package/docs/limitations.md +10 -0
  22. package/docs/oss-vs-cloud.md +13 -6
  23. package/docs/release-notes.md +65 -0
  24. package/docs/rfcs/007-trusted-principal-row-scope.md +75 -0
  25. package/docs/runner-bundles.md +24 -0
  26. package/docs/runner-config-reference.md +16 -0
  27. package/docs/running-a-runner-fleet.md +8 -0
  28. package/docs/security-boundary.md +28 -1
  29. package/examples/runner-fleet/seed/mysql.sql +5 -1
  30. package/examples/runner-fleet/seed/postgres.sql +5 -1
  31. package/examples/support-plan-credit/README.md +8 -6
  32. package/examples/support-plan-credit/synapsor.contract-tests.json +53 -0
  33. package/fixtures/dsl/aggregate-read.synapsor.sql +21 -0
  34. package/fixtures/dsl/bounded-set-multi-term.synapsor.sql +30 -0
  35. package/fixtures/dsl/principal-row-scope.synapsor.sql +23 -0
  36. package/fixtures/protocol/MANIFEST.json +10 -10
  37. package/package.json +4 -1
  38. package/schemas/change-set.v1.schema.json +14 -0
  39. package/schemas/change-set.v2.schema.json +14 -0
  40. package/schemas/change-set.v3.schema.json +2 -0
  41. package/schemas/compensation-change-set.v1.schema.json +3 -2
  42. package/schemas/inverse-descriptor.v1.schema.json +2 -0
  43. package/schemas/synapsor.contract-tests.schema.json +54 -0
  44. package/schemas/synapsor.runner.schema.json +92 -4
  45. package/schemas/writeback-job.v1.schema.json +14 -0
  46. package/schemas/writeback-job.v2.schema.json +14 -0
  47. package/schemas/writeback-job.v3.schema.json +2 -0
  48. package/schemas/writeback-job.v4.schema.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,70 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.4.122 (prepared, not published)
4
+
5
+ ### Trusted principal row scope and Cloud-linked governance
6
+
7
+ - Adds a canonical reviewer-fixed principal row scope that is always
8
+ AND-composed with tenant scope and resolved only from a required trusted
9
+ context binding. Missing or invalid principal authority fails closed.
10
+ - Enforces the bound principal predicate in PostgreSQL and MySQL reads,
11
+ proposals, aggregates, guarded CRUD, bounded sets, executor envelopes,
12
+ receipts, replay, and reviewed compensation. Same-tenant cross-principal
13
+ access uses the same generic miss as cross-tenant or absent rows.
14
+ - Preserves the scope through DSL parse/format/compile, Spec validation and
15
+ digesting, config normalization, protocol jobs, C++/Cloud round trips,
16
+ contract explanation/testing, and scoped evidence/proposal/resource handles.
17
+ - Adds explicit `local_only` and `cloud_linked` authority behavior. Cloud-linked
18
+ proposals use a durable idempotent outbox, metadata-only evidence residency,
19
+ Cloud-governed approval/leasing, terminal-state reconciliation, and no local
20
+ approval/apply fallback while Cloud is unavailable.
21
+ - Separates contract-registry human/service credentials from Runner machine
22
+ tokens. Cloud push no longer accepts secrets through command arguments or a
23
+ Runner-token fallback.
24
+ - Introduces the separately packable `@synapsor/cli@0.1.0-beta.1` Cloud client;
25
+ `synapsor-runner` remains the local MCP/database enforcement boundary.
26
+ - Stages `@synapsor/spec@1.4.2`, `@synapsor/dsl@1.4.3`, and
27
+ `@synapsor/runner@1.4.122`. Nothing is published by this change.
28
+
29
+ ## 1.4.121 (prepared, not published)
30
+
31
+ ### Contract trust surface and bounded-set parser correctness
32
+
33
+ - Fixes BUG-018: `SELECT WHERE risk_level = 'high' AND case_status =
34
+ 'active'` now compiles into two ordered canonical equality terms instead of
35
+ silently folding the second term into the first string value.
36
+ - Uses a quote-aware, full-clause parser. `AND` inside a quoted literal remains
37
+ literal content, while malformed terms, trailing tokens, `OR`, parentheses,
38
+ and non-equality operators fail during DSL compilation with location-aware
39
+ errors.
40
+ - Preserves existing single-term contracts and literal types. The canonical
41
+ Spec bump in this release is limited to the additive enum and aggregate-read
42
+ fields described below.
43
+ - Adds standalone DSL and bundled Runner parity coverage plus PostgreSQL/MySQL
44
+ live proof under source-database and Runner-ledger receipt authority. The
45
+ proof excludes first-term-only, second-term-only, and wrong-tenant rows and
46
+ verifies exact receipt/replay membership.
47
+ - Adds a real stdio contract language server plus canonical `contract explain`
48
+ and deterministic text/JSON/SARIF lint for review before serving.
49
+ - Adds adopter-owned static/live contract tests with a public manifest schema,
50
+ generic operator-boundary checks, and disposable PostgreSQL/MySQL coverage.
51
+ - Adds tenant-scoped object/principal ledger reports in JSON, Markdown, and PDF
52
+ with redaction, canonical digests, optional operator signatures, and tamper
53
+ verification.
54
+ - Adds typed DSL enums and canonical fixed aggregate reads for COUNT/SUM/AVG.
55
+ Aggregate tools use trusted tenant scope, fixed equality selection, mandatory
56
+ minimum-group suppression, one scalar result, and evidence/query audit with
57
+ no member rows or IDs.
58
+ - Adds disabled-by-default graduated-trust recommendations. Evaluation uses
59
+ scoped human-reviewed outcomes, excludes auto-approval as independent
60
+ evidence, requires verified operator review, and exports a separate
61
+ digest-bound contract artifact without activating it.
62
+ - Proves additive Spec/DSL/Runner/C++ aggregate and enum parity, shared Postgres
63
+ recommendation durability, and transient PostgreSQL/MySQL timeout
64
+ classification.
65
+ - Stages `@synapsor/spec@1.4.1`, `@synapsor/dsl@1.4.2`, and
66
+ `@synapsor/runner@1.4.121`. Nothing is published by this change.
67
+
3
68
  ## 1.4.12 (prepared, not published)
4
69
 
5
70
  ### Runtime-store smoke-call consistency
package/README.md CHANGED
@@ -14,9 +14,8 @@ surface.
14
14
 
15
15
  ## Prove It In 60 Seconds
16
16
 
17
- The path is: **audit** your existing MCP risk, then **demo** the safety
18
- boundary, then **connect** a staging database. The first two commands finish in
19
- seconds and touch nothing but a local fixture file.
17
+ Path: **audit** MCP risk, **demo** the boundary, then **connect** staging. The
18
+ first two commands touch only a local fixture.
20
19
 
21
20
  First, inspect the risk in a typical raw-SQL database MCP server. This works
22
21
  even if you never adopt Runner:
@@ -25,18 +24,16 @@ even if you never adopt Runner:
25
24
  npx -y @synapsor/runner audit --example dangerous-db-mcp
26
25
  ```
27
26
 
28
- Then point the same static review at your own exported tool manifest, remote
29
- `tools/list` endpoint, or stdio MCP server:
27
+ Audit your own tool manifest, remote `tools/list`, or stdio server:
30
28
 
31
29
  ```bash
32
30
  npx -y @synapsor/runner audit ./tools-list.json
33
31
  ```
34
32
 
35
- The audit flags raw SQL, arbitrary table/column inputs, model-controlled tenant
36
- or principal authority, model-facing approval/writeback tools, and missing
37
- conflict or idempotency signals. It does not call business tools, and it is a
38
- risk review rather than proof that a server is secure. See [MCP Database Risk
39
- Review](docs/mcp-audit.md) for remote, stdio, JSON, and Markdown workflows.
33
+ It flags raw SQL, arbitrary identifiers, model-controlled authority,
34
+ model-facing approval/writeback, and missing conflict or idempotency signals.
35
+ It does not call business tools. See [MCP Database Risk
36
+ Review](docs/mcp-audit.md) for supported workflows and limits.
40
37
 
41
38
  Then see the proposal, approval boundary, evidence, and replay loop. It needs no
42
39
  database, Docker, config file, MCP client, or Synapsor account:
@@ -78,36 +75,25 @@ approval, apply, or revert tools. A human or trusted operator approves outside
78
75
  MCP, then Runner performs a guarded write or routes the proposal to an
79
76
  app-owned executor.
80
77
 
81
- The distinction is the complete boundary, not a read-only toggle or a generic
82
- approve/reject prompt:
83
-
84
- - reviewed contracts constrain tools, tenant context, visible and writable
85
- columns, numeric bounds, transitions, and approval requirements;
86
- - proposals separate model intent from commit authority, including aggregate
87
- auto-approval ceilings where configured;
88
- - evidence, query audit, idempotency receipts, and replay preserve what was
89
- inspected, requested, approved, and applied.
90
-
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.
78
+ Contracts constrain tools, trusted context, visible and writable columns,
79
+ bounds, transitions, and approvals. Proposals separate model intent from commit
80
+ authority; evidence, query audit, receipts, and replay preserve the reviewed
81
+ lifecycle. Runner does not make raw SQL tools, hosts, or
82
+ prompt-injection-prone clients safe.
94
83
 
95
84
  ## Why Not Just Use A Prompt And App Code?
96
85
 
97
- Prompt instructions can guide behavior, but prompt-only enforcement is not an
98
- authorization boundary. First ask who produces the SQL:
86
+ Prompts are not an authorization boundary. First ask who produces the SQL:
99
87
 
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.
88
+ - **The model produces SQL:** validation must understand arbitrary queries,
89
+ scope, and side effects. That is `execute_sql` behind a parser.
102
90
  - **Trusted app code produces fixed, parameterized SQL:** good. You have built
103
91
  a semantic tool, and that may be enough for a small read-only application.
104
92
 
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.
93
+ Runner adds one reviewed contract for trusted scope, field controls, evidence,
94
+ approval outside MCP, guarded writeback, receipts, replay, and compensation.
95
+ Use your own code when you do not need that lifecycle. See the [build-vs-adopt
96
+ guide](docs/why-synapsor-vs-app-guardrails.md).
111
97
 
112
98
  ## Connect A Staging Database
113
99
 
@@ -177,6 +163,23 @@ bounded inverse; `synapsor-runner revert <proposal_id>` creates a separately
177
163
  approved proposal. This is not rollback, time travel, or app-owned
178
164
  compensation.
179
165
 
166
+ ## Review And Prove Your Contract
167
+
168
+ Before serving a contract, use `contract explain` for a reviewer-readable
169
+ boundary, `contract lint --strict` for deterministic CI checks, and `contract
170
+ test` for adopter-owned allow/deny/redaction cases. The built-in language
171
+ server supplies diagnostics, completion, hover, and formatting for
172
+ `.synapsor.sql` and legacy `.synapsor` files. See [Contract
173
+ Review](docs/contract-review.md) and [Contract
174
+ Testing](docs/contract-testing.md).
175
+
176
+ Runner also supports reviewed [aggregate reads](docs/aggregate-reads.md),
177
+ tenant-scoped tamper-evident [ledger reports](docs/compliance-reports.md), and
178
+ opt-in [graduated-trust recommendations](docs/graduated-trust.md). Aggregate
179
+ tools return one scalar and no source rows. Graduated trust is disabled by
180
+ default, remains operator-only, and can export a reviewable artifact but never
181
+ activate it.
182
+
180
183
  ## Trust And Verification
181
184
 
182
185
  Start with the **[Threat Model](THREAT_MODEL.md)**. It defines protected assets,
@@ -185,9 +188,16 @@ trust boundaries, covered threats, non-goals, and required operator controls.
185
188
  - [Conformance fixtures](docs/conformance.md) prove trusted context, scoped
186
189
  reads, kept-out fields, proposal boundaries, approval, receipts, and replay
187
190
  behavior rather than only validating JSON shape.
191
+ - `contract test` lets adopters encode the same boundary checks for their own
192
+ synthetic fixtures; it never invokes an LLM and refuses remote live targets
193
+ by default.
188
194
  - MCP proposal, evidence, and replay handles are references rather than bearer
189
195
  authority: resource reads re-check the owning tenant and principal against
190
196
  the current trusted session.
197
+ - Same-tenant owner/assignee isolation uses a reviewed
198
+ [`PRINCIPAL SCOPE KEY`](docs/capability-authoring.md#same-tenant-principal-row-scope)
199
+ composed with mandatory tenant scope; `test:principal-scope` proves generic
200
+ cross-principal denial and evidence-handle isolation on Postgres and MySQL.
191
201
  - `test:live-apply`, `test:guarded-crud`, `test:bounded-set`, and
192
202
  `test:reversible` run disposable PostgreSQL/MySQL scenarios. They prove no
193
203
  pre-approval mutation, guarded single-row CRUD, idempotent retry,
@@ -204,30 +214,14 @@ See [Security Boundary](docs/security-boundary.md) and
204
214
 
205
215
  ## Operate The Approval Loop
206
216
 
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.
210
- Shared Postgres ledger mirror mode is available for bounded operator handoffs,
211
- and `storage.shared_postgres.mode = "runtime_store"` lets MCP serving use
212
- Postgres as the primary proposal/evidence/replay store with bounded CLI
213
- approval/apply/worker commands bridged through the same ledger. Local SQLite
214
- remains the default. See
215
- [Production](docs/production.md) and the
216
- [Runner Config Reference](docs/runner-config-reference.md).
217
-
218
- `smoke call` honors `runtime_store`: artifacts go to shared Postgres; failures
219
- never fall back to SQLite. `--store` is compatibility plumbing. Requires
220
- `1.4.12`+.
221
-
222
- For a small multi-tenant fleet, bind every capability context to verified HTTP
223
- claims, use `jwt_asymmetric` session auth, and share a bounded Postgres
224
- `runtime_store`. Never assume a global `http_claims` setting overrides an
225
- environment-bound contract context; Runner rejects that contradiction before
226
- serving tools. Load balancers should use dependency-free `/healthz` for
227
- liveness and `/readyz` for source/ledger/writeback readiness. The tested
228
- two-Runner topology, pool/rate-limit budgets, metrics, backup/restore,
229
- dead-letter, and rolling-upgrade rules are in
230
- [Running A Small Runner Fleet](docs/running-a-runner-fleet.md).
217
+ Policies combine per-proposal and daily ceilings; exceeding one routes to human
218
+ review. Operators get batch apply, metrics, structured logs, and optional
219
+ signed roles. Local SQLite is the default; bounded fleets can use verified HTTP
220
+ claims, asymmetric JWT sessions, and a shared Postgres `runtime_store`.
221
+ `smoke call` follows that store and never falls back to SQLite. Use `/healthz`
222
+ for liveness and `/readyz` for dependency readiness. See
223
+ [Production](docs/production.md), [Runner Config](docs/runner-config-reference.md),
224
+ and [Small Runner Fleets](docs/running-a-runner-fleet.md).
231
225
 
232
226
  ## Packages
233
227
 
@@ -236,6 +230,7 @@ dead-letter, and rolling-upgrade rules are in
236
230
  | `@synapsor/runner` | CLI, MCP runtime, local ledger, proposals, approval, guarded writeback, replay, and MCP audit. |
237
231
  | `@synapsor/spec` | Canonical portable contracts for contexts, capabilities, workflows, evidence, proposals, receipts, and replay. |
238
232
  | `@synapsor/dsl` | SQL-like authoring that compiles contexts, capabilities, and workflow declarations into canonical contract JSON. |
233
+ | `@synapsor/cli` | Synapsor Cloud administration, contract governance, human review, Runner connections, and shared audit records. |
239
234
 
240
235
  Runner executes locally. The spec is shared by Runner and Cloud/C++; the DSL
241
236
  is its reviewable source format. Start with [Capability
@@ -255,12 +250,20 @@ deployments: your database remains the source of truth and Runner stores review
255
250
  artifacts in the default local SQLite ledger or an opt-in shared Postgres
256
251
  runtime store.
257
252
  Synapsor Cloud adds a shared contract registry, immutable versions,
258
- downloadable Runner bundles, and team activity, evidence, and approval
259
- surfaces. See [OSS Runner vs Synapsor Cloud](docs/oss-vs-cloud.md) for the
260
- detailed boundary.
253
+ source-scoped Runner connections, downloadable bundles, a human approval
254
+ inbox, durable leased writeback jobs, and a redacted shared activity/receipt
255
+ chronology. Database credentials and guarded execution remain local. See [Cloud
256
+ Mode](docs/cloud-mode.md) for the design-partner path and [OSS Runner vs
257
+ Synapsor Cloud](docs/oss-vs-cloud.md) for the detailed boundary.
258
+
259
+ `synapsor-runner` owns the local MCP/database boundary. `synapsor` from
260
+ `@synapsor/cli` manages Cloud review and audit. Both Cloud push commands use
261
+ the same contract digest and scoped service-key API. See the [Cloud CLI
262
+ guide](https://github.com/Synapsor/Synapsor-Runner/blob/main/docs/cloud-cli.md).
261
263
 
262
264
  ## Next Steps
263
265
 
266
+ - Follow the [step-by-step Synapsor Tutorial](https://github.com/sandeshtiwari/Synapsor-Tutorial).
264
267
  - Run the [`support-plan-credit` flagship example](examples/support-plan-credit).
265
268
  - Connect [Claude, Cursor, OpenAI Agents SDK, or another MCP client](docs/mcp-clients.md).
266
269
  - Author and [push a validated contract to Cloud](docs/cloud-push.md).
package/THREAT_MODEL.md CHANGED
@@ -50,6 +50,12 @@ idempotency boundary for effects.
50
50
  - Model asks for arbitrary SQL: no generic SQL tool is exposed in the Synapsor path.
51
51
  - Model supplies `tenant_id`, `principal`, source id, allowed columns, row version, or approval identity: runner rejects trusted-binding overrides.
52
52
  - Prompt injection in database content asks the model to bypass policy: the runner ignores text as authority and only accepts structured capability/job state.
53
+ - Aggregate inference through a one-record group: reviewed aggregate tools
54
+ require minimum-group suppression and never return member rows or IDs. This
55
+ reduces, but does not eliminate, statistical inference risk.
56
+ - Policy self-expansion from favorable automated outcomes: graduated trust is
57
+ off by default, excludes auto-approvals from human evidence, requires a
58
+ verified operator decision, and exports without activation.
53
59
  - Wrong tenant or object: reads and writes include trusted primary-key and tenant predicates.
54
60
  - Disallowed field update: patch columns must be allowlisted.
55
61
  - Stale row: conflict guard mismatch returns `conflict` instead of silently writing.
package/dist/cli.d.ts CHANGED
@@ -14,6 +14,9 @@ export declare function runInitWizard(args: string[], options?: {
14
14
  stdout?: Pick<NodeJS.WriteStream, "write">;
15
15
  }): Promise<number>;
16
16
  export declare function resolveSqlWriteDatabaseUrl(job: WritebackJob, configPath: string, env: NodeJS.ProcessEnv): Promise<string>;
17
+ export declare function verifyLocalWritebackAuthority(job: WritebackJob, configPath: string, storePath?: string, options?: {
18
+ cloudApproved?: boolean;
19
+ }): Promise<void>;
17
20
  export declare function reconciliationSupportedOutcome(observation: ReconciliationObservation): "applied" | "conflict" | "failed";
18
21
  export declare function reconciliationReceipt(intent: StoredWritebackIntent, observation: ReconciliationObservation, outcome: "applied" | "conflict" | "failed", runnerId: string, reason: string): ExecutionReceiptV2 | ExecutionReceiptV3 | ExecutionReceiptV4;
19
22
  export {};
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;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,CA2YjB;AAqmGD,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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAYA,OAAO,EAAkU,KAAK,WAAW,EAA0H,MAAM,6BAA6B,CAAC;AAIvf,OAAO,EAkBL,KAAK,qBAAqB,EAK3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAgI,KAAK,kBAAkB,EAAE,KAAK,kBAAkB,EAAE,KAAK,kBAAkB,EAAqG,KAAK,YAAY,EAAwB,MAAM,2BAA2B,CAAC;AAEhY,OAAO,EAQL,KAAK,gBAAgB,EAEtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAWL,KAAK,yBAAyB,EAG/B,MAAM,8BAA8B,CAAC;AA8UtC,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgE1D;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,CA2YjB;AA4mHD,wBAAsB,0BAA0B,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAS/H;AAojBD,wBAAsB,6BAA6B,CACjD,GAAG,EAAE,YAAY,EACjB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAA;CAAO,GACxC,OAAO,CAAC,IAAI,CAAC,CAgGf;AA0lCD,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"}