@lenso/cli 0.3.0 → 0.4.0

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/README.md CHANGED
@@ -218,6 +218,36 @@ existing identity with `--identifier` or `--user-id`. Restart the Console API
218
218
  and Worker after bootstrapping. Business Service users and Auth state are never
219
219
  modified.
220
220
 
221
+ After upgrading the CLI, reconcile an existing Operator with the current
222
+ minimum scopes idempotently:
223
+
224
+ ```sh
225
+ lenso console operator configure \
226
+ --console-root ../lenso-console \
227
+ --identifier admin@example.com
228
+ ```
229
+
230
+ This preserves unrelated operators and explicit extra scopes while adding the
231
+ System read/connect, artifact reconciliation, Surface Gateway, Auth, and Story
232
+ capabilities required by the current Console workflow.
233
+
234
+ Apply prepared signed connection evidence through one public, idempotent CLI
235
+ entrypoint instead of a sequence of custom HTTP calls:
236
+
237
+ ```sh
238
+ LENSO_CONSOLE_TOKEN='<operator-session-token>' \
239
+ lenso console connect \
240
+ --console-url http://127.0.0.1:3030 \
241
+ --bundle .lenso/console-connect.json
242
+ ```
243
+
244
+ The `lenso.console-connect.v1` bundle contains signed enrollment receipts, an
245
+ optional exact `console_composition` artifact effect, and the digest-bound
246
+ System Connection request. The command reuses existing enrollments, reconciles
247
+ artifacts, connects the System, and fails unless Console returns `connected`.
248
+ Use `--token-file` with a private regular file for non-interactive operation;
249
+ tokens and signing material are never printed or stored in the bundle.
250
+
221
251
  The generated host depends on the crates.io `lenso` crate with the `host`
222
252
  feature, which is the current narrow host API for booting API, worker, and
223
253
  migration entrypoints. See
@@ -420,10 +450,34 @@ Workloads, move data, or change authority. Use `--repo-root` and
420
450
  `--modules-root` when the Module sources are not under the current repository's
421
451
  default `modules/` directory.
422
452
 
423
- Generated TS and Rust services also support `--check-release` to print the
424
- development module release descriptor before packaging.
425
- Before handing a service to another app or deployment pipeline, package-check
426
- the project and then emit a local service artifact:
453
+ Generated TypeScript services expose the current Provider contract directly:
454
+
455
+ ```sh
456
+ pnpm check
457
+ pnpm module:release > lenso.module-release.json
458
+ pnpm start
459
+ ```
460
+
461
+ `pnpm start` serves the exact `lenso.provider.v1` descriptor, invocation,
462
+ recovery, and acknowledgement endpoints. The descriptor digests are the same
463
+ ones emitted in `lenso.module-release.json`.
464
+
465
+ Install that release into the Host runtime inputs with the Provider URL, not
466
+ the legacy Service discovery URL:
467
+
468
+ ```sh
469
+ lenso module install ./lenso.module-release.json \
470
+ --base-url http://127.0.0.1:4100/lenso/provider/v1 \
471
+ --repo-root ../my-lenso-host
472
+ ```
473
+
474
+ This writes `lenso.modules.json`, `lenso.modules.lock.json`, the Module Planning
475
+ Context, and the local Service Installation Set consumed by Host startup. It
476
+ does not write `SERVICE_MODULES` or treat an old install ledger as runtime
477
+ truth.
478
+
479
+ Before handing a legacy Service manifest to another app or deployment
480
+ pipeline, package-check the project and emit a compatibility package:
427
481
 
428
482
  ```sh
429
483
  cd ../services/support-suite-provider
@@ -437,31 +491,29 @@ The package artifact contains the canonical `lenso.service.json`,
437
491
  `modules/<module>/lenso.module-release.json` file for each provided module.
438
492
  The service package records the provider name, version, and provided module
439
493
  names; each module release is the business-module install entrypoint.
440
- Operators can install a provider directly. For a local package artifact, still
441
- pass the runtime service base URL:
494
+ Compatibility packages remain available for older Service discovery consumers:
442
495
 
443
496
  ```sh
444
497
  lenso service install dist/lenso-service/support-suite-provider/lenso.service-package.json \
445
498
  --base-url http://127.0.0.1:4100/lenso/service/v1
446
499
  ```
447
500
 
448
- Install and manage a Module through the stable lifecycle commands:
501
+ Install current Provider Modules from an exact release. The endpoint must end
502
+ in `/lenso/provider/v1`:
449
503
 
450
504
  ```sh
451
- lenso module install dist/lenso-service/support-suite-provider/modules/support-ticket/lenso.module-release.json \
452
- --base-url http://127.0.0.1:4100/lenso/service/v1
453
- lenso module disable support-ticket
454
- lenso module remove support-ticket
455
- lenso module doctor support-ticket
505
+ lenso module install ./lenso.module-release.json \
506
+ --base-url http://127.0.0.1:4100/lenso/provider/v1
456
507
  ```
457
508
 
458
- `lenso.module-release.v1` is the module release channel. It records the module
459
- name, version, capabilities, source, and optional provider pointer. V11 keeps
460
- `lenso module install` as the unified business-capability entrypoint:
509
+ `lenso.module-release.v1` is the current Module release channel. It records a
510
+ fully qualified Module ID, canonical Manifest digest, exact delivery, governing
511
+ contract digests, and optional release-bound `console_ui_esm` artifact.
461
512
 
462
- - `source: service` resolves to a provider service package or service manifest.
463
- - `source: linked` enables linked Rust code in the host.
464
- - `source: bundled` enables a host-bundled module.
513
+ - Service delivery resolves to a locked Provider export and Service Installation.
514
+ - Linked delivery resolves to an immutable crate release and Host binding.
515
+ - A Console Surface exists only when the same exact release carries a
516
+ `console_ui_esm` artifact and Console has reconciled its receipt.
465
517
 
466
518
  `lenso service install` remains the lower-level provider/process command. It
467
519
  connects a service, but it does not mean every module inside that service is
@@ -490,24 +542,13 @@ longer copies packages into a Console checkout or maintains extension registries
490
542
  ## Install a module
491
543
 
492
544
  ```sh
493
- lenso module install auth
494
- lenso module install auth-password
495
- lenso module install auth-oidc
496
- lenso module install auth-device
545
+ lenso module install ./releases/auth/lenso.module-release.json
546
+ lenso module install ./releases/auth-password/lenso.module-release.json
497
547
  ```
498
548
 
499
- `module install` reads `source` from the module descriptor when one is present.
500
- When the reference is a module name, the CLI resolves it from the official
501
- catalog at `https://catalog.lenso.dev/v1/modules.json` unless `--catalog-url`
502
- points at another registry. If the primary official catalog endpoint is
503
- temporarily blocked by edge security, the CLI falls back to the official
504
- workers.dev mirror at `https://lenso-catalog.lenso.workers.dev/v1/modules.json`.
505
- For V5 service-backed modules, `module install <name>` is the business-capability
506
- entrypoint: the catalog resolves the provider service, installs it when needed,
507
- then enables the requested module.
508
- For module releases, `module install <module-release.json>` resolves the
509
- release by source, then records `moduleRelease` provenance in
510
- `.lenso/module-installs.json` where the source supports a receipt.
549
+ Prefer an exact Module Release reference. Name-based catalog entries are accepted
550
+ only as a compatibility path and may describe a legacy linked install; they do
551
+ not prove that a current Console Surface artifact exists.
511
552
 
512
553
  Install a service directly when you have a workspace service name or manifest
513
554
  reference:
@@ -525,12 +566,11 @@ also infer `--base-url`; package artifacts outside that workspace still need
525
566
  `--base-url` so the host records the runtime service endpoint rather than the
526
567
  file path.
527
568
 
528
- Service installs update `SERVICE_MODULES` and record `.lenso/module-installs.json`
529
- in one step. Console UI artifacts remain immutable members of their Module
530
- Release and are bound only by an applied Console Service Composition. Linked modules update the
531
- host `Cargo.toml`, `src/lib.rs`, `.env` toggle, and the same install receipt
532
- from the descriptor's `linked` section. `module add` remains a compatibility
533
- alias for service installs.
569
+ Exact Provider installs update the App Module lock and local Service
570
+ Installation Set in one step. Console UI artifacts remain immutable members of
571
+ their Module Release and are bound only by an applied Console composition.
572
+ Legacy linked descriptors still update host source and their compatibility
573
+ receipt, but that receipt is not an App Composition or a Surface grant.
534
574
 
535
575
  Legacy `lenso module install <manifest-url>` still works for one compatibility
536
576
  window, but prints a deprecation warning. Use `lenso service install <manifest>`
@@ -631,11 +671,9 @@ lenso service doctor billing --json
631
671
  lenso service check billing --json
632
672
  ```
633
673
 
634
- The doctor reads `SERVICE_MODULES`, `.lenso/module-installs.json`, and
635
- `.lenso/module-services.json`. It reports whether the service is
636
- installed, configured, whether an HTTP manifest is reachable, whether managed
637
- service `readyUrl` endpoints are ready, and which stale `.lock`/`.pid` files
638
- may be blocking a host-started service.
674
+ The legacy doctor still reports compatibility Service discovery state. For a
675
+ current Provider, verify `lenso.modules.lock.json`, the local Service
676
+ Installation Set, and the live `/lenso/provider/v1` descriptor at Host startup.
639
677
 
640
678
  Export declared service processes as a Compose fragment when handing the
641
679
  service to deployment tooling:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lenso/cli",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "Lenso command-line interface for scaffolding and operating Lenso backend projects.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/LioRael/lenso-cli",
Binary file
Binary file
Binary file
Binary file